Compare commits

...

121 commits

Author SHA1 Message Date
Michael Hanke
a7ef2e6b9f Add git-annex also to the rootless container (#24)
Same as 89f8aa0bf5, but for the rootless container.

Reviewed-on: https://codeberg.org/matrss/forgejo-aneksajo/pulls/24
Reviewed-by: matrss <matrss@noreply.codeberg.org>
Co-authored-by: Michael Hanke <michael.hanke@gmail.com>
Co-committed-by: Michael Hanke <michael.hanke@gmail.com>
2024-08-01 13:47:45 +02:00
Matthias Riße
dafd814f95 Git-annex web uploads (#21)
This implements support for uploading files into the annex using the web
interface.

If a repository is a git-annex-enabled repository all files will be
added to it using git annex add. This means that the repository's
configuration for what to put into the annex (annex.largefiles in
gitattributes) will be respected.

Plain git repositories without git-annex will work as before, directly
uploading to git.

Fixes #5.

Reviewed-on: https://codeberg.org/matrss/forgejo-aneksajo/pulls/21
Co-authored-by: Matthias Riße <m.risse@fz-juelich.de>
Co-committed-by: Matthias Riße <m.risse@fz-juelich.de>
2024-08-01 13:47:45 +02:00
Matthias Riße
233bc5dd8e Error if git-annex is enabled but missing (#16)
Copied from https://github.com/neuropoly/gitea/pull/47

This adds a check so that if `setting.Annex.Enabled` is true and git-annex is not in the PATH Forgejo will abort on startup with a reasonable error message.

Fixes #15.

Reviewed-on: https://codeberg.org/matrss/forgejo-aneksajo/pulls/16
Co-authored-by: Matthias Riße <m.risse@fz-juelich.de>
Co-committed-by: Matthias Riße <m.risse@fz-juelich.de>
2024-08-01 13:47:45 +02:00
Matthias Riße
03dba43b53 Add git-annex to docker image 2024-08-01 13:47:45 +02:00
Matthias Riße
82e9face2b Adapt patch to upstream changes
Test with different objectFormats.
2024-08-01 13:47:45 +02:00
Nick
9b4d4d9660 git-annex: views for annex files (#22)
This updates the repo index/file view endpoints so annex files match the way
LFS files are rendered, making annexed files accessible via the web instead of
being black boxes only accessible by git clone.

This mostly just duplicates the existing LFS logic. It doesn't try to combine itself
with the existing logic, to make merging with upstream easier. If upstream ever
decides to accept, I would like to try to merge the redundant logic.

The one bit that doesn't directly copy LFS is my choice to hide annex-symlinks.
LFS files are always _pointer files_ and therefore always render with the "file"
icon and no special label, but annex files come in two flavours: symlinks or
pointer files. I've conflated both kinds to try to give a consistent experience.

The tests in here ensure the correct download link (/media, from the last PR)
renders in both the toolbar and, if a binary file (like most annexed files will be),
in the main pane, but it also adds quite a bit of code to make sure text files
that happen to be annexed are dug out and rendered inline like LFS files are.
2024-08-01 13:47:45 +02:00
Matthias Riße
e2ec5d1d72 Adapt patch to upstream changes
Use tests.FileCmp instead of util.FileCmp.
2024-08-01 13:46:06 +02:00
Matthias Riße
4914ff90dc Adapt patch to upstream changes
Test with different objectFormats.
2024-08-01 13:46:06 +02:00
Nick
5edee7dc0c git-annex: make /media/ download annexed content (#20)
Previously, Gitea's LFS support allowed direct-downloads of LFS content,
via http://$HOSTNAME:$PORT/$USER/$REPO/media/branch/$BRANCH/$FILE
Expand that grace to git-annex too. Now /media should provide the
relevant *content* from the .git/annex/objects/ folder.

This adds tests too. And expands the tests to try symlink-based annexing,
since /media implicitly supports both that and pointer-file-based annexing.
2024-08-01 13:46:06 +02:00
Matthias Riße
9876b20c02 Adapt patch to upstream changes
The git repository must be closed after using it. Without this change
some tests started to fail due to the lingering repository running into
a timeout.
2024-08-01 13:46:06 +02:00
Nick
9f4422a776 git-annex: create modules/annex (#21)
This moves the `annexObjectPath()` helper out of the tests and into a
dedicated sub-package as `annex.ContentLocation()`, and expands it with
`.Pointer()` (which validates using `git annex examinekey`),
`.IsAnnexed()` and `.Content()` to make it a more useful module.

The tests retain their own wrapper version of `ContentLocation()`
because I tried to follow close to the API modules/lfs uses, which in
terms of abstract `git.Blob` and `git.TreeEntry` objects, not in terms
of `repoPath string`s which are more convenient for the tests.
2024-08-01 13:46:06 +02:00
Matthias Riße
ff241ac6b1 Adapt patch to upstream changes
The "context_service" import was changed to use the default name of just
"context". The patch set had to be adapted for that.
2024-08-01 13:46:06 +02:00
Matthias Riße
c13aec90ff Adapt patch to upstream changes
Usage of `path` was replaced by `path/filepath` in upstream forgejo, and
it made sense to use that as well where `path` was previously used. The
`setHeaderCacheForever` function and the `sendFile` method had their
signature changed.
2024-08-01 13:46:06 +02:00
Matthias Riße
50a3222355 Fix exit code check for git command
The err.IsExitCode method was changed to a function IsErrorExitCode
taking err as its first argument in
1e7a6483b8.
2024-08-01 13:46:06 +02:00
Matthias Riße
45e945ce8d Replace m.GetOptions with m.Methods
This applies the same changes that were done in
265cd70bdb to the git-annex specific
routes as well.
2024-08-01 13:46:06 +02:00
Nick
d57facfad9 git-annex: support downloading over HTTP (#6)
This makes HTTP symmetric with SSH clone URLs.

This gives us the fancy feature of _anonymous_ downloads,
so people can access datasets without having to set up an
account or manage ssh keys.

Previously, to access "open access" data shared this way,
users would need to:

  1. Create an account on gitea.example.com
  2. Create ssh keys
  3. Upload ssh keys (and make sure to find and upload the correct file)
  4. `git clone git@gitea.example.com:user/dataset.git`
  5. `cd dataset`
  6. `git annex get`

This cuts that down to just the last three steps:

  1. `git clone https://gitea.example.com/user/dataset.git`
  2. `cd dataset`
  3. `git annex get`

This is significantly simpler for downstream users, especially for those
unfamiliar with the command line.

Unfortunately there's no uploading. While git-annex supports uploading
over HTTP to S3 and some other special remotes, it seems to fail on a
_plain_ HTTP remote. See https://github.com/neuropoly/gitea/issues/7
and https://git-annex.branchable.com/forum/HTTP_uploads/#comment-ce28adc128fdefe4c4c49628174d9b92.

This is not a major loss since no one wants uploading to be anonymous anyway.

To support private repos, I had to hunt down and patch a secret extra security
corner that Gitea only applies to HTTP for some reason (services/auth/basic.go).

This was guided by https://git-annex.branchable.com/tips/setup_a_public_repository_on_a_web_site/

Fixes https://github.com/neuropoly/gitea/issues/3

Co-authored-by: Mathieu Guay-Paquet <mathieu.guaypaquet@polymtl.ca>
2024-08-01 13:46:06 +02:00
Nick
722889af28 git-annex: add configuration setting [annex].ENABLED (#18)
Fixes https://github.com/neuropoly/gitea/issues/8

Co-authored-by: Mathieu Guay-Paquet <mathieu.guaypaquet@gmail.com>
2024-08-01 13:46:06 +02:00
Matthias Riße
a699abed03 Fix failing tests
Multiple tests that worked fine on v1.20.4-1 started to fail after the
rebase onto v1.20.5-1. These tests are:
- TestGitAnnexPermissions/Private/Owner/HTTP/Init
- TestGitAnnexPermissions/Private/Owner/HTTP/Download
- TestGitAnnexPermissions/Private/Writer/HTTP/Init
- TestGitAnnexPermissions/Private/Writer/HTTP/Download
- TestGitAnnexPermissions/Private/Reader/HTTP/Init
- TestGitAnnexPermissions/Private/Reader/HTTP/Download

What these tests have in common is that they all operate on a private
repository via http with authentication.

They broke at some point between v1.20.4-1 and v1.20.5-1, so I did a
bisect between these two points running the offending tests. This
brought me to the conclusion that
ee48c0d5ea introduced the issue.

The thing is, this commit does not change any code, it only changes the
test environment. Among other things that didn't look as suspicious, it
changes the container image from a bespoke test_env image based on
debian bullseye to a node image based on debian bookworm. Obviously,
this means that there are many version differences between the two.

The first one I looked at was git. The previous bullseye image used a
manually installed git version 2.40.0, while the bookworm image has
2.39.2 installed. Updating git in the new image did not fix the issue,
however.

The next thing I looked at was the git-annex version. Bullseye had
8.20210223 installed and worked, while bookworm used 10.20230126 when
the tests broke. So I tried my luck upgrading to a more recent version
via neurodebian (10.20240227-1~ndall+1). This still worked fine on
bullseye and now also works fine on bookworm.

I have no idea why this specific version of git-annex broke the tests,
but at least there was a commit to pinpoint this to, which isn't always
the case with docker images silently changing beneath you...

Below are the versions as they are reported by git and git-annex:

bullseye (works):

    git version 2.30.2
    git-annex version: 8.20210223
    build flags: Assistant Webapp Pairing Inotify DBus DesktopNotify TorrentParser MagicMime Feeds Testsuite S3 WebDAV
    dependency versions: aws-0.22 bloomfilter-2.0.1.0 cryptonite-0.26 DAV-1.3.4 feed-1.3.0.1 ghc-8.8.4 http-client-0.6.4.1 persistent-sqlite-2.10.6.2 torrent-10000.1.1 uuid-1.3.13 yesod-1.6.1.0
    key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
    remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg hook external
    operating system: linux x86_64
    supported repository versions: 8
    upgrade supported from repository versions: 0 1 2 3 4 5 6 7

bullseye + git-annex from neurodebian (works):

    git version 2.30.2
    git-annex version: 10.20240227-1~ndall+1
    build flags: Assistant Webapp Pairing Inotify DBus DesktopNotify TorrentParser MagicMime Benchmark Feeds Testsuite S3 WebDAV
    dependency versions: aws-0.22.1 bloomfilter-2.0.1.0 cryptonite-0.29 DAV-1.3.4 feed-1.3.2.1 ghc-9.0.2 http-client-0.7.13.1 persistent-sqlite-2.13.1.0 torrent-10000.1.1 uuid-1.3.15 yesod-1.6.2.1
    key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
    remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg hook external
    operating system: linux x86_64
    supported repository versions: 8 9 10
    upgrade supported from repository versions: 0 1 2 3 4 5 6 7 8 9 10

bookworm (fails):

    git version 2.39.2
    git-annex version: 10.20230126
    build flags: Assistant Webapp Pairing Inotify DBus DesktopNotify TorrentParser MagicMime Benchmark Feeds Testsuite S3 WebDAV
    dependency versions: aws-0.22.1 bloomfilter-2.0.1.0 cryptonite-0.29 DAV-1.3.4 feed-1.3.2.1 ghc-9.0.2 http-client-0.7.13.1 persistent-sqlite-2.13.1.0 torrent-10000.1.1 uuid-1.3.15 yesod-1.6.2.1
    key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
    remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg hook external
    operating system: linux x86_64
    supported repository versions: 8 9 10
    upgrade supported from repository versions: 0 1 2 3 4 5 6 7 8 9 10

bookworm + git-annex from neurodebian (works):

    git version 2.39.2
    git-annex version: 10.20240227-1~ndall+1
    build flags: Assistant Webapp Pairing Inotify DBus DesktopNotify TorrentParser MagicMime Benchmark Feeds Testsuite S3 WebDAV
    dependency versions: aws-0.22.1 bloomfilter-2.0.1.0 cryptonite-0.29 DAV-1.3.4 feed-1.3.2.1 ghc-9.0.2 http-client-0.7.13.1 persistent-sqlite-2.13.1.0 torrent-10000.1.1 uuid-1.3.15 yesod-1.6.2.1
    key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
    remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg hook external
    operating system: linux x86_64
    supported repository versions: 8 9 10
    upgrade supported from repository versions: 0 1 2 3 4 5 6 7 8 9 10
2024-08-01 13:45:41 +02:00
Matthias Riße
7a90589427 Install git-annex in the testing workflow 2024-08-01 13:45:41 +02:00
Matthias Riße
49687010fa Adapt patch to upstream changes
A dead code check started to complain because FileCmp was only used in
tests. Moved the function to test_utils.
2024-08-01 13:45:41 +02:00
Matthias Riße
22d80e3c86 Adapt patch to upstream changes
Repository creation now expects an objectFormat to be specified for git.
2024-08-01 13:45:41 +02:00
Nick
041b3624f6 git-annex tests (#13)
Fixes https://github.com/neuropoly/gitea/issues/11

Tests:

* `git annex init`
* `git annex copy --from origin`
* `git annex copy --to origin`

over:

* ssh

for:

* the owner
* a collaborator
* a read-only collaborator
* a stranger

in a

* public repo
* private repo

And then confirms:

* Deletion of the remote repo (to ensure lockdown isn't messing with us: https://git-annex.branchable.com/internals/lockdown/#comment-0cc5225dc5abe8eddeb843bfd2fdc382)

------

To support all this:

* Add util.FileCmp()
* Patch withKeyFile() so it can be nested in other copies of itself

-------

Many thanks to Mathieu for giving style tips and catching several bugs,
including a subtle one in util.filecmp() which neutered it.

Co-authored-by: Mathieu Guay-Paquet <mathieu.guay-paquet@polymtl.ca>
2024-08-01 13:45:41 +02:00
Nick Guenther
18ab7d4546 git-annex support
[git-annex](https://git-annex.branchable.com/) is a more complicated cousin to
git-lfs, storing large files in an optional-download side content.  Unlike lfs,
it allows mixing and matching storage remotes, so the content remote(s) doesn't
need to be on the same server as the git remote, making it feasible to scatter
a collection across cloud storage, old harddrives, or anywhere else storage can
be scavenged.  Since this can get complicated, fast, it has a content-tracking
database (`git annex whereis`) to help find everything later.

The use-case we imagine for including it in Gitea is just the simple case, where
we're primarily emulating git-lfs: each repo has its large content at the same URL.

Our motivation is so we can self-host https://www.datalad.org/ datasets, which
currently are only hostable by fragilely scrounging together cloud storage --
and having to manage all the credentials associated with all the pieces -- or at
https://openneuro.org which is fragile in its own ways.

Supporting git-annex also allows multiple Gitea instance to be annex remotes for
each other, mirroring the content or otherwise collaborating the split up the
hosting costs.

Enabling
--------

TODO

HTTP
----

TODO

Permission Checking
-------------------

This tweaks the API in routers/private/serv.go to expose the calling user's
computed permission, instead of just returning HTTP 403.

This doesn't fit in super well. It's the opposite from how the git-lfs support is
done, where there's a complete list of possible subcommands and their matching
permission levels, and then the API compares the requested with the actual level
and returns HTTP 403 if the check fails.

But it's necessary. The main git-annex verbs, 'git-annex-shell configlist' and
'git-annex-shell p2pstdio' are both either read-only or read-write operations,
depending on the state on disk on either end of the connection and what the user
asked it to ask for, with no way to know before git-annex examines the situation.
So tell the level via GIT_ANNEX_READONLY and trust it to handle itself.

In the older Gogs version, the permission was directly read in cmd/serv.go:

```
mode, err = db.UserAccessMode(user.ID, repo)
```
- 966e925cf3/internal/cmd/serv.go (L334)

but in Gitea permission enforcement has been centralized in the API layer.
(perhaps so the cmd layer can avoid making direct DB connections?)

Deletion
--------

git-annex has this "lockdown" feature where it tries
really quite very hard to prevent you deleting its
data, to the point that even an rm -rf won't do it:
each file in annex/objects/ is nested inside a
folder with read-only permissions.

The recommended workaround is to run chmod -R +w when
you're sure you actually want to delete a repo. See
https://git-annex.branchable.com/internals/lockdown

So we edit util.RemoveAll() to do just that, so now
it's `chmod -R +w && rm -rf` instead of just `rm -rf`.
2024-08-01 13:45:41 +02:00
Matthias Riße
f3815e4e2b Fix name in package-lock.json
The frontend-checks job started failing because the declared name does
not match the repository name.
2024-08-01 13:45:40 +02:00
Earl Warren
4d2263e82e Merge pull request '[v8.0/forgejo] [UI] Show AGit label on merged PR' (#4732) from bp-v8.0/forgejo-358ec80 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4732
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-07-29 15:32:33 +00:00
Earl Warren
2f022232bb Merge pull request '[v8.0/forgejo] fix: never set to nil: poster of an issue or comment; assignee of a comment' (#4733) from bp-v8.0/forgejo-e6786db into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4733
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-29 15:32:10 +00:00
Earl Warren
0f853d1a93 fix: never set Poster or Assignee to nil
When a user is not found for whatever reason, it must be mapped to the
GhostUser.

Fixes: https://codeberg.org/forgejo/forgejo/issues/4718
(cherry picked from commit e6786db393)
2024-07-29 14:32:57 +00:00
Gusted
e30ca3a92c [UI] Show AGit label on merged PR
- The label wasn't show on merged PRs.
- Integration test added

(cherry picked from commit 358ec8002e)
2024-07-29 14:24:03 +00:00
Earl Warren
d09d633c9c Merge pull request '[v8.0/forgejo] Fix conversation template' (#4694) from bp-v8.0/forgejo-13cb4b3 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4694
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-25 21:25:01 +00:00
0ko
2e68922af9 fix(ui): fix conversation template
(cherry picked from commit 13cb4b3f2e)
2024-07-25 20:46:52 +00:00
Earl Warren
12e5d924b1 Merge pull request '[v8.0/forgejo] fix(api): issue state change is not idempotent' (#4689) from bp-v8.0/forgejo-e9e3b8c into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4689
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-25 15:08:58 +00:00
Earl Warren
533623b659 fix(api): issue state change is not idempotent
The PATCH if issue & pull request switched to use the service
functions instead. However, the service function changing the state is
not idempotent. Instead of doing nothing which changing from open to
open or close to close, it will fail with an error like:

 Issue [2472] 0 was already closed

Regression of: 6a4bc0289d

Fixes: https://codeberg.org/forgejo/forgejo/issues/4686
(cherry picked from commit e9e3b8c0f3)
2024-07-25 14:21:11 +00:00
forgejo-backport-action
887a914a7d [v8.0/forgejo] fix(ui): use right placeholder string in milestones search (#4682)
Backport of https://codeberg.org/forgejo/forgejo/pulls/4628.

This PR fixes a wrong placeholder for the search for milestones. I tested it locally (see attachments, below).

Before: https://codeberg.org/attachments/ba845ce1-1f20-4131-a74d-7220986a4acf
After: https://codeberg.org/attachments/0c4e32ee-b1a8-4472-837d-daa2a2a50121

Co-authored-by: Robert Wolff <mahlzahn@posteo.de>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4682
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>
2024-07-25 08:00:09 +00:00
Earl Warren
4819c83a5c Merge pull request '[v8.0/forgejo] [CHORE] Don't bundle elkjs' (#4680) from bp-v8.0/forgejo-510cbe2 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4680
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-25 05:57:21 +00:00
Gusted
e362e0813d [CHORE] Don't bundle elkjs
- `elkjs` is a library that's imported by `mermaid`, although they have
seperated this package to it's own mermaid
package (https://github.com/mermaid-js/mermaid/pull/5654), the stable
version doesn't have this patch.
- `elkjs` is licensed under the EPL-2.0 license (copyleft), which isn't
compatible with GPL unless the license author explcitly allow this via a
so called "secondary license". At the end of the day it cannot be
released under a MIT or GPL license.
- Use webpack's `externals` option to avoid bundling `elkjs` and instead
leave it as a `require` code.
- This is a 'dirty' way to ensure elkjs isn't bundled and has to be
tested manually to ensure this for every release (via the
`webpack-bundle-analyzer` plugin). If someone tries to use the elkjs
render, it will result in a non-descriptive error being shown.

(cherry picked from commit 510cbe2c92)
2024-07-25 00:20:31 +00:00
Earl Warren
c8b6e07840 Merge pull request '[v8.0/forgejo] Replace Gitea with Forgejo' (#4675) from bp-v8.0/forgejo-9ad23f9 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4675
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-24 23:18:29 +00:00
Earl Warren
d24cd80f7a Merge pull request '[v8.0/forgejo] [UI] Fix scoped-access-token' (#4672) from bp-v8.0/forgejo-aa5163d into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4672
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
2024-07-24 23:07:51 +00:00
yonas
bdc2041e92 Replace Gitea with Forgejo
(cherry picked from commit 9ad23f9ede)
2024-07-24 21:41:11 +00:00
Gusted
ed62409f63 [UI] Fix scoped-access-token
- Regression of #4571
- Refactor to not use the component API of Vue. The root cause is still
unknown.

(cherry picked from commit aa5163d5c4)
2024-07-24 21:36:12 +00:00
Earl Warren
1d230b0a31 Merge pull request '[v8.0/forgejo] [I18N] Translations update from Weblate' (#4661) from bp-v8.0/forgejo-7699d85 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4661
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-24 13:03:39 +00:00
Codeberg Translate
6108a979e5 [I18N] Translations update from Weblate (#4568)
Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

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

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

## Draft release notes
<!--URL:https://codeberg.org/forgejo/forgejo-->
- Localization
  - [PR](https://codeberg.org/forgejo/forgejo/pulls/4568)</a>: <!--number 4568 --><!--line 0 --><!--description W0kxOE5dIFRyYW5zbGF0aW9ucyB1cGRhdGUgZnJvbSBXZWJsYXRl-->[I18N] Translations update from Weblate<!--description-->
<!--end release-notes-assistant-->

Co-authored-by: earl-warren <earl-warren@users.noreply.translate.codeberg.org>
Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: mahlzahn <mahlzahn@posteo.de>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-authored-by: leana8959 <leana8959@users.noreply.translate.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Wuzzy <Wuzzy@users.noreply.translate.codeberg.org>
Co-authored-by: meskobalazs <meskobalazs@users.noreply.translate.codeberg.org>
Co-authored-by: Bálint Gonda <balinteus@gmail.com>
Co-authored-by: Beowulf <Beowulf@users.noreply.translate.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4568
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
(cherry picked from commit 7699d85f3b)
2024-07-24 12:05:57 +00:00
Earl Warren
4973f17c27 Merge pull request '[v8.0/forgejo] Reserve devtest username' (#4650) from gusted/v8-bp into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4650
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-24 05:43:19 +00:00
Ikuyo
32ebadccd1
[v8.0/forgejo] Reserve devtest username
**Backport: #4638**

This PR reserves the devtest username. This is because /devtest is used
for testing various elements and layouts of the UI, and creating a user
or organisation with that name may cause problems and conflicts if the
RUN_MODE is set to dev
2024-07-23 17:05:01 +02:00
Earl Warren
2d75f6f0d3 Merge pull request '[v8.0/forgejo] [I18N] Add common section to new translation files' (#4640) from bp-v8.0/forgejo-a67e420 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4640
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-23 05:49:55 +00:00
Gusted
db4285a56f [I18N] Add common section to new translation files
- Follow up for #4576
- Weblate currently cannot parse ini files if they contain keys that
don't belong to a section.

(cherry picked from commit a67e420c38)
2024-07-23 04:26:25 +00:00
forgejo-backport-action
1bbe885b1b [v8.0/forgejo] i18n: restore Malayalam and Serbian files, remove ml-IN from the language selector (#4627)
Backport of https://codeberg.org/forgejo/forgejo/pulls/4576

* Closes #4563
* A followup to my 2024-February investigation in the Localization room

* Restore Malayalam and Serbian locales that were deleted in 067b0c2664 and f91092453e. Bulgarian was also deleted, but we already have better Bulgarian translation.
* Remove ml-IN from the language selector. It was not usable for 1.5 years, has ~18% completion and was not maintained in those ~1.5 years. It could also have placeholder bugs due to refactors.

Restoring files gives the translators a base to work with and makes the project advertised on Weblate homepage for logged in users in the Suggestions tab. Unlike Gitea, we store our current translations directly in the repo and not on a separate platform, so it makes sense to add these files back.
Removing selector entry avoids bugs and user confusion. I will make a followup for the documentation.

Reviewed-on: #4576
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
(cherry picked from commit e819c1622e)

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4627
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>
2024-07-23 04:13:04 +00:00
Gusted
3962380a33 Merge pull request '[v8.0/forgejo] Don't panic on empty blockquote' (#4622) from gusted/forgejo-commit-panic-bp into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4622
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
2024-07-22 18:17:29 +00:00
Earl Warren
b4dacce654 Merge pull request '[v8.0/forgejo] fix(actions): no edited event triggered when a title is changed' (#4621) from bp-v8.0/forgejo-f6000c3 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4621
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-22 12:58:47 +00:00
Gusted
bb9dcec39c
[v8.0/forgejo] Don't panic on empty blockquote
- Backport #4602
- On a empty blockquote the callout feature would panic, as it expects
to always have at least one child.
- This panic cannot result in a DoS, because any panic that happens
while rendering any markdown input will be recovered gracefully.
- Adds a simple condition to avoid this panic.

(cherry picked from commit efd63ec1d8)
2024-07-22 14:17:50 +02:00
Twenty Panda
05787c3809 fix(actions): no edited event triggered when a title is changed
When the title of an issue or a pull request is changed, the edited
event must be triggered, in the same way it is when the body of the
description is changed.

The web endpoints and the API endpoints for both pull requests and
issues rely on issue_service.ChangeTitle which calls
notify_service.IssueChangeTitle.

(cherry picked from commit f6000c3760)
2024-07-22 11:46:50 +00:00
Earl Warren
c65534ce02 Merge pull request '[v8.0/forgejo] [BUG] Fix panic on too high page number' (#4606) from bp-v8.0/forgejo-6a49e3f into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4606
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-21 06:58:15 +00:00
Gusted
6837da596e [BUG] Fix panic on too high page number
- Fixes a panic where the file history router would panic if the page
number was set to a page where no commits would be returned. It now
returns a 404 in such case.
- Regresion of a5b1c1b0b3
- Panic log provided by @algernon.
- Minimal integration test added.

Co-authored-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit 6a49e3f468)
2024-07-21 06:00:22 +00:00
Gusted
f385c66a47 Merge pull request '[v8.0/forgejo] Remove APA as cite format' (#4601) from beowulf/v8.0/forgejo into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4601
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-07-20 18:08:16 +00:00
Beowulf
888250ea66
Remove APA as cite format
This removes APA as cite format, because it depends on an copyleft
dependency (https://github.com/Juris-M/citeproc-js).

(cherry picked from commit 7dc0b2bab6)
2024-07-20 17:58:56 +02:00
0ko
6c35127705 Merge pull request '[v8.0/forgejo] [UI] Replace vue-bar-graph with chart.js' (#4590) from gusted/forgejo-bp-licensed into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4590
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-20 13:27:40 +00:00
Gusted
a3fc16bb03
[UI] Replace vue-bar-graph with chart.js
- Backport of #4571
- The usage of the `vue-bar-graph` is complicated, because of the `GSAP`
dependency they pull in, the dependency uses a non-free license.
- The code is rewritten to use the `chart.js` library, which is already
used to draw other charts in the activity tab. Due to the limitation of
`chart.js`, we have to create a plugin in order to have images as labels
and do click handling for those images.
- The chart isn't the same as the previous one, once again simply due to
how `chart.js` works, the amount of commits isn't drawn anymore in the
bar, you instead have to hover over it or look at the y-axis.
- Resolves #4569

(cherry picked from commit a83002679d)
2024-07-20 14:42:14 +02:00
Earl Warren
57e69e56b4 Merge pull request '[v8.0/forgejo] [BUG] Add early-return to loading items from SpecList' (#4585) from bp-v8.0/forgejo-f7dac2c into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4585
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-20 08:30:09 +00:00
Gusted
358be0a8dd [BUG] Add early-return to loading items from SpecList
- Add an early-return to `LoadSchedules` and `LoadRepos` of the
`SpecList` type, @Beowulf noticed that useless queries were being run
every 30 seconds. These stemmed from these two functions being run even
if there were no scheduled actions.
- No tests were added, because there is zero testing infrastructure or
fixtures for the actions specifications models. I feel these are trivial
enough to not require any tests.

(cherry picked from commit f7dac2c3d9)
2024-07-20 07:41:26 +00:00
0ko
0ed8aa276d Merge pull request '[v8/forgejo] i18n: update of translations from Weblate' (#4565) from 0ko/forgejo:i18n-backport-20240718 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4565
Reviewed-by: twenty-panda <twenty-panda@noreply.codeberg.org>
2024-07-19 09:46:42 +00:00
Codeberg Translate
c21ca66867 [v8/forgejo] i18n: update of translations from Weblate
Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Co-authored-by: Wuzzy <Wuzzy@users.noreply.translate.codeberg.org>
Co-authored-by: earl-warren <earl-warren@users.noreply.translate.codeberg.org>
Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: manolosd <manolosd@users.noreply.translate.codeberg.org>
Co-authored-by: Nifou <Nifou@users.noreply.translate.codeberg.org>
Co-authored-by: kdh8219 <kdh8219@monamo.dev>
Co-authored-by: Kita Ikuyo <searinminecraft@courvix.com>
Co-authored-by: Anonymous <anonymous@users.noreply.translate.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: ch0ccyra1n <ch0ccyra1n@users.noreply.translate.codeberg.org>
Co-authored-by: mahlzahn <mahlzahn@users.noreply.translate.codeberg.org>
Co-authored-by: emansije <emansije@users.noreply.translate.codeberg.org>
Co-authored-by: Gusted <postmaster@gusted.xyz>
Co-authored-by: Xinayder <Xinayder@users.noreply.translate.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4451
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
(cherry picked from commit a9d32b588a)
2024-07-18 12:48:00 +05:00
0ko
f07d1aed2e [v7/v8] i18n(*): freeze translations of register_notify (#4562)
This string has been in v9 (c773ca37ad) and now includes a template for app name instead of hardcoded software name.
v7 and v8 do not expect this string to have any templates. Prevent breaking translations by backports by freezing translations of this string for v7 and v8.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4562
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-18 07:19:37 +00:00
Earl Warren
a31792b3d0 Merge pull request '[v8.0/forgejo] fix: label selector popup width (issue creation)' (#4561) from bp-v8.0/forgejo-b32a035 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4561
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-18 05:33:23 +00:00
Beowulf
767560dbef Fix label selector popup width (issue creation)
This aligns the popup width of the label selector during issue creation
to the width of the label selector in an already created issue.

(The inherited width from "ui form" is reset to prevent width: 100% on the
input element in the search box.)

(cherry picked from commit b32a03531c)
2024-07-18 04:35:34 +00:00
Earl Warren
b3f60875d2 Merge pull request '[v8.0/forgejo] fix: labels set during issue creation are not displayed' (#4547) from bp-v8.0/forgejo-3269583 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4547
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-17 13:33:23 +00:00
0ko
8b1027b9a9 ui: fix issue labels
(cherry picked from commit 326958316d)
2024-07-17 12:06:54 +00:00
Earl Warren
6bb8891067 Merge pull request '[v8.0/forgejo] Load attachments for /issues/comments/{id}' (#4529) from bp-v8.0/forgejo-fc4f914 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4529
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-16 15:05:54 +00:00
Gergely Nagy
dc075fc1c0 Load attachments for /issues/comments/{id}
The `/repos/{owner}/{repo}/issues/comments/{id}` API endpoint returns an
`assets` field, but the route handler did not load attachments, thus,
the field was never populated.

This patch fixes that, and adds a test to exercise it. The test fails
without the fix.

This addresses a bug discovered in Codeberg/Community#1607.

Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit fc4f914e71)
2024-07-16 12:45:20 +00:00
Earl Warren
3e7c4f7d76 Merge pull request '[v8.0/forgejo] fix(ci): use 512MB for elasticsearch instead of 32GB' (#4527) from bp-v8.0/forgejo-d1dadf4 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4527
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-16 12:44:04 +00:00
Earl Warren
cb656c3309 fix(ci): use 512MB for elasticsearch instead of 32GB
It can be observed that when elasticsearch runs in the CI the process
uses 32GB of resident memory.

Set Xmx and Xms to no more than the threshold that the JVM uses for
compressed object pointers (compressed oops); the exact threshold
varies but is near 32 GB. You can verify that you are under the
threshold by looking for a line in the logs like the following:

Refs: https://www.elastic.co/guide/en/elasticsearch/reference/7.5/docker.html
Refs: https://www.elastic.co/guide/en/elasticsearch/reference/7.5/heap-size.html
(cherry picked from commit d1dadf4e06)
2024-07-16 11:01:31 +00:00
Earl Warren
75808d5ba9 Merge pull request '[v8.0/forgejo] [port] Use old behavior for telegram webhook (gitea#31588)' (#4505) from bp-v8.0/forgejo-38dce65 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4505
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-14 22:50:02 +00:00
wxiaoguang
c12857d5dd Use old behavior for telegram webhook (#31588)
Fix #31182

(cherry picked from commit 43c63c33aea1b0725ed1fe7b4a55dd85050f0beb)
(cherry picked from commit 38dce65dc1)
2024-07-14 20:26:54 +00:00
Otto
4f97baaec3 Merge pull request '[v8.0/forgejo] Fix CI status link in dashboard' (#4501) from bp-v8.0/forgejo-1088c05 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4501
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2024-07-14 19:34:44 +00:00
Beowulf
d95ce0b6fb Fixed link to commit status and tooltip on dashboard
Regression introduced by 5a18b74632

(cherry picked from commit 1088c057e0)
2024-07-14 17:39:35 +00:00
Earl Warren
96d09860bd Merge pull request '[v8.0/forgejo] tests(e2e): only run one test, not all of them each time' (#4498) from bp-v8.0/forgejo-e3665c3 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4498
Reviewed-by: Otto <otto@codeberg.org>
2024-07-14 17:10:56 +00:00
Otto
9f7d1051a4 Merge pull request '[v8.0/forgejo] [UI] Remove unnecessary vertical space in empty labels list' (#4495) from bp-v8.0/forgejo-013b89e into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4495
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-by: Otto <otto@codeberg.org>
2024-07-14 16:17:09 +00:00
Earl Warren
f3c22b5be1 tests(e2e): only run one test, not all of them each time
(cherry picked from commit e3665c3042)
2024-07-14 15:32:18 +00:00
Gusted
5709359d55 [UI] Remove unnecessary vertical space in empty labels list
- Don't show the labels-list element, if no labels are selected.
- The labels-list was taking up vertical space, even if no labels were
selected which caused an inconsistency in how the sidebar looked.
- Adds integration test

(cherry picked from commit 013b89eb13)
2024-07-14 14:41:03 +00:00
Earl Warren
c5f84e4a93 Merge pull request '[v8.0/forgejo] Fix AGit pull request instructions' (#4479) from bp-v8.0/forgejo-0a5fa31 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4479
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-13 22:09:56 +00:00
Beowulf
cb297a6f6f Fix AGit checkout instruction
The checkout instruction for pull requests created with the AGit
workflow where incorrect.

(cherry picked from commit 0a5fa31edb)
2024-07-13 18:28:14 +00:00
Earl Warren
c304a16cf8 Merge pull request '[v8.0/forgejo] Fix: Name conan remote forgejo' (#4465) from bp-v8.0/forgejo-6efaf15 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4465
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
2024-07-12 14:44:04 +00:00
Kwonunn
47d6edab16 Fix: Name conan remote forgejo
(cherry picked from commit 6efaf155d9)
2024-07-12 13:28:33 +00:00
forgejo-backport-action
ab23e0159b [v8.0/forgejo] Improvements to English locale (#4460)
**Backport:** https://codeberg.org/forgejo/forgejo/pulls/4453

A few fixes and improvements.

Notable changes:

- `issues.ref_closing_from` now makes sense.
https://codeberg.org/attachments/c091cc42-f0bf-4a14-8e43-8c66ead5ef06

- `pulls.cmd_instruction_hint`: removed full stop.
https://codeberg.org/attachments/41fcf979-3a5b-48f8-9e60-bde0b06dd522

- `settings.wiki_rename_branch_main_desc`: fix based on change in stalled 3546 so the sentence makes sense.

- `find_file.go_to_file`: better describe what the button does
https://codeberg.org/attachments/e181e486-3376-446d-a994-bfe65c125a70

- `repos.unadopted.no_more`: it's also shown when there are no results, not when the server "ran out of results"
https://codeberg.org/attachments/9077cbc4-f9e7-4ee5-ad86-6cfff41fec37

- `security.txt`: rephrase to decrease brokenness of English.

- `translation_meta`: added a special string, can be used to trigger Weblate to create a PR, which is usable for debugging

Co-authors:
- https://codeberg.org/Cyborus
- https://codeberg.org/toolforger
- https://codeberg.org/woutput

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4460
Co-authored-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
Co-committed-by: forgejo-backport-action <forgejo-backport-action@noreply.codeberg.org>
2024-07-12 13:09:13 +00:00
Earl Warren
93e6b7c3f9 Merge pull request 'Lock file maintenance (v8.0/forgejo)' (#4446) from renovate/v8.0/forgejo-lock-file-maintenance into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4446
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-11 08:48:36 +00:00
Renovate Bot
e4c640a275 Lock file maintenance 2024-07-11 08:08:39 +00:00
Earl Warren
15606b1e1a Merge pull request '[v8.0/forgejo] i18n: update of translations from Weblate' (#4445) from bp-v8.0/forgejo-78c5e0b into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4445
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-11 07:53:52 +00:00
Codeberg Translate
6f7c191c70 i18n: update of translations from Weblate (#4330)
Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

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

Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: leana8959 <leana8959@users.noreply.translate.codeberg.org>
Co-authored-by: emansije <emansije@users.noreply.translate.codeberg.org>
Co-authored-by: Salif Mehmed <mail@salif.eu>
Co-authored-by: Zughy <Zughy@users.noreply.translate.codeberg.org>
Co-authored-by: EssGeeEich <EssGeeEich@users.noreply.translate.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4330
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
(cherry picked from commit 78c5e0b56c)
2024-07-11 06:38:53 +00:00
Earl Warren
b755fe8473 Merge pull request '[v8.0/forgejo] Improve button gap consistency in repos' (#4397) from bp-v8.0/forgejo-c19222b into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4397
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-10 05:22:24 +00:00
Earl Warren
4493d0dbb4 Merge pull request '[v8.0/forgejo] [accessibility] Anchor elements' missing href added' (#4423) from bp-v8.0/forgejo-0996828 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4423
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-09 12:25:05 +00:00
Earl Warren
2339bfa0a0 Merge pull request '[v8.0/forgejo] Fix branch selector in commit graph' (#4413) from bp-v8.0/forgejo-11ff38d into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4413
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Beowulf <beowulf@noreply.codeberg.org>
2024-07-09 12:08:49 +00:00
Earl Warren
ea9d80ed36 Merge pull request '[v8.0/forgejo] tests: run JavaScript tests when web_src/js is modified' (#4426) from bp-v8.0/forgejo-a6a64f1 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4426
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-08 19:35:10 +00:00
Earl Warren
562b6b605e tests: run JavaScript tests when web_src/js is modified
otherwise they are not useful

(cherry picked from commit a6a64f1fdc)
2024-07-08 18:58:33 +00:00
0ko
c521e46d24 Merge pull request '[v8.0/forgejo] [BUG] Fix mobile UI for organisation creation' (#4402) from bp-v8.0/forgejo-610487e into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4402
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
2024-07-08 18:40:57 +00:00
banaanihillo
9024b98b3f accessibility: anchor elements' missing href added (#4375)
Add an empty hash `href="#"` attribute to anchors that did not yet have any `href` attribute, as a quick work-around to make those elements possible to interact with via keyboard. See discussion on linked issue (https://codeberg.org/forgejo/forgejo/issues/4273) for more information on how the button-like elements like this could eventually be improved even more.

Fixes https://codeberg.org/forgejo/forgejo/issues/4273.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4375
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: banaanihillo <banaanihillo@noreply.codeberg.org>
Co-committed-by: banaanihillo <banaanihillo@noreply.codeberg.org>
(cherry picked from commit 099682892b)
2024-07-08 17:37:42 +00:00
Beowulf
3fdf2e691c fix branch selector in commit graph
Regression from 5ef80ceb64

(cherry picked from commit 11ff38dd40)
2024-07-08 11:22:31 +00:00
Gusted
0700dde04e [BUG] Fix mobile UI for organisation creation
- Don't make checkpoints or radio inputs full width on a small screen,
these obviously shouldn't try to take up the whole width of a container.
- Wrap the label for organisation permission box inside a `<span
class="inline field">`, so it gets a left-margin from the `.inline.field
> :first-child` selector. This make the checkboxes and radio buttons
groups look indented from the left.
- Resolves #4361

(cherry picked from commit 610487eb83)
2024-07-07 19:32:50 +00:00
0ko
64462a6980 ui: improve button gap consistency in repos (#4365)
Improve UI in a few areas in a similar way to dc0d3a40ab. Ensure consistent 0.5em gaps in button rows, make buttons have more consistent horizontal paddings for better clickability.

Preview:
https://codeberg.org/attachments/cfca200a-3b68-4ba8-9876-75cea7822a00
https://codeberg.org/attachments/aaa5d387-919b-45af-8854-6d0f5273125f
https://codeberg.org/attachments/989225b7-b1dd-491d-bf76-7e4a962ea54e

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4365
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
(cherry picked from commit c19222b22f)
2024-07-07 15:29:50 +00:00
Earl Warren
be45927559 Merge pull request '[v8.0/forgejo] [BUG] Use correct SHA in GetCommitPullRequest' (#4380) from bp-v8.0/forgejo-a8460bb into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4380
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-06 21:56:18 +00:00
Gusted
4f3726ed13 [BUG] Use correct SHA in GetCommitPullRequest
- The param wasn't `sha`, it was `ref`. Use this instead.
- Adds new integration tests.
- Resolves #4190
- Resolves #4025

(cherry picked from commit a8460bb132)
2024-07-06 21:00:38 +00:00
Earl Warren
e269d405d0 Merge pull request '[v8.0/forgejo] Fixes an visual bug where the info box to dispatch a workflow is shown even for users that lack permissions to actualy run the workflow.' (#4364) from bp-v8.0/forgejo-98c8d45 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4364
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-06 06:21:56 +00:00
Mai-Lapyst
57c6c9ca9c Fixes an visual bug where the info box to dispatch a workflow is shown even for users that lack permissions to actualy run the workflow. (#4305)
Example: Visit https://v8.next.forgejo.org/Mai-Lapyst/test/actions?workflow=dispatch.yaml&actor=0&status=0 without being logged in.

![image](/attachments/98e74104-4d60-4f7f-b17c-7e76467cd397)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4305
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
Co-committed-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
(cherry picked from commit 98c8d45f0b)
2024-07-06 05:36:21 +00:00
Earl Warren
4a019ce450 Merge pull request 'Lock file maintenance (v8.0/forgejo)' (#4346) from renovate/v8.0/forgejo-lock-file-maintenance into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4346
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
2024-07-05 13:58:32 +00:00
Renovate Bot
d9b6adffc5 Lock file maintenance 2024-07-05 11:01:38 +00:00
Earl Warren
e4d1b465ea Merge pull request '[v8.0/forgejo] test: issue sidebar testing using playwright' (#4336) from bp-v8.0/forgejo-fafc4f6 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4336
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-05 06:16:39 +00:00
forgejo-backport-action
41763bbb06 [v8.0/forgejo] ui(blame): remove broken padding
Backport: https://codeberg.org/forgejo/forgejo/pulls/4318.

This padding causes visual bug, because it only applies to the first line and not to the rest in case the line is broken into multiple.
I don't think it's actually needed here for good look, so I decided to remove it. In case decreased padding looks worse, the padding can be grown back via other element so it wouldn't cause this bug.

Preview: https://codeberg.org/attachments/56fd2ee8-4955-409d-998f-1feba987b9af.

Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4321
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>
2024-07-05 05:49:10 +00:00
Otto Richter
31ad8ea2da test: issue sidebar testing using playwright (#4319)
Conclusion of https://codeberg.org/forgejo/forgejo/issues/3499

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4319
Co-authored-by: Otto Richter <git@otto.splvs.net>
Co-committed-by: Otto Richter <git@otto.splvs.net>
(cherry picked from commit fafc4f6ad9)
2024-07-05 05:06:15 +00:00
Earl Warren
c19a9a4eda Merge pull request '[v8.0/forgejo] build(go-licenses): support go toolchain mismatch' (#4325) from bp-v8.0/forgejo-b31e21d into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4325
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-04 15:39:09 +00:00
Michael Kriese
dfef354f77 build(go-licenses): support go toolchain mismatch
(cherry picked from commit b31e21d80e)
2024-07-04 14:16:27 +00:00
Earl Warren
ad66926396 Merge pull request '[v8.0/forgejo] fix(hook): ignore unknown push options instead of failing' (#4288) from bp-v8.0/forgejo-5561e80 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4288
2024-07-04 10:23:41 +00:00
Earl Warren
a6b789b2b1 Merge pull request '[v8.0/forgejo] [I18N] Translations update from Weblate' (#4316) from bp-v8.0/forgejo-2a643d2 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4316
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-04 08:05:35 +00:00
Codeberg Translate
33aff7f085 [I18N] Translations update from Weblate (#4251)
Translations update from [Weblate](https://translate.codeberg.org) for [Forgejo/forgejo](https://translate.codeberg.org/projects/forgejo/forgejo/).

Current translation status:

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

Co-authored-by: 0ko <0ko@users.noreply.translate.codeberg.org>
Co-authored-by: Panagiotis \"Ivory\" Vasilopoulos <git@n0toose.net>
Co-authored-by: ZDev <ZDev@users.noreply.translate.codeberg.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Wuzzy <Wuzzy@users.noreply.translate.codeberg.org>
Co-authored-by: fnetX <otto@codeberg.org>
Co-authored-by: hankskyjames777 <hankskyjames777@users.noreply.translate.codeberg.org>
Co-authored-by: Kita Ikuyo <searinminecraft@courvix.com>
Co-authored-by: Marco Ciampa <ciampix@users.noreply.translate.codeberg.org>
Co-authored-by: kdh8219 <kdh8219@monamo.dev>
Co-authored-by: emansije <emansije@users.noreply.translate.codeberg.org>
Co-authored-by: b1nar10 <b1nar10@users.noreply.translate.codeberg.org>
Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Co-authored-by: revi <revi@omglol.email>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4251
Co-authored-by: Codeberg Translate <translate@noreply.codeberg.org>
Co-committed-by: Codeberg Translate <translate@noreply.codeberg.org>
(cherry picked from commit 2a643d2136)
2024-07-04 06:45:11 +00:00
Earl Warren
51363f383d Merge pull request '[v8.0/forgejo] test(js): false negative in sleep test' (#4307) from bp-v8.0/forgejo-a0d9d8d into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4307
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-03 18:36:22 +00:00
Earl Warren
15118b7141 Merge pull request '[v8.0/forgejo] fix(ci): do not block pull request CI when go-versions lags behind' (#4306) from bp-v8.0/forgejo-ee7f568 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4306
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-03 18:23:30 +00:00
Earl Warren
9230d787ff test(js): false negative in sleep test
It is entirely possible that the difference between the specified
sleep time and the actual sleep time is greater than 15 seconds.

https://developer.mozilla.org/en-US/docs/Web/API/setTimeout#Notes

> Note that in either case, the actual delay may be longer than
> intended; see Reasons for delays longer than specified below.

It is however an error for the delay to be shorter.

⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯
 FAIL  web_src/js/utils.test.js > sleep
AssertionError: expected false to be truthy
 ❯ testSleep web_src/js/utils.test.js:192:48
    190|   const endTime = Date.now();    // Record the end time
    191|   const actualSleepTime = endTime - startTime;
    192|   expect(Math.abs(actualSleepTime - ms) <= 15).toBeTruthy();
       |                                                ^
    193| }
    194|
 ❯ web_src/js/utils.test.js:184:3

(cherry picked from commit a0d9d8d576)
2024-07-03 17:16:54 +00:00
Earl Warren
9128268f29 fix(ci): do not block pull request CI when go-versions lags behind
When a new go version is published, it takes about 24h for
https://github.com/actions/go-versions to be updated (see
https://github.com/actions/go-versions/pull/102 for example).

In the meantime the setup-go action that depends on it will install a
version of go that fails golang.org/x/vuln/cmd/govulncheck.

Move the security check to be the last step of the test job instead of
the first. It will still block the PRs from being merged but it will
allow the PR authors to keep working and look at the test results in
the meantime.

Fixes: https://codeberg.org/forgejo/forgejo/issues/4294
(cherry picked from commit ee7f568aed)
2024-07-03 17:13:54 +00:00
Earl Warren
8fec0822e4 Merge pull request '[v8.0/forgejo] Update dependency go to v1.22.5' (#4304) from bp-v8.0/forgejo-fa1a853 into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4304
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-03 16:31:23 +00:00
Renovate Bot
0a31d942a5 Update dependency go to v1.22.5
(cherry picked from commit fa1a853db0)
2024-07-03 14:58:30 +00:00
Twenty Panda
0d09acf669 fix(hook): ignore unknown push options instead of failing
If a repository has

git config --add push.pushOption submit=".sourcehut/*.yml"

it failed when pushed because of the unknown submit push
option. It will be ignored instead.

Filtering out the push options is done in an earlier stage, when the
hook command runs, before it submits the options map to the private
endpoint.

* move all the push options logic to modules/git/pushoptions
* add 100% test coverage for modules/git/pushoptions

Test coverage for the code paths from which code was moved to the
modules/git/pushoptions package:

* cmd/hook.go:runHookPreReceive
* routers/private/hook_pre_receive.go:validatePushOptions
  tests/integration/git_push_test.go:TestOptionsGitPush runs through
  both. The test verifying the option is rejected was removed and, if
  added again, will fail because the option is now ignored instead of
  being rejected.

* cmd/hook.go:runHookProcReceive
* services/agit/agit.go:ProcReceive
  tests/integration/git_test.go: doCreateAgitFlowPull runs through
  both. It uses variations of AGit related push options.

* cmd/hook.go:runHookPostReceive
* routers/private/hook_post_receive.go:HookPostReceive
  tests/integration/git_test.go:doPushCreate called by TestGit/HTTP/sha1/PushCreate
  runs through both.
  Note that although it provides coverage for this code path it does not use push options.

Fixes: https://codeberg.org/forgejo/forgejo/issues/3651
(cherry picked from commit 5561e80b04)
2024-07-02 20:18:33 +00:00
Earl Warren
c290a40063 Merge pull request '[v8.0/forgejo] [gitea] week 2024-27 cherry pick (gitea/main -> forgejo)' (#4283) from bp-v8.0/forgejo-a2426e2-45181ee-9d1c72a into v8.0/forgejo
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4283
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
2024-07-02 09:38:39 +00:00
Earl Warren
d02592c622 docs(release-notes): week 2024-27 cherry pick
(cherry picked from commit a2426e2f90)
2024-07-02 09:02:33 +00:00
Royce Remer
45deb8bdca Support legacy _links LFS batch responses (#31513)
Support legacy _links LFS batch response.

Fixes #31512.

This is backwards-compatible change to the LFS client so that, upon
mirroring from an upstream which has a batch api, it can download
objects whether the responses contain the `_links` field or its
successor the `actions` field. When Gitea must fallback to the legacy
`_links` field a logline is emitted at INFO level which looks like this:
```
...s/lfs/http_client.go:188:performOperation() [I] <LFSPointer ee95d0a27ccdfc7c12516d4f80dcf144a5eaf10d0461d282a7206390635cdbee:160> is using a deprecated batch schema response!
```

I've only run `test-backend` with this code, but added a new test to
cover this case. Additionally I have a fork with this change deployed
which I've confirmed syncs LFS from Gitea<-Artifactory (which has legacy
`_links`) as well as from Gitea<-Gitea (which has the modern `actions`).

Signed-off-by: Royce Remer <royceremer@gmail.com>
(cherry picked from commit df805d6ed0458dbec258d115238fde794ed4d0ce)
(cherry picked from commit 45181ee945)
2024-07-02 09:02:33 +00:00
kiatt210
654345af9c Fix web notification icon not updated once you read all notifications (#31447)
Fix #29065
Remove status filtering from GetUIDsAndNotificationCounts sql.

---------

Co-authored-by: kiatt210 <kiatt210@github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit 6a96deb5898745d957ffd7860b2b6821c673e907)
(cherry picked from commit 9d1c72ae7c)
2024-07-02 09:02:32 +00:00
163 changed files with 6504 additions and 1297 deletions

View file

@ -4,8 +4,10 @@ on:
pull_request:
paths:
- Makefile
- playwright.config.js
- .forgejo/workflows/e2e.yml
- tests/e2e/**
- web_src/js/**
jobs:
test-e2e:

View file

@ -25,7 +25,7 @@ jobs:
go-version: "1.22"
check-latest: true
- run: make deps-backend deps-tools
- run: make --always-make -j$(nproc) lint-backend checks-backend # ensure the "go-licenses" make target runs
- run: make --always-make -j$(nproc) lint-backend tidy-check swagger-check fmt-check swagger-validate # ensure the "go-licenses" make target runs
frontend-checks:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker
@ -49,6 +49,7 @@ jobs:
image: elasticsearch:7.17.22
env:
discovery.type: single-node
ES_JAVA_OPTS: "-Xms512m -Xmx512m"
minio:
image: bitnami/minio:2024.3.30
options: >-
@ -168,6 +169,10 @@ jobs:
apt-get install --no-install-recommends -qq -y git git-lfs
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
wget -O- http://neuro.debian.net/lists/bookworm.de-fzj.libre | tee /etc/apt/sources.list.d/neurodebian.sources.list
apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com 0xA5D32F012649A5A9
apt-get update -qq
apt-get install --no-install-recommends -qq -y git-annex-standalone
- name: setup user and permissions
run: |
git config --add safe.directory '*'
@ -217,6 +222,10 @@ jobs:
apt-get install --no-install-recommends -qq -y git git-lfs
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
wget -O- http://neuro.debian.net/lists/bookworm.de-fzj.libre | tee /etc/apt/sources.list.d/neurodebian.sources.list
apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com 0xA5D32F012649A5A9
apt-get update -qq
apt-get install --no-install-recommends -qq -y git-annex-standalone
- name: setup user and permissions
run: |
git config --add safe.directory '*'
@ -255,6 +264,10 @@ jobs:
apt-get install --no-install-recommends -qq -y git git-lfs
rm /etc/apt/sources.list.d/testing.list
apt-get update -qq
wget -O- http://neuro.debian.net/lists/bookworm.de-fzj.libre | tee /etc/apt/sources.list.d/neurodebian.sources.list
apt-key adv --recv-keys --keyserver hkps://keyserver.ubuntu.com 0xA5D32F012649A5A9
apt-get update -qq
apt-get install --no-install-recommends -qq -y git-annex-standalone
- name: setup user and permissions
run: |
git config --add safe.directory '*'
@ -274,3 +287,22 @@ jobs:
RACE_ENABLED: true
TEST_TAGS: sqlite sqlite_unlock_notify
USE_REPO_TEST_DIR: 1
security-check:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker
needs:
- test-sqlite
- test-pgsql
- test-mysql
- test-remote-cacher
- test-unit
container:
image: 'docker.io/node:20-bookworm'
steps:
- uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4
with:
go-version: "1.22"
check-latest: true
- run: make deps-backend deps-tools
- run: make security-check

View file

@ -78,6 +78,7 @@ RUN apk --no-cache add \
sqlite \
su-exec \
gnupg \
git-annex \
&& rm -rf /var/cache/apk/*
RUN addgroup \

View file

@ -71,6 +71,7 @@ RUN apk --no-cache add \
git \
curl \
gnupg \
git-annex \
&& rm -rf /var/cache/apk/*
RUN addgroup \

View file

@ -8,7 +8,7 @@ self := $(location)
@tmpdir=`mktemp --tmpdir -d` ; \
echo Using temporary directory $$tmpdir for test repositories ; \
USE_REPO_TEST_DIR= $(MAKE) -f $(self) --no-print-directory REPO_TEST_DIR=$$tmpdir/ $@ ; \
STATUS=$$? ; rm -r "$$tmpdir" ; exit $$STATUS
STATUS=$$? ; chmod -R +w "$$tmpdir" && rm -r "$$tmpdir" ; exit $$STATUS
else
@ -581,7 +581,7 @@ tidy-check: tidy
go-licenses: $(GO_LICENSE_FILE)
$(GO_LICENSE_FILE): go.mod go.sum
-$(GO) run $(GO_LICENSES_PACKAGE) save . --force --save_path=$(GO_LICENSE_TMP_DIR) 2>/dev/null
-$(shell $(GO) env GOROOT)/bin/go run $(GO_LICENSES_PACKAGE) save . --force --save_path=$(GO_LICENSE_TMP_DIR) 2>/dev/null
$(GO) run build/generate-go-licenses.go $(GO_LICENSE_TMP_DIR) $(GO_LICENSE_FILE)
@rm -rf $(GO_LICENSE_TMP_DIR)

View file

@ -15,6 +15,7 @@ import (
"time"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/git/pushoptions"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/private"
repo_module "code.gitea.io/gitea/modules/repository"
@ -192,7 +193,7 @@ Forgejo or set your environment appropriately.`, "")
GitAlternativeObjectDirectories: os.Getenv(private.GitAlternativeObjectDirectories),
GitObjectDirectory: os.Getenv(private.GitObjectDirectory),
GitQuarantinePath: os.Getenv(private.GitQuarantinePath),
GitPushOptions: pushOptions(),
GitPushOptions: pushoptions.New().ReadEnv().Map(),
PullRequestID: prID,
DeployKeyID: deployKeyID,
ActionPerm: int(actionPerm),
@ -375,7 +376,7 @@ Forgejo or set your environment appropriately.`, "")
GitAlternativeObjectDirectories: os.Getenv(private.GitAlternativeObjectDirectories),
GitObjectDirectory: os.Getenv(private.GitObjectDirectory),
GitQuarantinePath: os.Getenv(private.GitQuarantinePath),
GitPushOptions: pushOptions(),
GitPushOptions: pushoptions.New().ReadEnv().Map(),
PullRequestID: prID,
PushTrigger: repo_module.PushTrigger(os.Getenv(repo_module.EnvPushTrigger)),
}
@ -488,21 +489,6 @@ func hookPrintResults(results []private.HookPostReceiveBranchResult) {
}
}
func pushOptions() map[string]string {
opts := make(map[string]string)
if pushCount, err := strconv.Atoi(os.Getenv(private.GitPushOptionCount)); err == nil {
for idx := 0; idx < pushCount; idx++ {
opt := os.Getenv(fmt.Sprintf("GIT_PUSH_OPTION_%d", idx))
key, value, found := strings.Cut(opt, "=")
if !found {
value = "true"
}
opts[key] = value
}
}
return opts
}
func runHookProcReceive(c *cli.Context) error {
ctx, cancel := installSignals()
defer cancel()
@ -627,6 +613,7 @@ Forgejo or set your environment appropriately.`, "")
hookOptions.GitPushOptions = make(map[string]string)
if hasPushOptions {
pushOptions := pushoptions.NewFromMap(&hookOptions.GitPushOptions)
for {
rs, err = readPktLine(ctx, reader, pktLineTypeUnknown)
if err != nil {
@ -636,12 +623,7 @@ Forgejo or set your environment appropriately.`, "")
if rs.Type == pktLineTypeFlush {
break
}
key, value, found := strings.Cut(string(rs.Data), "=")
if !found {
value = "true"
}
hookOptions.GitPushOptions[key] = value
pushOptions.Parse(string(rs.Data))
}
}

View file

@ -15,7 +15,6 @@ import (
"testing"
"time"
"code.gitea.io/gitea/modules/private"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/test"
@ -164,20 +163,6 @@ func TestDelayWriter(t *testing.T) {
})
}
func TestPushOptions(t *testing.T) {
require.NoError(t, os.Setenv(private.GitPushOptionCount, "3"))
require.NoError(t, os.Setenv("GIT_PUSH_OPTION_0", "force-push"))
require.NoError(t, os.Setenv("GIT_PUSH_OPTION_1", "option=value"))
require.NoError(t, os.Setenv("GIT_PUSH_OPTION_2", "option-double=another=value"))
require.NoError(t, os.Setenv("GIT_PUSH_OPTION_3", "not=valid"))
assert.Equal(t, map[string]string{
"force-push": "true",
"option": "value",
"option-double": "another=value",
}, pushOptions())
}
func TestRunHookUpdate(t *testing.T) {
app := cli.NewApp()
app.Commands = []*cli.Command{subcmdHookUpdate}

View file

@ -38,6 +38,7 @@ import (
const (
lfsAuthenticateVerb = "git-lfs-authenticate"
gitAnnexShellVerb = "git-annex-shell"
)
// CmdServ represents the available serv sub-command.
@ -79,6 +80,7 @@ var (
"git-upload-archive": perm.AccessModeRead,
"git-receive-pack": perm.AccessModeWrite,
lfsAuthenticateVerb: perm.AccessModeNone,
gitAnnexShellVerb: perm.AccessModeNone, // annex permissions are enforced by GIT_ANNEX_SHELL_READONLY, rather than the Gitea API
}
alphaDashDotPattern = regexp.MustCompile(`[^\w-\.]`)
)
@ -194,6 +196,7 @@ func runServ(c *cli.Context) error {
verb := words[0]
repoPath := words[1]
if repoPath[0] == '/' {
repoPath = repoPath[1:]
}
@ -209,6 +212,28 @@ func runServ(c *cli.Context) error {
}
}
if verb == gitAnnexShellVerb {
if !setting.Annex.Enabled {
return fail(ctx, "Unknown git command", "git-annex request over SSH denied, git-annex support is disabled")
}
if len(words) < 3 {
return fail(ctx, "Too few arguments", "Too few arguments in cmd: %s", cmd)
}
// git-annex always puts the repo in words[2], unlike most other
// git subcommands; and it sometimes names repos like /~/, as if
// $HOME should get expanded while also being rooted. e.g.:
// git-annex-shell 'configlist' '/~/user/repo'
// git-annex-shell 'sendkey' '/user/repo 'key'
repoPath = words[2]
repoPath = strings.TrimPrefix(repoPath, "/")
repoPath = strings.TrimPrefix(repoPath, "~/")
}
// prevent directory traversal attacks
repoPath = filepath.Clean("/" + repoPath)[1:]
rr := strings.SplitN(repoPath, "/", 2)
if len(rr) != 2 {
return fail(ctx, "Invalid repository path", "Invalid repository path: %v", repoPath)
@ -222,6 +247,18 @@ func runServ(c *cli.Context) error {
// so that username and reponame are not affected.
repoPath = strings.ToLower(strings.TrimSpace(repoPath))
// put the sanitized repoPath back into the argument list for later
if verb == gitAnnexShellVerb {
// git-annex-shell demands an absolute path
absRepoPath, err := filepath.Abs(filepath.Join(setting.RepoRootPath, repoPath))
if err != nil {
return fail(ctx, "Error locating repoPath", "%v", err)
}
words[2] = absRepoPath
} else {
words[1] = repoPath
}
if alphaDashDotPattern.MatchString(reponame) {
return fail(ctx, "Invalid repo name", "Invalid repo name: %s", reponame)
}
@ -300,21 +337,46 @@ func runServ(c *cli.Context) error {
return nil
}
var gitcmd *exec.Cmd
gitBinPath := filepath.Dir(git.GitExecutable) // e.g. /usr/bin
gitBinVerb := filepath.Join(gitBinPath, verb) // e.g. /usr/bin/git-upload-pack
if _, err := os.Stat(gitBinVerb); err != nil {
// if the command "git-upload-pack" doesn't exist, try to split "git-upload-pack" to use the sub-command with git
// ps: Windows only has "git.exe" in the bin path, so Windows always uses this way
// ps: git-annex-shell and other extensions may not necessarily be in gitBinPath,
// but '{gitBinPath}/git annex-shell' should be able to find them on $PATH.
verbFields := strings.SplitN(verb, "-", 2)
if len(verbFields) == 2 {
// use git binary with the sub-command part: "C:\...\bin\git.exe", "upload-pack", ...
gitcmd = exec.CommandContext(ctx, git.GitExecutable, verbFields[1], repoPath)
gitBinVerb = git.GitExecutable
words = append([]string{verbFields[1]}, words...)
}
}
if gitcmd == nil {
// by default, use the verb (it has been checked above by allowedCommands)
gitcmd = exec.CommandContext(ctx, gitBinVerb, repoPath)
// by default, use the verb (it has been checked above by allowedCommands)
gitcmd := exec.CommandContext(ctx, gitBinVerb, words[1:]...)
if verb == gitAnnexShellVerb {
// This doesn't get its own isolated section like LFS does, because LFS
// is handled by internal Gitea routines, but git-annex has to be shelled out
// to like other git subcommands, so we need to build up gitcmd.
// TODO: does this work on Windows?
gitcmd.Env = append(gitcmd.Env,
// "If set, disallows running git-shell to handle unknown commands."
// - git-annex-shell(1)
"GIT_ANNEX_SHELL_LIMITED=True",
// "If set, git-annex-shell will refuse to run commands
// that do not operate on the specified directory."
// - git-annex-shell(1)
fmt.Sprintf("GIT_ANNEX_SHELL_DIRECTORY=%s", words[2]),
)
if results.UserMode < perm.AccessModeWrite {
// "If set, disallows any action that could modify the git-annex repository."
// - git-annex-shell(1)
// We set this when the backend API has told us that we don't have write permission to this repo.
log.Debug("Setting GIT_ANNEX_SHELL_READONLY=True")
gitcmd.Env = append(gitcmd.Env, "GIT_ANNEX_SHELL_READONLY=True")
}
}
process.SetSysProcAttribute(gitcmd)

View file

@ -9,6 +9,7 @@ import (
"net"
"net/http"
"os"
"os/exec"
"path/filepath"
"strconv"
"strings"
@ -247,6 +248,12 @@ func runWeb(ctx *cli.Context) error {
createPIDFile(ctx.String("pid"))
}
if setting.Annex.Enabled {
if _, err := exec.LookPath("git-annex"); err != nil {
log.Fatal("You have enabled git-annex support but git-annex is not installed. Please make sure that Forgejo's PATH contains the git-annex executable.")
}
}
if !setting.InstallLock {
if err := serveInstall(ctx); err != nil {
return err
@ -311,6 +318,10 @@ func listen(m http.Handler, handleRedirector bool) error {
log.Info("LFS server enabled")
}
if setting.Annex.Enabled {
log.Info("git-annex enabled")
}
var err error
switch setting.Protocol {
case setting.HTTP:

View file

@ -2646,6 +2646,15 @@ LEVEL = Info
;; override the minio base path if storage type is minio
;MINIO_BASE_PATH = lfs/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;[annex]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Whether git-annex is enabled; defaults to false
;ENABLED = false
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; settings for packages, will override storage setting

2
go.mod
View file

@ -2,7 +2,7 @@ module code.gitea.io/gitea
go 1.22.0
toolchain go1.22.4
toolchain go1.22.5
require (
code.forgejo.org/f3/gof3/v3 v3.4.0

View file

@ -22,6 +22,10 @@ func (specs SpecList) GetScheduleIDs() []int64 {
}
func (specs SpecList) LoadSchedules(ctx context.Context) error {
if len(specs) == 0 {
return nil
}
scheduleIDs := specs.GetScheduleIDs()
schedules, err := GetSchedulesMapByIDs(ctx, scheduleIDs)
if err != nil {
@ -50,6 +54,10 @@ func (specs SpecList) GetRepoIDs() []int64 {
}
func (specs SpecList) LoadRepos(ctx context.Context) error {
if len(specs) == 0 {
return nil
}
repoIDs := specs.GetRepoIDs()
repos, err := repo_model.GetRepositoriesMapByIDs(ctx, repoIDs)
if err != nil {

View file

@ -287,13 +287,14 @@ type UserIDCount struct {
Count int64
}
// GetUIDsAndNotificationCounts between the two provided times
// GetUIDsAndNotificationCounts returns the unread counts for every user between the two provided times.
// It must return all user IDs which appear during the period, including count=0 for users who have read all.
func GetUIDsAndNotificationCounts(ctx context.Context, since, until timeutil.TimeStamp) ([]UserIDCount, error) {
sql := `SELECT user_id, count(*) AS count FROM notification ` +
sql := `SELECT user_id, sum(case when status= ? then 1 else 0 end) AS count FROM notification ` +
`WHERE user_id IN (SELECT user_id FROM notification WHERE updated_unix >= ? AND ` +
`updated_unix < ?) AND status = ? GROUP BY user_id`
`updated_unix < ?) GROUP BY user_id`
var res []UserIDCount
return res, db.GetEngine(ctx).SQL(sql, since, until, NotificationStatusUnread).Find(&res)
return res, db.GetEngine(ctx).SQL(sql, NotificationStatusUnread, since, until).Find(&res)
}
// SetIssueReadBy sets issue to be read by given user.

View file

@ -52,3 +52,14 @@
description: My awesome deploy service
context: deploy/awesomeness
creator_id: 2
-
id: 6
index: 6
repo_id: 62
state: "failure"
sha: "774f93df12d14931ea93259ae93418da4482fcc1"
target_url: "/user2/test_workflows/actions"
description: My awesome deploy service
context: deploy/awesomeness
creator_id: 2

View file

@ -23,7 +23,7 @@ func (comments CommentList) LoadPosters(ctx context.Context) error {
}
posterIDs := container.FilterSlice(comments, func(c *Comment) (int64, bool) {
return c.PosterID, c.Poster == nil && c.PosterID > 0
return c.PosterID, c.Poster == nil && user_model.IsValidUserID(c.PosterID)
})
posterMaps, err := getPostersByIDs(ctx, posterIDs)
@ -33,7 +33,7 @@ func (comments CommentList) LoadPosters(ctx context.Context) error {
for _, comment := range comments {
if comment.Poster == nil {
comment.Poster = getPoster(comment.PosterID, posterMaps)
comment.PosterID, comment.Poster = user_model.GetUserFromMap(comment.PosterID, posterMaps)
}
}
return nil
@ -165,7 +165,7 @@ func (comments CommentList) loadOldMilestones(ctx context.Context) error {
func (comments CommentList) getAssigneeIDs() []int64 {
return container.FilterSlice(comments, func(comment *Comment) (int64, bool) {
return comment.AssigneeID, comment.AssigneeID > 0
return comment.AssigneeID, user_model.IsValidUserID(comment.AssigneeID)
})
}
@ -206,11 +206,7 @@ func (comments CommentList) loadAssignees(ctx context.Context) error {
}
for _, comment := range comments {
comment.Assignee = assignees[comment.AssigneeID]
if comment.Assignee == nil {
comment.AssigneeID = user_model.GhostUserID
comment.Assignee = user_model.NewGhostUser()
}
comment.AssigneeID, comment.Assignee = user_model.GetUserFromMap(comment.AssigneeID, assignees)
}
return nil
}

View file

@ -0,0 +1,86 @@
// Copyright 2024 The Forgejo Authors
// SPDX-License-Identifier: MIT
package issues
import (
"testing"
"code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestCommentListLoadUser(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
issue := unittest.AssertExistsAndLoadBean(t, &Issue{})
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID})
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID})
for _, testCase := range []struct {
poster int64
assignee int64
user *user_model.User
}{
{
poster: user_model.ActionsUserID,
assignee: user_model.ActionsUserID,
user: user_model.NewActionsUser(),
},
{
poster: user_model.GhostUserID,
assignee: user_model.GhostUserID,
user: user_model.NewGhostUser(),
},
{
poster: doer.ID,
assignee: doer.ID,
user: doer,
},
{
poster: 0,
assignee: 0,
user: user_model.NewGhostUser(),
},
{
poster: -200,
assignee: -200,
user: user_model.NewGhostUser(),
},
{
poster: 200,
assignee: 200,
user: user_model.NewGhostUser(),
},
} {
t.Run(testCase.user.Name, func(t *testing.T) {
comment, err := CreateComment(db.DefaultContext, &CreateCommentOptions{
Type: CommentTypeComment,
Doer: testCase.user,
Repo: repo,
Issue: issue,
Content: "Hello",
})
assert.NoError(t, err)
list := CommentList{comment}
comment.PosterID = testCase.poster
comment.Poster = nil
assert.NoError(t, list.LoadPosters(db.DefaultContext))
require.NotNil(t, comment.Poster)
assert.Equal(t, testCase.user.ID, comment.Poster.ID)
comment.AssigneeID = testCase.assignee
comment.Assignee = nil
assert.NoError(t, list.loadAssignees(db.DefaultContext))
require.NotNil(t, comment.Assignee)
assert.Equal(t, testCase.user.ID, comment.Assignee.ID)
})
}
}

View file

@ -79,7 +79,7 @@ func (issues IssueList) LoadPosters(ctx context.Context) error {
}
posterIDs := container.FilterSlice(issues, func(issue *Issue) (int64, bool) {
return issue.PosterID, issue.Poster == nil && issue.PosterID > 0
return issue.PosterID, issue.Poster == nil && user_model.IsValidUserID(issue.PosterID)
})
posterMaps, err := getPostersByIDs(ctx, posterIDs)
@ -89,7 +89,7 @@ func (issues IssueList) LoadPosters(ctx context.Context) error {
for _, issue := range issues {
if issue.Poster == nil {
issue.Poster = getPoster(issue.PosterID, posterMaps)
issue.PosterID, issue.Poster = user_model.GetUserFromMap(issue.PosterID, posterMaps)
}
}
return nil
@ -115,20 +115,6 @@ func getPostersByIDs(ctx context.Context, posterIDs []int64) (map[int64]*user_mo
return posterMaps, nil
}
func getPoster(posterID int64, posterMaps map[int64]*user_model.User) *user_model.User {
if posterID == user_model.ActionsUserID {
return user_model.NewActionsUser()
}
if posterID <= 0 {
return nil
}
poster, ok := posterMaps[posterID]
if !ok {
return user_model.NewGhostUser()
}
return poster
}
func (issues IssueList) getIssueIDs() []int64 {
ids := make([]int64, 0, len(issues))
for _, issue := range issues {

View file

@ -9,9 +9,11 @@ import (
"code.gitea.io/gitea/models/db"
issues_model "code.gitea.io/gitea/models/issues"
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestIssueList_LoadRepositories(t *testing.T) {
@ -78,3 +80,50 @@ func TestIssueList_LoadAttributes(t *testing.T) {
assert.Equal(t, issue.ID == 1, issue.IsRead, "unexpected is_read value for issue[%d]", issue.ID)
}
}
func TestIssueListLoadUser(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{})
doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
for _, testCase := range []struct {
poster int64
user *user_model.User
}{
{
poster: user_model.ActionsUserID,
user: user_model.NewActionsUser(),
},
{
poster: user_model.GhostUserID,
user: user_model.NewGhostUser(),
},
{
poster: doer.ID,
user: doer,
},
{
poster: 0,
user: user_model.NewGhostUser(),
},
{
poster: -200,
user: user_model.NewGhostUser(),
},
{
poster: 200,
user: user_model.NewGhostUser(),
},
} {
t.Run(testCase.user.Name, func(t *testing.T) {
list := issues_model.IssueList{issue}
issue.PosterID = testCase.poster
issue.Poster = nil
assert.NoError(t, list.LoadPosters(db.DefaultContext))
require.NotNil(t, issue.Poster)
assert.Equal(t, testCase.user.ID, issue.Poster.ID)
})
}
}

View file

@ -558,6 +558,7 @@ var (
"captcha",
"commits",
"debug",
"devtest",
"error",
"explore",
"favicon.ico",
@ -905,6 +906,20 @@ func GetUserByIDs(ctx context.Context, ids []int64) ([]*User, error) {
return users, err
}
func IsValidUserID(id int64) bool {
return id > 0 || id == GhostUserID || id == ActionsUserID
}
func GetUserFromMap(id int64, idMap map[int64]*User) (int64, *User) {
if user, ok := idMap[id]; ok {
return id, user
}
if id == ActionsUserID {
return ActionsUserID, NewActionsUser()
}
return GhostUserID, NewGhostUser()
}
// GetPossibleUserByID returns the user if id > 0 or return system usrs if id < 0
func GetPossibleUserByID(ctx context.Context, id int64) (*User, error) {
switch id {

View file

@ -35,6 +35,39 @@ func TestOAuth2Application_LoadUser(t *testing.T) {
assert.NotNil(t, user)
}
func TestIsValidUserID(t *testing.T) {
assert.False(t, user_model.IsValidUserID(-30))
assert.False(t, user_model.IsValidUserID(0))
assert.True(t, user_model.IsValidUserID(user_model.GhostUserID))
assert.True(t, user_model.IsValidUserID(user_model.ActionsUserID))
assert.True(t, user_model.IsValidUserID(200))
}
func TestGetUserFromMap(t *testing.T) {
id := int64(200)
idMap := map[int64]*user_model.User{
id: {ID: id},
}
ghostID := int64(user_model.GhostUserID)
actionsID := int64(user_model.ActionsUserID)
actualID, actualUser := user_model.GetUserFromMap(-20, idMap)
assert.Equal(t, ghostID, actualID)
assert.Equal(t, ghostID, actualUser.ID)
actualID, actualUser = user_model.GetUserFromMap(0, idMap)
assert.Equal(t, ghostID, actualID)
assert.Equal(t, ghostID, actualUser.ID)
actualID, actualUser = user_model.GetUserFromMap(ghostID, idMap)
assert.Equal(t, ghostID, actualID)
assert.Equal(t, ghostID, actualUser.ID)
actualID, actualUser = user_model.GetUserFromMap(actionsID, idMap)
assert.Equal(t, actionsID, actualID)
assert.Equal(t, actionsID, actualUser.ID)
}
func TestGetUserByName(t *testing.T) {
defer tests.AddFixtures("models/user/fixtures/")()
assert.NoError(t, unittest.PrepareTestDatabase())

160
modules/annex/annex.go Normal file
View file

@ -0,0 +1,160 @@
// Copyright 2022 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
// Unlike modules/lfs, which operates mainly on git.Blobs, this operates on git.TreeEntrys.
// The motivation for this is that TreeEntrys have an easy pointer to the on-disk repo path,
// while blobs do not (in fact, if building with TAGS=gogit, blobs might exist only in a mock
// filesystem, living only in process RAM). We must have the on-disk path to do anything
// useful with git-annex because all of its interesting data is on-disk under .git/annex/.
package annex
import (
"errors"
"fmt"
"os"
"path"
"strings"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
)
const (
// > The maximum size of a pointer file is 32 kb.
// - https://git-annex.branchable.com/internals/pointer_file/
// It's unclear if that's kilobytes or kibibytes; assuming kibibytes:
blobSizeCutoff = 32 * 1024
)
// ErrInvalidPointer occurs if the pointer's value doesn't parse
var ErrInvalidPointer = errors.New("Not a git-annex pointer")
// Gets the content of the blob as raw text, up to n bytes.
// (the pre-existing blob.GetBlobContent() has a hardcoded 1024-byte limit)
func getBlobContent(b *git.Blob, n int) (string, error) {
dataRc, err := b.DataAsync()
if err != nil {
return "", err
}
defer dataRc.Close()
buf := make([]byte, n)
n, _ = util.ReadAtMost(dataRc, buf)
buf = buf[:n]
return string(buf), nil
}
func Pointer(blob *git.Blob) (string, error) {
// git-annex doesn't seem fully spec what its pointer are, but
// the fullest description is here:
// https://git-annex.branchable.com/internals/pointer_file/
// a pointer can be:
// the original format, generated by `git annex add`: a symlink to '.git/annex/objects/$HASHDIR/$HASHDIR2/$KEY/$KEY'
// the newer, git-lfs influenced, format, generated by `git annex smudge`: a text file containing '/annex/objects/$KEY'
//
// in either case we can extract the $KEY the same way, and we need not actually know if it's a symlink or not because
// git.Blob.DataAsync() works like open() + readlink(), handling both cases in one.
if blob.Size() > blobSizeCutoff {
// > The maximum size of a pointer file is 32 kb. If it is any longer, it is not considered to be a valid pointer file.
// https://git-annex.branchable.com/internals/pointer_file/
// It's unclear to me whether the same size limit applies to symlink-pointers, but it seems sensible to limit them too.
return "", ErrInvalidPointer
}
pointer, err := getBlobContent(blob, blobSizeCutoff)
if err != nil {
return "", fmt.Errorf("error reading %s: %w", blob.Name(), err)
}
// the spec says a pointer file can contain multiple lines each with a pointer in them
// but that makes no sense to me, so I'm just ignoring all but the first
lines := strings.Split(pointer, "\n")
if len(lines) < 1 {
return "", ErrInvalidPointer
}
pointer = lines[0]
// in both the symlink and pointer-file formats, the pointer must have "/annex/" somewhere in it
if !strings.Contains(pointer, "/annex/") {
return "", ErrInvalidPointer
}
// extract $KEY
pointer = path.Base(strings.TrimSpace(pointer))
// ask git-annex's opinion on $KEY
// XXX: this is probably a bit slow, especially if this operation gets run often
// and examinekey is not that strict:
// - it doesn't enforce that the "BACKEND" tag is one it knows,
// - it doesn't enforce that the fields and their format fit the "BACKEND" tag
// so maybe this is a wasteful step
_, examineStderr, err := git.NewCommandContextNoGlobals(git.DefaultContext, "annex", "examinekey").AddDynamicArguments(pointer).RunStdString(&git.RunOpts{Dir: blob.Repo().Path})
if err != nil {
// TODO: make ErrInvalidPointer into a type capable of wrapping err
if strings.TrimSpace(examineStderr) == "git-annex: bad key" {
return "", ErrInvalidPointer
}
return "", err
}
return pointer, nil
}
// return the absolute path of the content pointed to by the annex pointer stored in the git object
// errors if the content is not found in this repo
func ContentLocation(blob *git.Blob) (string, error) {
pointer, err := Pointer(blob)
if err != nil {
return "", err
}
contentLocation, _, err := git.NewCommandContextNoGlobals(git.DefaultContext, "annex", "contentlocation").AddDynamicArguments(pointer).RunStdString(&git.RunOpts{Dir: blob.Repo().Path})
if err != nil {
return "", fmt.Errorf("in %s: %s does not seem to be a valid annexed file: %w", blob.Repo().Path, pointer, err)
}
contentLocation = strings.TrimSpace(contentLocation)
contentLocation = path.Clean("/" + contentLocation)[1:] // prevent directory traversals
contentLocation = path.Join(blob.Repo().Path, contentLocation)
return contentLocation, nil
}
// returns a stream open to the annex content
func Content(blob *git.Blob) (*os.File, error) {
contentLocation, err := ContentLocation(blob)
if err != nil {
return nil, err
}
return os.Open(contentLocation)
}
// whether the object appears to be a valid annex pointer
// does *not* verify if the content is actually in this repo;
// for that, use ContentLocation()
func IsAnnexed(blob *git.Blob) (bool, error) {
if !setting.Annex.Enabled {
return false, nil
}
// Pointer() is written to only return well-formed pointers
// so the test is just to see if it errors
_, err := Pointer(blob)
if err != nil {
if errors.Is(err, ErrInvalidPointer) {
return false, nil
}
return false, err
}
return true, nil
}
// IsAnnexRepo determines if repo is a git-annex enabled repository
func IsAnnexRepo(repo *git.Repository) bool {
_, _, err := git.NewCommand(repo.Ctx, "config", "annex.uuid").RunStdString(&git.RunOpts{Dir: repo.Path})
return err == nil
}

View file

@ -21,6 +21,7 @@ import (
"time"
"unicode/utf8"
"code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
@ -172,6 +173,12 @@ func Int64sToStrings(ints []int64) []string {
func EntryIcon(entry *git.TreeEntry) string {
switch {
case entry.IsLink():
isAnnexed, _ := annex.IsAnnexed(entry.Blob())
if isAnnexed {
// git-annex files are sometimes stored as symlinks;
// short-circuit that so like LFS they are displayed as regular files
return "file"
}
te, _, err := entry.FollowLink()
if err != nil {
log.Debug(err.Error())

View file

@ -15,6 +15,10 @@ import (
// This file contains common functions between the gogit and !gogit variants for git Blobs
func (b *Blob) Repo() *Repository {
return b.repo
}
// Name returns name of the tree entry this blob object was created from (or empty string)
func (b *Blob) Name() string {
return b.name

View file

@ -14,7 +14,8 @@ import (
// Blob represents a Git object.
type Blob struct {
ID ObjectID
ID ObjectID
repo *Repository
gogitEncodedObj plumbing.EncodedObject
name string

View file

@ -445,12 +445,13 @@ func (c *Command) RunStdBytes(opts *RunOpts) (stdout, stderr []byte, runErr RunS
}
// AllowLFSFiltersArgs return globalCommandArgs with lfs filter, it should only be used for tests
// It also re-enables git-credential(1), which is used to test git-annex's HTTP support
func AllowLFSFiltersArgs() TrustedCmdArgs {
// Now here we should explicitly allow lfs filters to run
filteredLFSGlobalArgs := make(TrustedCmdArgs, len(globalCommandArgs))
j := 0
for _, arg := range globalCommandArgs {
if strings.Contains(string(arg), "lfs") {
if strings.Contains(string(arg), "lfs") || strings.Contains(string(arg), "credential") {
j--
} else {
filteredLFSGlobalArgs[j] = arg

View file

@ -0,0 +1,113 @@
// Copyright twenty-panda <twenty-panda@posteo.com>
// SPDX-License-Identifier: MIT
package pushoptions
import (
"fmt"
"os"
"strconv"
"strings"
)
type Key string
const (
RepoPrivate = Key("repo.private")
RepoTemplate = Key("repo.template")
AgitTopic = Key("topic")
AgitForcePush = Key("force-push")
AgitTitle = Key("title")
AgitDescription = Key("description")
envPrefix = "GIT_PUSH_OPTION"
EnvCount = envPrefix + "_COUNT"
EnvFormat = envPrefix + "_%d"
)
type Interface interface {
ReadEnv() Interface
Parse(string) bool
Map() map[string]string
ChangeRepoSettings() bool
Empty() bool
GetBool(key Key, def bool) bool
GetString(key Key) (val string, ok bool)
}
type gitPushOptions map[string]string
func New() Interface {
pushOptions := gitPushOptions(make(map[string]string))
return &pushOptions
}
func NewFromMap(o *map[string]string) Interface {
return (*gitPushOptions)(o)
}
func (o *gitPushOptions) ReadEnv() Interface {
if pushCount, err := strconv.Atoi(os.Getenv(EnvCount)); err == nil {
for idx := 0; idx < pushCount; idx++ {
_ = o.Parse(os.Getenv(fmt.Sprintf(EnvFormat, idx)))
}
}
return o
}
func (o *gitPushOptions) Parse(data string) bool {
key, value, found := strings.Cut(data, "=")
if !found {
value = "true"
}
switch Key(key) {
case RepoPrivate:
case RepoTemplate:
case AgitTopic:
case AgitForcePush:
case AgitTitle:
case AgitDescription:
default:
return false
}
(*o)[key] = value
return true
}
func (o gitPushOptions) Map() map[string]string {
return o
}
func (o gitPushOptions) ChangeRepoSettings() bool {
if o.Empty() {
return false
}
for _, key := range []Key{RepoPrivate, RepoTemplate} {
_, ok := o[string(key)]
if ok {
return true
}
}
return false
}
func (o gitPushOptions) Empty() bool {
return len(o) == 0
}
func (o gitPushOptions) GetBool(key Key, def bool) bool {
if val, ok := o[string(key)]; ok {
if b, err := strconv.ParseBool(val); err == nil {
return b
}
}
return def
}
func (o gitPushOptions) GetString(key Key) (string, bool) {
val, ok := o[string(key)]
return val, ok
}

View file

@ -0,0 +1,125 @@
// Copyright twenty-panda <twenty-panda@posteo.com>
// SPDX-License-Identifier: MIT
package pushoptions
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestEmpty(t *testing.T) {
options := New()
assert.True(t, options.Empty())
options.Parse(fmt.Sprintf("%v", RepoPrivate))
assert.False(t, options.Empty())
}
func TestToAndFromMap(t *testing.T) {
options := New()
options.Parse(fmt.Sprintf("%v", RepoPrivate))
actual := options.Map()
expected := map[string]string{string(RepoPrivate): "true"}
assert.EqualValues(t, expected, actual)
assert.EqualValues(t, expected, NewFromMap(&actual).Map())
}
func TestChangeRepositorySettings(t *testing.T) {
options := New()
assert.False(t, options.ChangeRepoSettings())
assert.True(t, options.Parse(fmt.Sprintf("%v=description", AgitDescription)))
assert.False(t, options.ChangeRepoSettings())
options.Parse(fmt.Sprintf("%v", RepoPrivate))
assert.True(t, options.ChangeRepoSettings())
options = New()
options.Parse(fmt.Sprintf("%v", RepoTemplate))
assert.True(t, options.ChangeRepoSettings())
}
func TestParse(t *testing.T) {
t.Run("no key", func(t *testing.T) {
options := New()
val, ok := options.GetString(RepoPrivate)
assert.False(t, ok)
assert.Equal(t, "", val)
assert.True(t, options.GetBool(RepoPrivate, true))
assert.False(t, options.GetBool(RepoPrivate, false))
})
t.Run("key=value", func(t *testing.T) {
options := New()
topic := "TOPIC"
assert.True(t, options.Parse(fmt.Sprintf("%v=%s", AgitTopic, topic)))
val, ok := options.GetString(AgitTopic)
assert.True(t, ok)
assert.Equal(t, topic, val)
})
t.Run("key=true", func(t *testing.T) {
options := New()
assert.True(t, options.Parse(fmt.Sprintf("%v=true", RepoPrivate)))
assert.True(t, options.GetBool(RepoPrivate, false))
assert.True(t, options.Parse(fmt.Sprintf("%v=TRUE", RepoTemplate)))
assert.True(t, options.GetBool(RepoTemplate, false))
})
t.Run("key=false", func(t *testing.T) {
options := New()
assert.True(t, options.Parse(fmt.Sprintf("%v=false", RepoPrivate)))
assert.False(t, options.GetBool(RepoPrivate, true))
})
t.Run("key", func(t *testing.T) {
options := New()
assert.True(t, options.Parse(fmt.Sprintf("%v", RepoPrivate)))
assert.True(t, options.GetBool(RepoPrivate, false))
})
t.Run("unknown keys are ignored", func(t *testing.T) {
options := New()
assert.True(t, options.Empty())
assert.False(t, options.Parse("unknown=value"))
assert.True(t, options.Empty())
})
}
func TestReadEnv(t *testing.T) {
t.Setenv(envPrefix+"_0", fmt.Sprintf("%v=true", AgitForcePush))
t.Setenv(envPrefix+"_1", fmt.Sprintf("%v", RepoPrivate))
t.Setenv(envPrefix+"_2", fmt.Sprintf("%v=equal=in string", AgitTitle))
t.Setenv(envPrefix+"_3", "not=valid")
t.Setenv(envPrefix+"_4", fmt.Sprintf("%v=description", AgitDescription))
t.Setenv(EnvCount, "5")
options := New().ReadEnv()
assert.True(t, options.GetBool(AgitForcePush, false))
assert.True(t, options.GetBool(RepoPrivate, false))
assert.False(t, options.GetBool(RepoTemplate, false))
{
val, ok := options.GetString(AgitTitle)
assert.True(t, ok)
assert.Equal(t, "equal=in string", val)
}
{
val, ok := options.GetString(AgitDescription)
assert.True(t, ok)
assert.Equal(t, "description", val)
}
{
_, ok := options.GetString(AgitTopic)
assert.False(t, ok)
}
}

View file

@ -17,6 +17,7 @@ func (repo *Repository) getBlob(id ObjectID) (*Blob, error) {
return &Blob{
ID: id,
repo: repo,
gogitEncodedObj: encodedObj,
}, nil
}

View file

@ -89,6 +89,7 @@ func (te *TreeEntry) Blob() *Blob {
return &Blob{
ID: ParseGogitHash(te.gogitTreeEntry.Hash),
repo: te.ptree.repo,
gogitEncodedObj: encodedObj,
name: te.Name(),
}

View file

@ -180,6 +180,10 @@ func (c *HTTPClient) performOperation(ctx context.Context, objects []Pointer, dc
}
} else {
link, ok := object.Actions["download"]
if !ok {
// no actions block in response, try legacy response schema
link, ok = object.Links["download"]
}
if !ok {
log.Debug("%+v", object)
return errors.New("missing action 'download'")

View file

@ -59,6 +59,17 @@ func lfsTestRoundtripHandler(req *http.Request) *http.Response {
},
},
}
} else if strings.Contains(url, "legacy-batch-request-download") {
batchResponse = &BatchResponse{
Transfer: "dummy",
Objects: []*ObjectResponse{
{
Links: map[string]*Link{
"download": {},
},
},
},
}
} else if strings.Contains(url, "valid-batch-request-upload") {
batchResponse = &BatchResponse{
Transfer: "dummy",
@ -229,6 +240,11 @@ func TestHTTPClientDownload(t *testing.T) {
endpoint: "https://unknown-actions-map.io",
expectederror: "missing action 'download'",
},
// case 11
{
endpoint: "https://legacy-batch-request-download.io",
expectederror: "",
},
}
for n, c := range cases {

View file

@ -47,6 +47,7 @@ type BatchResponse struct {
type ObjectResponse struct {
Pointer
Actions map[string]*Link `json:"actions,omitempty"`
Links map[string]*Link `json:"_links,omitempty"`
Error *ObjectError `json:"error,omitempty"`
}

View file

@ -36,6 +36,10 @@ func (g *GitHubCalloutTransformer) Transform(node *ast.Document, reader text.Rea
switch v := n.(type) {
case *ast.Blockquote:
if v.ChildCount() == 0 {
return ast.WalkContinue, nil
}
// We only want attention blockquotes when the AST looks like:
// Text: "["
// Text: "!TYPE"

View file

@ -25,6 +25,10 @@ func (g *GitHubLegacyCalloutTransformer) Transform(node *ast.Document, reader te
switch v := n.(type) {
case *ast.Blockquote:
if v.ChildCount() == 0 {
return ast.WalkContinue, nil
}
// The first paragraph contains the callout type.
firstParagraph := v.FirstChild()
if firstParagraph.ChildCount() < 1 {

View file

@ -1210,3 +1210,17 @@ func TestCustomMarkdownURL(t *testing.T) {
test("[test](abp)",
`<p><a href="http://localhost:3000/gogits/gogs/src/branch/main/abp" rel="nofollow">test</a></p>`)
}
func TestCallout(t *testing.T) {
setting.AppURL = AppURL
test := func(input, expected string) {
buffer, err := markdown.RenderString(&markup.RenderContext{
Ctx: git.DefaultContext,
}, input)
assert.NoError(t, err)
assert.Equal(t, strings.TrimSpace(expected), strings.TrimSpace(string(buffer)))
}
test(">\n0", "<blockquote>\n</blockquote>\n<p>0</p>")
}

View file

@ -7,10 +7,10 @@ import (
"context"
"fmt"
"net/url"
"strconv"
"time"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/git/pushoptions"
"code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting"
)
@ -20,28 +20,8 @@ const (
GitAlternativeObjectDirectories = "GIT_ALTERNATE_OBJECT_DIRECTORIES"
GitObjectDirectory = "GIT_OBJECT_DIRECTORY"
GitQuarantinePath = "GIT_QUARANTINE_PATH"
GitPushOptionCount = "GIT_PUSH_OPTION_COUNT"
)
// GitPushOptions is a wrapper around a map[string]string
type GitPushOptions map[string]string
// GitPushOptions keys
const (
GitPushOptionRepoPrivate = "repo.private"
GitPushOptionRepoTemplate = "repo.template"
)
// Bool checks for a key in the map and parses as a boolean
func (g GitPushOptions) Bool(key string, def bool) bool {
if val, ok := g[key]; ok {
if b, err := strconv.ParseBool(val); err == nil {
return b
}
}
return def
}
// HookOptions represents the options for the Hook calls
type HookOptions struct {
OldCommitIDs []string
@ -52,7 +32,7 @@ type HookOptions struct {
GitObjectDirectory string
GitAlternativeObjectDirectories string
GitQuarantinePath string
GitPushOptions GitPushOptions
GitPushOptions map[string]string
PullRequestID int64
PushTrigger repository.PushTrigger
DeployKeyID int64 // if the pusher is a DeployKey, then UserID is the repo's org user.
@ -60,6 +40,10 @@ type HookOptions struct {
ActionPerm int
}
func (o *HookOptions) GetGitPushOptions() pushoptions.Interface {
return pushoptions.NewFromMap(&o.GitPushOptions)
}
// SSHLogOption ssh log options
type SSHLogOption struct {
IsError bool

View file

@ -40,6 +40,7 @@ type ServCommandResults struct {
UserName string
UserEmail string
UserID int64
UserMode perm.AccessMode
OwnerName string
RepoName string
RepoID int64

20
modules/setting/annex.go Normal file
View file

@ -0,0 +1,20 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package setting
import (
"code.gitea.io/gitea/modules/log"
)
// Annex represents the configuration for git-annex
var Annex = struct {
Enabled bool `ini:"ENABLED"`
}{}
func loadAnnexFrom(rootCfg ConfigProvider) {
sec := rootCfg.Section("annex")
if err := sec.MapTo(&Annex); err != nil {
log.Fatal("Failed to map Annex settings: %v", err)
}
}

View file

@ -34,7 +34,6 @@ var defaultI18nLangNames = []string{
"fa-IR", "فارسی",
"hu-HU", "Magyar nyelv",
"id-ID", "Bahasa Indonesia",
"ml-IN", "മലയാളം",
}
func defaultI18nLangs() (res []string) {

View file

@ -153,6 +153,7 @@ func loadCommonSettingsFrom(cfg ConfigProvider) error {
loadCamoFrom(cfg)
loadI18nFrom(cfg)
loadGitFrom(cfg)
loadAnnexFrom(cfg)
loadMirrorFrom(cfg)
loadMarkupFrom(cfg)
loadOtherFrom(cfg)

View file

@ -4,7 +4,9 @@
package util
import (
"io/fs"
"os"
"path/filepath"
"runtime"
"syscall"
"time"
@ -41,10 +43,43 @@ func Remove(name string) error {
return err
}
// RemoveAll removes the named file or (empty) directory with at most 5 attempts.
// RemoveAll removes the named file or directory with at most 5 attempts.
func RemoveAll(name string) error {
var err error
for i := 0; i < 5; i++ {
// Do chmod -R +w to help ensure the removal succeeds.
// In particular, in the git-annex case, this handles
// https://git-annex.branchable.com/internals/lockdown/ :
//
// > (The only bad consequence of this is that rm -rf .git
// > doesn't work unless you first run chmod -R +w .git)
err = filepath.WalkDir(name, func(path string, d fs.DirEntry, err error) error {
// NB: this is called WalkDir but it works on a single file too
if err == nil {
info, err := d.Info()
if err != nil {
return err
}
// Don't try chmod'ing symlinks (will fail with broken symlinks)
if info.Mode()&os.ModeSymlink != os.ModeSymlink {
// 0200 == u+w, in octal unix permission notation
err = os.Chmod(path, info.Mode()|0o200)
if err != nil {
return err
}
}
}
return nil
})
if err != nil {
// try again
<-time.After(100 * time.Millisecond)
continue
}
err = os.RemoveAll(name)
if err == nil {
break

View file

@ -1165,7 +1165,7 @@ 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.cmd_instruction_hint = `أظهر <a class="show-instruction">شرح استخدام سطر الأوامر</a>.`
pulls.cmd_instruction_hint = `أظهر شرح استخدام سطر الأوامر.`
pulls.cmd_instruction_checkout_title = اسحب
pulls.cmd_instruction_checkout_desc = من مستودع مشروعك، اسحب (check out) فرعا جديدا واختبر التغييرات.
pulls.cmd_instruction_merge_title = ادمج
@ -1331,7 +1331,7 @@ admin.new_user.text = من فضلك <a href="%s">اضغط هنا</a> لإدار
admin.new_user.subject = مستخدم جديد: %s سجل حالاً
admin.new_user.user_info = معلومات المستخدم
activate_account.text_1 = أهلا يا <b>%[1]s</b>، شكرا لك للتسجيل في %[2]s!
register_notify = أهلا بك في فورجيو
register_notify_prev9 = أهلا بك في فورجيو
activate_account = نرجو تفعيل حسابك
activate_account.title = يا %s، نرجو منك تفعيل حسابك
issue.x_mentioned_you = ذكرك <b>@%s</b>:

View file

@ -193,7 +193,7 @@ disabled = Изключено
licenses = Лицензи
sign_in = Вход
copy_content = Копиране на съдържанието
user_profile_and_more = Профил и Настройки…
user_profile_and_more = Профил и настройки…
view = Преглед
your_settings = Настройки
mirrors = Огледала
@ -227,7 +227,7 @@ copy = Копиране
enabled = Включено
new_org = Нова организация
milestones = Етапи
rss_feed = RSS Емисия
rss_feed = RSS емисия
never = Никога
new_project = Нов проект
your_starred = Отбелязани
@ -283,6 +283,8 @@ filter.not_mirror = Не огледала
copy_hash = Копиране на контролната сума
artifacts = Артефакти
show_log_seconds = Показване на секундите
remove_all = Премахване на всичко
test = Проба
[repo]
issues.context.edit = Редактиране
@ -973,7 +975,7 @@ search.results = Резултати от търсенето на "%s" в <a href
object_format = Формат на обектите
release.releases_for = Издания за %s
release.tags_for = Маркери за %s
pulls.cmd_instruction_hint = `Вижте <a class="show-instruction">инструкциите за командния ред</a>.`
pulls.cmd_instruction_hint = `Вижте инструкциите за командния ред.`
pulls.showing_only_single_commit = Показани са само промените в подаване %[1]s
issues.lock_no_reason = заключи и ограничи обсъждането до сътрудници %s
pulls.expand_files = Разгъване на всички файлове
@ -1064,7 +1066,7 @@ diff.review.reject = Поискване на промени
diff.bin_not_shown = Двоичният файл не е показан.
settings.units.units = Елементи на хранилището
settings.delete_notices_fork_1 = - Разклоненията на това хранилище ще станат независими след изтриване.
settings.actions_desc = Включване на интегрираните CI/CD pipelines с Forgejo Действия
settings.actions_desc = Включване на интегрираните CI/CD pipelines с Forgejo Actions
settings.packages_desc = Включване на регистъра на пакетите за хранилището
settings.units.add_more = Добавяне...
settings.use_external_issue_tracker = Използване на външен тракер за задачи
@ -1134,6 +1136,16 @@ pulls.status_checks_failure = Някои проверки са неуспешн
issues.review.add_review_request = поиска рецензия от %s %s
wiki.no_search_results = Няма резултати
wiki.search = Търсене в уикито
issues.author.tooltip.pr = Този потребител е авторът на тази заявка за сливане.
issues.author.tooltip.issue = Този потребител е авторът на тази задача.
issues.review.option.hide_outdated_comments = Скриване на остарели коментари
file.title = %s в %s
issues.review.option.show_outdated_comments = Показване на остарели коментари
issues.content_history.delete_from_history_confirm = Да се изтрие ли от историята?
project = Проекти
issues.content_history.delete_from_history = Изтриване от историята
n_release_few = %s издания
n_release_one = %s издание
[modal]
confirm = Потвърждаване
@ -1259,7 +1271,7 @@ mailer_password = SMTP парола
disable_gravatar = Изключване на Gravatar
smtp_addr = SMTP хост
smtp_port = SMTP порт
app_name_helper = Можете да въведете името на компанията си тук.
app_name_helper = Въведете името на инстанцията си тук. Ще се показва на всяка страница.
admin_title = Настройки на администраторския акаунт
err_empty_admin_password = Администраторската парола не може да бъде празна.
docker_helper = Ако стартирате Forgejo в Docker, моля, прочетете <a target="_blank" rel="noopener noreferrer" href="%s">документацията</a> преди да промените настройки.
@ -1285,7 +1297,7 @@ issue.in_tree_path = В %s:
release.note = Бележка:
hi_user_x = Здравейте <b>%s</b>,
admin.new_user.user_info = Информация за потребителя
register_notify = Добре дошли във Forgejo
register_notify_prev9 = Добре дошли във Forgejo
issue.action.new = <b>@%[1]s</b> създаде #%[2]d.
issue.action.review = <b>@%[1]s</b> коментира в тази заявка за сливане.
issue.action.reopen = <b>@%[1]s</b> отвори наново #%[2]d.
@ -1318,13 +1330,17 @@ email_visibility.private = Вашият адрес на ел. поща е вид
show_on_map = Показване на това място на картата
followers_one = %d последовател
following_one = %d следван
followers.title.few = Последователи
followers.title.one = Последовател
following.title.one = Следван
following.title.few = Следвани
[home]
filter = Други филтри
show_archived = Архивирани
search_repos = Намиране на хранилище…
my_orgs = Организации
uname_holder = Потреб. име или Адрес на ел. поща
uname_holder = Потребителско име или ел. поща
my_repos = Хранилища
show_both_archived_unarchived = Показване на и архивирани и неархивирани
feed_of = Емисия на "%s"
@ -1414,6 +1430,7 @@ orgs.teams = Екипи
orgs.members = Участници
config_settings = Настройки
users.details = Потребителски данни
packages.total_size = Общ размер: %s
[error]
not_found = Целта не може да бъде намерена.
@ -1509,7 +1526,7 @@ tab_signin = Влизане
tab_signup = Регистриране
[aria]
footer.software = Относно софтуера
footer.software = Относно този софтуер
footer.links = Връзки
footer = Долен колонтитул
@ -1622,6 +1639,10 @@ project_kind = Търсене на проекти...
package_kind = Търсене на пакети...
search = Търсене...
branch_kind = Търсене на клонове...
pull_kind = Търсене на заявки за сливане...
issue_kind = Търсене на задачи...
fuzzy = Приблизително
exact = Прецизно
[markup]
filepreview.lines = Редове от %[1]d до %[2]d в %[3]s

View file

@ -160,6 +160,7 @@ filter.clear = Vymazat filtry
more_items = Další položky
invalid_data = Neplatná data: %v
copy_generic = Kopírovat do schránky
test = Test
[aria]
navbar=Navigační lišta
@ -191,6 +192,8 @@ buttons.ref.tooltip=Odkázat na problém nebo žádost o sloučení
buttons.switch_to_legacy.tooltip=Použít starší editor
buttons.enable_monospace_font=Zapnout neproporcionální písmo
buttons.disable_monospace_font=Vypnout neproporcionální písmo
buttons.unindent.tooltip = Zrušit vnoření položek pod jednu úroveň
buttons.indent.tooltip = Vnořit položky pod jednu úroveň
[filter]
string.asc=A Z
@ -463,6 +466,11 @@ change_unconfirmed_email_summary = Změna e-mailové adresy, na kterou bude odes
last_admin=Nelze odstranit posledního správce. Musí existovat alespoň jeden správce.
tab_signup = Registrace
tab_signin = Přihlášení
hint_login = Již máte účet? <a href="%s">Přihlaste se!</a>
hint_register = Nemáte účet? <a href="%s">Zaregistrujte se nyní.</a>
sign_up_button = Zaregistrujte se nyní.
back_to_sign_in = Zpět na přihlášení
sign_in_openid = Pokračovat s OpenID
[mail]
view_it_on=Zobrazit na %s
@ -479,7 +487,7 @@ activate_email=Ověřte vaši e-mailovou adresu
activate_email.title=%s, prosím ověřte vaši e-mailovou adresu
activate_email.text=Pro aktivaci vašeho účtu do <b>%s</b> klikněte na následující odkaz:
register_notify=Vítejte v Forgejo
register_notify_prev9=Vítejte v Forgejo
register_notify.title=%[1]s vítejte v %[2]s
register_notify.text_1=toto je váš potvrzovací e-mail pro %s!
register_notify.text_2=Do svého účtu se můžete přihlásit svým uživatelským jménem: %s
@ -802,7 +810,7 @@ add_email_success=Nová e-mailová adresa byla přidána.
email_preference_set_success=Nastavení e-mailu bylo úspěšně nastaveno.
add_openid_success=Nová OpenID adresa byla přidána.
keep_email_private=Skrýt e-mailovou adresu
keep_email_private_popup=Toto skryje vaši e-mailovou adresu z vašeho profilu, stejně jako při vytvoření pull requestu nebo úpravě souboru pomocí webového rozhraní. Odeslané commity nebudou změněny. Použijte %s v commitech pro jejich přiřazení k vašemu účtu.
keep_email_private_popup=Tímto skryjete svou e-mailovou adresu ze svého profilu. Nebude již výchozí adresou pro commity provedené skrze webové rozhraní, jako nahrávání a úpravy souborů, a nebude použita pro slučovací commity. Místo toho můžete použít speciální adresu %s pro spojení commitů s vaším účtem. Změna této funkce nebude mít vliv na stávající commity.
openid_desc=OpenID vám umožní delegovat ověřování na externího poskytovatele.
manage_ssh_keys=Správa klíčů SSH
@ -1015,6 +1023,9 @@ pronouns = Zájmena
pronouns_custom = Vlastní
pronouns_unspecified = Neurčená
language.title = Výchozí jazyk
keep_activity_private.description = Vaše <a href="%s">veřejná aktivita</a> bude viditelná pouze vám a správcům instance.
language.description = Tento jazyk bude uložen do vašeho účtu a po přihlášení bude použit jako výchozí.
language.localization_project = Pomozte nám s překladem Forgejo do vašeho jazyka! <a href="%s">Více informací</a>.
[repo]
new_repo_helper=Repozitář obsahuje všechny projektové soubory, včetně historie revizí. Už jej hostujete jinde? <a href="%s">Migrovat repozitář.</a>
@ -1275,6 +1286,7 @@ view_git_blame=Zobrazit git blame
video_not_supported_in_browser=Váš prohlížeč nepodporuje značku HTML5 „video“.
audio_not_supported_in_browser=Váš prohlížeč nepodporuje značku HTML5 „audio“.
stored_lfs=Uloženo pomocí Git LFS
stored_annex=Uloženo pomocí Git Annex
symbolic_link=Symbolický odkaz
executable_file=Spustitelný soubor
vendored=Vendorováno
@ -1300,6 +1312,7 @@ editor.upload_file=Nahrát soubor
editor.edit_file=Upravit soubor
editor.preview_changes=Náhled změn
editor.cannot_edit_lfs_files=LFS soubory nemohou být upravovány přes webové rozhraní.
editor.cannot_edit_annex_files=Annex soubory nemohou být upravovány přes webové rozhraní.
editor.cannot_edit_non_text_files=Binární soubory nemohou být upravovány přes webové rozhraní.
editor.edit_this_file=Upravit soubor
editor.this_file_locked=Soubor je uzamčen
@ -1584,8 +1597,8 @@ issues.reopened_at=`znovu otevřel/a tento problém <a id="%[1]s" href="#%[1]s">
issues.commit_ref_at=`odkázal/a na tento problém z commitu <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 žádost o sloučení %[4]s, která uzavře tento problém</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na žádost o sloučení %[4]s, která znovu otevře tento problém</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.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`
@ -1894,7 +1907,7 @@ pulls.outdated_with_base_branch=Tato větev je zastaralá oproti základní vět
pulls.close=Zavřít žádost o sloučení
pulls.closed_at=`uzavřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`znovuotevřel/a tento požadavek na natažení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=`Zobrazit <a class="show-instruction">instrukce příkazové řádky</a>.`
pulls.cmd_instruction_hint=Zobrazit instrukce příkazové řádky
pulls.cmd_instruction_checkout_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
pulls.cmd_instruction_merge_title=Sloučit
pulls.cmd_instruction_merge_desc=Slučte změny a aktualizujte je na Gitea.
@ -2643,7 +2656,7 @@ topic.done=Hotovo
topic.count_prompt=Nelze vybrat více než 25 témat
topic.format_prompt=Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a tečky („.“) a může být dlouhé až 35 znaků. Písmena musí být malá.
find_file.go_to_file=Přejít na soubor
find_file.go_to_file=Najít soubor
find_file.no_matching=Nebyl nalezen žádný odpovídající soubor
error.csv.too_large=Tento soubor nelze vykreslit, protože je příliš velký.
@ -2783,6 +2796,9 @@ pulls.edit.already_changed = Nepodařilo se uložit změny v žádosti o slouče
comments.edit.already_changed = Nepodařilo se uložit změny v komentáři. Obsah byl nejspíše již změněn jiným uživatelem. Obnovte prosím stránku a zkuste jej znovu upravit, abyste zabránili přepsání změn uživatele
subscribe.issue.guest.tooltip = Přihlaste se pro odebírání tohoto problému.
subscribe.pull.guest.tooltip = Přihlaste se pro odebírání této žádosti o sloučení.
issues.author.tooltip.pr = Tento uživatel je autorem této žádosti o sloučení.
issues.author.tooltip.issue = Tento uživatel je autorem tohoto problému.
activity.commit = Aktivita commitů
[graphs]
component_loading_info = Tohle může chvíli trvat…
@ -3047,10 +3063,10 @@ users.update_profile_success=Uživatelský účet byl aktualizován.
users.edit_account=Upravit uživatelský účet
users.max_repo_creation=Maximální počet repozitářů
users.max_repo_creation_desc=(Nastavte na -1 pro použití výchozího systémového limitu.)
users.is_activated=Uživatelský účet je aktivován
users.prohibit_login=Zakázat přihlášení
users.is_admin=Je správce
users.is_restricted=Je omezený
users.is_activated=Aktivovaný účet
users.prohibit_login=Pozastavený účet
users.is_admin=Účet správce
users.is_restricted=Omezený účet
users.allow_git_hook=Může vytvářet Git hooks
users.allow_git_hook_tooltip=Git hooks jsou spouštěny jako uživatel operačního systému, pod kterým je spuštěno Forgejo, a mají stejnou úroveň přístupu k hostiteli. Výsledkem je, že uživatelé s tímto speciálním oprávněním Git hooks mohou přistupovat ke všem repozitářům Forgejo a upravovat je, stejně jako databázi používanou systémem Forgejo. V důsledku toho mohou také získat oprávnění správce systému Forgejo.
users.allow_import_local=Může importovat lokální repozitáře
@ -3100,7 +3116,7 @@ orgs.new_orga=Nová organizace
repos.repo_manage_panel=Správa repozitářů
repos.unadopted=Nepřijaté repozitáře
repos.unadopted.no_more=Nebyly nalezeny žádné další nepřijaté repositáře
repos.unadopted.no_more=Nebyly nalezeny žádné nepřijaté repositáře.
repos.owner=Vlastník
repos.name=Název
repos.private=Soukromý
@ -3471,6 +3487,16 @@ config_settings = Nastavení
auths.tip.gitlab_new = Zaregistrujte si novou aplikaci na https://gitlab.com/-/profile/applications
auths.default_domain_name = Výchozí doménové jméno použité pro e-mailovou adresu
config.app_slogan = Slogan instance
config.cache_test_succeeded = Test mezipaměti byl úspěšný, odpověď byla obdržena za %s.
config.cache_test = Otestovat mezipaměť
config.cache_test_failed = Nepodařilo se prověřit mezipaměť: %v.
config.cache_test_slow = Test mezipaměti byl úspěšný, ale odpověď byla pomalá: %s.
users.activated.description = Dokončení ověření e-mailu. Majitel neaktivovaného účtu se nebude moci přihlásit, dokud nedokončí ověření e-mailu.
users.block.description = Zablokovat tomuto uživateli interakci s touto službou prostřednictvím jeho účtu a zakázat mu přihlášení.
users.restricted.description = Povolit interakci pouze s repozitáři a organizacemi, kde je uživatel přidán jako spolupracovník. Toto zamezí přístup k veřejným repozitářům na této instanci.
users.organization_creation.description = Povolit vytváření nových organizací.
users.local_import.description = Povolit importování repozitářů z lokálního souborového systému serveru. Toto může být bezpečnostní problém.
users.admin.description = Udělit tomuto uživateli plný přístup ke všem administrativním funkcem dostupným ve webovém rozhraní a v rozhraní API.
[action]
create_repo=vytvořil/a repozitář <a href="%s">%s</a>
@ -3828,6 +3854,13 @@ need_approval_desc = Potřebovat schválení pro spouštění workflowů pro ž
runners.runner_manage_panel = Správa runnerů
runs.no_job_without_needs = Workflow musí obsahovat alespoň jednu práci bez závislostí.
runs.no_job = Workflow musí obsahovat alespoň jednu úlohu
workflow.dispatch.use_from = Použít workflow z
workflow.dispatch.run = Spustit workflow
workflow.dispatch.input_required = Vyžadovaná hodnota pro vstup „%s“.
workflow.dispatch.invalid_input_type = Neplatný typ vstupu „%s“.
workflow.dispatch.warn_input_limit = Zobrazování prvních %d vstupů.
workflow.dispatch.trigger_found = Tento workflow má spouštěč událostí <c>workflow_dispatch</c>.
workflow.dispatch.success = Žádost o spuštění workflow byla úspěšně odeslána.
[projects]
type-1.display_name=Samostatný projekt
@ -3870,6 +3903,8 @@ exact = Přesné
exact_tooltip = Zahrnout pouze výsledky, které přesně odpovídají hledanému výrazu
issue_kind = Hledat problémy...
pull_kind = Hledat pully...
union = Sdružené
union_tooltip = Zahrnout výsledky, které odpovídají jakýmkoli slovům odděleným mezerami
[markup]
filepreview.lines = Řádky %[1]d až %[2]d v souboru %[3]s
@ -3884,3 +3919,7 @@ gib = GiB
tib = TiB
pib = PiB
eib = EiB
[translation_meta]
test = ok

View file

@ -18,8 +18,8 @@ template=Vorlage
language=Sprache
notifications=Benachrichtigungen
active_stopwatch=Aktive Zeiterfassung
create_new=Erstellen
user_profile_and_more=Profil und Einstellungen
create_new=Erstellen
user_profile_and_more=Profil und Einstellungen
signed_in_as=Angemeldet als
enable_javascript=Diese Website benötigt JavaScript.
toc=Inhaltsverzeichnis
@ -158,6 +158,7 @@ filter.private = Privat
more_items = Mehr Einträge
invalid_data = Ungültige Daten: %v
copy_generic = In die Zwischenablage kopieren
test = Test
[aria]
navbar=Navigationsleiste
@ -189,6 +190,8 @@ buttons.ref.tooltip=Issue oder Pull-Request referenzieren
buttons.switch_to_legacy.tooltip=Legacy-Editor verwenden
buttons.enable_monospace_font=Festbreitenschrift aktivieren
buttons.disable_monospace_font=Festbreitenschrift deaktivieren
buttons.indent.tooltip = Einträge um eine Ebene verschachteln
buttons.unindent.tooltip = Einträge um eine Ebene entschachteln
[filter]
string.asc=AZ
@ -208,11 +211,11 @@ app_desc=Ein einfacher, selbst gehosteter Git-Service
install=Einfach zu installieren
install_desc=Starte einfach <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#installation-from-binary">die Anwendung</a> für deine Plattform oder nutze <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#container-image">Docker</a>. Es existieren auch <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">paketierte Versionen</a>.
platform=Plattformübergreifend
platform_desc=Forgejo läuft überall, wo <a target="_blank" rel="noopener noreferrer" href="https://go.dev/">Go</a> kompiliert: Windows, macOS, Linux, ARM, etc. Wähle das System, das dir am meisten gefällt!
platform_desc=Forgejo läuft auf freien Betriebssystemen wie Linux und FreeBSD, sowie auf verschiedenen CPU-Architekturen. Wähle das System, das du magst!
lightweight=Leichtgewichtig
lightweight_desc=Forgejo hat minimale Systemanforderungen und kann selbst auf einem günstigen und stromsparenden Raspberry Pi betrieben werden!
license=Quelloffen
license_desc=Hole dir <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">Forgejo</a>! Tritt uns bei, indem du uns <a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">hilfst</a>, dieses Projekt noch besser zu gestalten. Scheue dich nicht davor, bei uns mitzuwirken!
license_desc=Hole dir <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">Forgejo</a>! Schließ dich uns an, indem du uns <a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">hilfst</a>, dieses Projekt noch besser zu gestalten. Scheue dich nicht davor, bei uns mitzuwirken!
[install]
install=Installation
@ -233,7 +236,7 @@ sqlite_helper=Dateipfad zur SQLite3-Datenbank.<br>Gib einen absoluten Pfad an, w
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 Repositories und die authorized_keys-Datei manuell neu synchronisierst. Du bestätigst, dass du sicherstellst, dass die Repository- und Spiegeleinstellungen korrekt sind.
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.
no_admin_and_disable_registration=Du kannst Selbst-Registrierungen nicht deaktivieren, ohne ein Administratorkonto zu erstellen.
@ -291,8 +294,8 @@ enable_captcha=Registrierungs-Captcha aktivieren
enable_captcha.description=Eine Captcha-Eingabe bei der Benutzerselbstregistrierung verlangen.
require_sign_in_view=Ansehen erfordert Anmeldung
require_sign_in_view.description=Seitenzugriff auf angemeldete Benutzer beschränken. Besucher sehen nur die Anmelde- und Registrierungsseite.
admin_setting.description=Das Erstellen eines Administrator-Kontos ist optional. Der erste registrierte Benutzer wird automatisch Administrator.
admin_title=Administratoreinstellungen
admin_setting.description=Das Erstellen eines Administratorkontos ist optional. Der erste registrierte Benutzer wird automatisch Administrator.
admin_title=Administratorkonto-Einstellungen
admin_name=Administrator-Benutzername
admin_password=Passwort
confirm_password=Passwort bestätigen
@ -403,8 +406,8 @@ allow_password_change=Verlange vom Benutzer das Passwort zu ändern (empfohlen)
reset_password_mail_sent_prompt=Eine Bestätigungs-E-Mail wurde an <b>%s</b> gesendet. Bitte überprüfe dein Postfach innerhalb von %s, um den Wiederherstellungsprozess abzuschließen.
active_your_account=Aktiviere dein Konto
account_activated=Konto wurde aktiviert
prohibit_login=Anmelden verboten
prohibit_login_desc=Die Anmeldung mit diesem Konto ist nicht gestattet. Bitte kontaktiere den Administrator.
prohibit_login=Der Account ist gesperrt
prohibit_login_desc=Dein Account ist auf dieser Instanz gesperrt worden. Bitte kontaktiere den Instanz-Administrator.
resent_limit_prompt=Du hast bereits eine Aktivierungs-E-Mail angefordert. Bitte warte 3 Minuten und probiere es dann nochmal.
has_unconfirmed_mail=Hallo %s, du hast eine unbestätigte E-Mail-Adresse (<b>%s</b>). Wenn du keine Bestätigungs-E-Mail erhalten hast oder eine neue senden möchtest, klicke bitte auf den folgenden Button.
resend_mail=Aktivierungs-E-Mail erneut verschicken
@ -461,6 +464,11 @@ change_unconfirmed_email = Wenn du bei der Anmeldung eine falsche E-Mail-Adresse
remember_me.compromised = Der Anmeldetoken ist nicht mehr gültig, dies könnte auf ein kompromittiertes Konto hindeuten. Bitte prüfe dein Konto auf ungewöhnliche Aktivitäten.
tab_signin = Anmelden
tab_signup = Registrieren
sign_up_button = Jetzt registrieren.
back_to_sign_in = Zurück zur Anmeldung
sign_in_openid = Mit OpenID fortfahren
hint_login = Hast du bereits ein Konto? <a href="%s">Jetzt anmelden!</a>
hint_register = Brauchst du ein Konto? <a href="%s">Jetzt registrieren.</a>
[mail]
view_it_on=Auf %s ansehen
@ -477,10 +485,10 @@ activate_email=Bestätige deine E-Mail-Adresse
activate_email.title=%s, bitte verifiziere deine E-Mail-Adresse
activate_email.text=Bitte klicke innerhalb von <b>%s</b> auf folgenden Link, um dein Konto zu aktivieren:
register_notify=Willkommen bei Forgejo
register_notify_prev9=Willkommen bei Forgejo
register_notify.title=%[1]s, willkommen bei %[2]s
register_notify.text_1=dies ist deine Bestätigungs-E-Mail für %s!
register_notify.text_2=Du kannst dich mit dem Benutzernamen „%s“ anmelden.
register_notify.text_2=Du kannst dich mit dem Benutzernamen „%s“ anmelden
register_notify.text_3=Wenn jemand anderes diesen Account für dich erstellt hat, musst du zuerst <a href="%s">dein Passwort setzen</a>.
reset_password=Stelle dein Konto wieder her
@ -668,12 +676,12 @@ form.name_reserved=Der Benutzername „%s“ ist reserviert.
form.name_pattern_not_allowed=Das Muster „%s“ ist nicht in einem Benutzernamen erlaubt.
form.name_chars_not_allowed=Benutzername „%s“ enthält ungültige Zeichen.
block_user = Benutzer blockieren
block_user.detail = Bitte beachte, dass andere Maßnahmen ergriffen werden, wenn du diesen Benutzer blockierst, wie:
block_user.detail_2 = Dieser Benutzer kann nicht mit deinem Repository, erstellten Issues und Kommentaren interagieren.
block_user.detail_1 = Dieser Benutzer folgt dir nicht mehr.
block_user.detail = Bitte beachte, dass die Blockierung eines Benutzers auch andere Auswirkungen hat, so wie:
block_user.detail_2 = Dieser Benutzer wird nicht mehr nicht mit deinen Repositorys oder von dir erstellten Issues und Kommentaren interagieren können.
block_user.detail_1 = Ihr werdet euch nicht mehr gegenseitig folgen und könnt euch auch nicht mehr gegenseitig folgen.
block = Blockieren
follow_blocked_user = Du kannst diesen Benutzer nicht folgen, weil du ihn blockiert hast, oder er dich blockiert hat.
block_user.detail_3 = Dieser Benutzer kann dich nicht als einen Mitarbeiter hinzufügen, und du kannst ihn nicht als Mitarbeiter hinzufügen.
block_user.detail_3 = Ihr werdet nicht mehr in der Lage sein, euch gegenseitig als Repository-Mitarbeiter hinzuzufügen.
unblock = Nicht mehr blockieren
followers_one = %d Follower
following_one = %d Folge ich
@ -681,6 +689,10 @@ followers.title.few = Follower
following.title.one = Folgt
following.title.few = Folgt
followers.title.one = Follower
public_activity.visibility_hint.self_public = Deine Aktivität ist sichtbar für alle, außer für Interaktionen in privaten Räumen. <a href="%s">Konfigurieren</a>.
public_activity.visibility_hint.admin_public = Diese Aktivität ist sichtbar für alle, aber als Administrator kannst du außerdem Interaktionen in privaten Räumen sehen.
public_activity.visibility_hint.self_private = Deine Aktivität ist nur sichtbar für dich und den Instanzadministratoren. <a href="%s">Konfigurieren</a>.
public_activity.visibility_hint.admin_private = Diese Aktivität ist sichtbar für dich, weil du ein Administrator bist, aber der Benutzer will sie privat halten.
[settings]
profile=Profil
@ -795,7 +807,7 @@ add_email_success=Die neue E-Mail-Addresse wurde hinzugefügt.
email_preference_set_success=E-Mail-Einstellungen wurden erfolgreich aktualisiert.
add_openid_success=Die neue OpenID-Adresse wurde hinzugefügt.
keep_email_private=E-Mail-Adresse verbergen
keep_email_private_popup=Dies wird deine E-Mail-Adresse nicht nur in deinem Profil ausblenden, sondern auch, wenn du einen Pull Request erstellst oder eine Datei über das Web-Interface bearbeitest. Gepushte Commits werden nicht geändert. Benutze %s in Commits, um sie mit deinem Konto zu assoziieren.
keep_email_private_popup=Dies wird deine E-Mail-Adresse in deinem Profil ausblenden. Sie wird nicht mehr der Standardwert für die Commits, die vom Web-Interface gemacht wurden, sein, z.B. Dateiuploads und -bearbeitungen, und sie wird nicht für Merge-Commits benutzt werden. Stattdessen kann eine besondere Adresse %s benutzt werden, um Commits mit deinem Konto zu assoziieren. Beachte, dass diese Option für existierende Commits keine Wirkung hat.
openid_desc=Mit OpenID kannst du dich über einen Drittanbieter authentifizieren.
manage_ssh_keys=SSH-Schlüssel verwalten
@ -1008,6 +1020,9 @@ pronouns = Pronomen
pronouns_custom = Eigene
pronouns_unspecified = Nicht spezifiziert
language.title = Standardsprache
keep_activity_private.description = Deine <a href="%s">öffentliche Aktivität</a> wird nur für dich selbst und die Instanzadminstratoren sichtbar sein.
language.localization_project = Hilf uns, Forgejo in deine Sprache zu übersetzen! <a href="%s">Mehr erfahren</a>.
language.description = Diese Sprache wird in deinem Konto gespeichert und standardmäßig nach dem Anmelden benutzt.
[repo]
owner=Besitzer
@ -1049,7 +1064,7 @@ issue_labels=Issue-Labels
issue_labels_helper=Wähle eine Issue-Label-Sammlung.
license=Lizenz
license_helper=Wähle eine Lizenz aus.
license_helper_desc=Eine Lizenz regelt, was andere mit deinem Code tun (oder nicht tun) können. Unsicher, welches für dein Projekt die Richtige ist? Siehe <a target="_blank" rel="noopener noreferrer" href="%s">Choose a license.</a>.
license_helper_desc=Eine Lizenz regelt, was andere mit deinem Code tun (oder nicht tun) können. Unsicher, welches für dein Projekt die Richtige ist? Siehe <a target="_blank" rel="noopener noreferrer" href="%s">Choose a license.</a>
readme=README
readme_helper=Wähle eine README-Vorlage aus.
readme_helper_desc=Hier kannst du eine komplette Beschreibung für dein Projekt schreiben.
@ -1126,7 +1141,7 @@ template.webhooks=Webhooks
template.topics=Themen
template.avatar=Profilbild
template.issue_labels=Issue-Labels
template.one_item=Es muss mindestens eine Vorlage ausgewählt werden
template.one_item=Es muss mindestens eine Vorlagenelement ausgewählt werden
template.invalid=Es muss ein Vorlagen-Repository ausgewählt werden
archive.title=Dieses Repository ist archiviert. Du kannst Dateien ansehen und es klonen, kannst aber nicht pushen oder Issues/Pull-Requests öffnen.
@ -1265,6 +1280,7 @@ view_git_blame=Git Blame ansehen
video_not_supported_in_browser=Dein Browser unterstützt das HTML5-„video“-Tag nicht.
audio_not_supported_in_browser=Dein Browser unterstützt das HTML5-„audio“-Tag nicht.
stored_lfs=Gespeichert mit Git LFS
stored_annex=Gespeichert mit Git Annex
symbolic_link=Softlink
executable_file=Ausführbare Datei
commit_graph=Commit-Graph
@ -1288,6 +1304,7 @@ editor.upload_file=Datei hochladen
editor.edit_file=Datei bearbeiten
editor.preview_changes=Vorschau der Änderungen
editor.cannot_edit_lfs_files=LFS-Dateien können im Webinterface nicht bearbeitet werden.
editor.cannot_edit_annex_files=Annex-Dateien können im Webinterface nicht bearbeitet werden.
editor.cannot_edit_non_text_files=Binärdateien können nicht im Webinterface bearbeitet werden.
editor.edit_this_file=Datei bearbeiten
editor.this_file_locked=Datei ist gesperrt
@ -1572,8 +1589,8 @@ issues.reopened_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> wiede
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">auf einen Pull-Request %[4]s verwiesen, welcher das Issue schließen wird</a>`
issues.ref_reopening_from=`<a href="%[3]s">hat auf einen Pull-Request %[4]s verwiesen, welcher das Issue</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> erneut öffnen wird`
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.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`
@ -2371,8 +2388,8 @@ settings.protect_whitelist_users=Nutzer, die pushen dürfen:
settings.protect_whitelist_search_users=Benutzer suchen …
settings.protect_whitelist_teams=Teams, die pushen dürfen:
settings.protect_whitelist_search_teams=Teams suchen …
settings.protect_merge_whitelist_committers=Merge-Whitelist aktivieren
settings.protect_merge_whitelist_committers_desc=Erlaube Nutzern oder Teams auf der Whitelist, Pull-Requests in diesen Branch zusammenzuführen.
settings.protect_merge_whitelist_committers=Merge-Positivliste aktivieren
settings.protect_merge_whitelist_committers_desc=Erlaube Nutzern oder Teams auf der Positivliste, Pull-Requests in diesen Branch zusammenzuführen.
settings.protect_merge_whitelist_users=Nutzer, die zusammenführen dürfen:
settings.protect_merge_whitelist_teams=Teams, die zusammenführen dürfen:
settings.protect_check_status_contexts=Statusprüfung aktivieren
@ -2385,10 +2402,10 @@ settings.protect_invalid_status_check_pattern=Ungültiges Statusprüfungspattern
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_approvals_whitelist_enabled=Genehmigungen auf Benutzer oder Teams auf der Whitelist beschränken
settings.protect_approvals_whitelist_enabled_desc=Nur Reviews von Benutzern auf der Whitelist oder Teams zählen zu den erforderlichen Genehmigungen. Existiert keine Whitelist, so zählen Reviews von jedem mit Schreibzugriff zu den erforderlichen Genehmigungen.
settings.protect_approvals_whitelist_users=Reviewer auf der Whitelist:
settings.protect_approvals_whitelist_teams=Für Reviews gewhitelistete Teams:
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.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
@ -2677,7 +2694,7 @@ commits.browse_further = Weiter browsen
pulls.nothing_to_compare_have_tag = Der gewählte Branch/Tag ist gleich.
pulls.status_checks_hide_all = Alle Prüfungen verbergen
pulls.status_checks_show_all = Alle Prüfungen anzeigen
pulls.cmd_instruction_hint = `<a class="show-instruction">Anweisungen für die Kommandozeile</a> betrachten.`
pulls.cmd_instruction_hint = Anweisungen für die Kommandozeile betrachten
pulls.cmd_instruction_checkout_title = Auschecken
wiki.cancel = Abbrechen
settings.wiki_globally_editable = Allen erlauben, das Wiki zu bearbeiten
@ -2750,7 +2767,7 @@ settings.transfer.button = Besitz übertragen
settings.transfer.modal.title = Besitz übertragen
wiki.no_search_results = Keine Ergebnisse
wiki.search = Wiki durchsuchen
n_release_one = %s freigegebn
n_release_one = %s freigegeben
n_release_few = %s Veröffentlichungen
form.string_too_long = Die Zeichenkette ist länger als %d Zeichen.
settings.federation_settings = Föderationseinstellungen
@ -2763,6 +2780,9 @@ issues.edit.already_changed = Die Änderungen an diesem Issue können nicht gesp
pulls.edit.already_changed = Die Änderungen an diesem Pull-Request können nicht gespeichert werden. Es scheint, als seien die Inhalte bereits durch einen anderen Benutzer verändert worden. Bitte die Seite neu laden und das Bearbeiten erneut versuchen, um deren Änderungen nicht zu überschreiben
subscribe.pull.guest.tooltip = Einloggen, um diesen Pull-Request zu abbonieren.
subscribe.issue.guest.tooltip = Einloggen, um dieses Issue zu abbonieren.
issues.author.tooltip.pr = Dieser Benutzer ist der Autor dieses Pull-Requests.
issues.author.tooltip.issue = Dieser Benutzer ist der Autor dieses Issues.
activity.commit = Commit-Aktivität
[graphs]
@ -2834,13 +2854,13 @@ members.member=Mitglied
members.remove=Entfernen
members.remove.detail=%[1]s aus %[2]s entfernen?
members.leave=Verlassen
members.leave.detail=%s verlassen?
members.leave.detail=Bist du dir sicher, dass du die Organisation „%s verlassen willst?
members.invite_desc=Neues Mitglied zu %s hinzufügen:
members.invite_now=Jetzt einladen
teams.join=Beitreten
teams.leave=Verlassen
teams.leave.detail=%s verlassen?
teams.leave.detail=Bist du dir sicher, dass du das Team „%s verlassen willst?
teams.can_create_org_repo=Repositorys erstellen
teams.can_create_org_repo_helper=Mitglieder können neue Repositorys in der Organisation erstellen. Der Ersteller erhält Administrator-Zugriff auf das neue Repository.
teams.none_access=Kein Zugriff
@ -2948,7 +2968,7 @@ dashboard.update_migration_poster_id=Migration Poster-IDs updaten
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.
dashboard.resync_all_hooks=Die „pre-receive“-, „update“- und „post-receive“-Hooks für alle Repositorys erneut synchronisieren.
dashboard.resync_all_hooks=Die „pre-receive“-, „update“- und „post-receive“-Hooks für alle Repositorys erneut synchronisieren
dashboard.reinit_missing_repos=Alle Git-Repositorys neu einlesen, für die Einträge existieren
dashboard.sync_external_users=Externe Benutzerdaten synchronisieren
dashboard.cleanup_hook_task_table=Hook-Task-Tabelle bereinigen
@ -3021,10 +3041,10 @@ users.update_profile_success=Das Benutzerkonto wurde aktualisiert.
users.edit_account=Benutzerkonto bearbeiten
users.max_repo_creation=Maximale Anzahl an Repositorys
users.max_repo_creation_desc=(Gib -1 ein, um das globale Standardlimit zu verwenden.)
users.is_activated=Account ist aktiviert
users.prohibit_login=Anmelden deaktivieren
users.is_admin=Ist Administrator
users.is_restricted=Ist eingeschränkt
users.is_activated=Aktivierter Account
users.prohibit_login=Gesperrter Account
users.is_admin=Administrator-Account
users.is_restricted=Eingeschränkter Account
users.allow_git_hook=Kann Git-Hooks erstellen
users.allow_git_hook_tooltip=Git-Hooks werden mit denselben Benutzer-Rechten ausgeführt, mit denen Forgejo läuft, und haben die gleiche Ebene von Host-Zugriff. Dadurch können Benutzer mit diesen speziellen Git-Hook-Rechten auf alle Forgejo-Repositorys sowie auf die von Forgejo verwendete Datenbank zugreifen und diese ändern. Auch das Erhalten von Administratorrechten für Forgejo ist möglich.
users.allow_import_local=Kann lokale Repositorys importieren
@ -3073,7 +3093,7 @@ orgs.new_orga=Neue Organisation
repos.repo_manage_panel=Repositorys verwalten
repos.unadopted=Nicht übernommene Repositorys
repos.unadopted.no_more=Keine weiteren nicht übernommenen Repositorys gefunden
repos.unadopted.no_more=Keine nicht übernommenen Repositorys gefunden.
repos.owner=Besitzer
repos.name=Name
repos.private=Privat
@ -3434,6 +3454,16 @@ config_summary = Zusammenfassung
auths.tip.gitlab_new = Registriere eine neue Anwendung auf https://gitlab.com/-/profile/applications
auths.default_domain_name = Standarddomainname, der für die E-Mail-Adresse benutzt wird
config.app_slogan = Instanz-Slogan
config.cache_test_failed = Konnte den Cache nicht untersuchen: %v.
config.cache_test_succeeded = Cache-Test erfolgreich, eine Antwort erhalten in %s.
config.cache_test = Cache testen
config.cache_test_slow = Cache-Test erfolgreich, aber die Antwort ist langsam: %s.
users.block.description = Interaktionen mit diesen Dienst für diesen Benutzer mit seinem Account blockierten und Einloggen verhindern.
users.restricted.description = Nur Interaktionen mit den Repositorys und Organisationen erlauben, wo der Benutzer als Mitarbeiter hinzugefügt wurde. Dies verhindert Zugriff auf öffentliche Repositorys in dieser Instanz.
users.local_import.description = Import von Repositorys aus dem lokalen Dateisystem des Servers erlauben. Dies kann ein Sicherheitsproblem sein.
users.organization_creation.description = Erstellung neuer Organisationen erlauben.
users.activated.description = Abschluss der E-Mail-Verifizierung. Der Besitzer eines nicht aktivierten Accounts wird nicht in der Lage sein, sich einzuloggen, bis die E-Mail-Verifikation abgeschlossen wurde.
users.admin.description = Diesen Benutzer vollständigen Zugriff zu allen administrativen Features gewähren mittels der Web-UI und der API.
[action]
@ -3516,7 +3546,7 @@ error.generate_hash=Es konnte kein Hash vom Commit generiert werden
error.no_committer_account=Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
error.no_gpg_keys_found=Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
error.not_signed_commit=Kein signierter Commit
error.failed_retrieval_gpg_keys=Fehler beim Abrufen eines Keys des Commiter-Kontos
error.failed_retrieval_gpg_keys=Fehler beim Abrufen eines Schlüssels des Committer-Kontos
error.probable_bad_signature=WARNHINWEIS! Obwohl ein Schlüssel mit dieser ID in der Datenbank existiert, verifiziert er nicht diesen Commit! Dieser Commit ist VERDÄCHTIG.
error.probable_bad_default_signature=WARNHINWEIS! Obwohl der Standardschlüssel diese ID hat, verifiziert er nicht diesen Commit! Dieser Commit ist VERDÄCHTIG.
@ -3790,6 +3820,13 @@ variables.id_not_exist = Variable mit ID %d existiert nicht.
runs.workflow = Workflow
runs.no_job_without_needs = Der Workflow muss mindestens einen Job ohne Abhängigkeiten enthalten.
runs.no_job = Der Workflow muss mindestens einen Job enthalten
workflow.dispatch.use_from = Workflow benutzen von
workflow.dispatch.run = Workflow ausführen
workflow.dispatch.input_required = Wert für Eingabe „%s“ erfordern.
workflow.dispatch.invalid_input_type = Ungültiger Eingabetyp „%s“.
workflow.dispatch.warn_input_limit = Es werden nur die ersten %d Eingaben angezeigt.
workflow.dispatch.trigger_found = Dieser Workflow hat einen <c>workflow_dispatch</c>-Event-Trigger.
workflow.dispatch.success = Ausführung des Workflows wurde erfolgreich angefragt.
[projects]
type-1.display_name=Individuelles Projekt
@ -3836,12 +3873,14 @@ commit_kind = Commits suchen …
runner_kind = Runners suchen …
no_results = Keine passenden Ergebnisse gefunden.
code_search_unavailable = Die Code-Suche ist momentan nicht verfügbar. Bitte kontaktiere den Webseitenadministrator.
keyword_search_unavailable = Suche nach Schlüsselwörtern ist momentan nicht unterstüzt. Bitte kontaktiere den Webseitenadministrator.
keyword_search_unavailable = Die Suche mittels Schlüsselwort ist momentan nicht verfügbar. Bitte kontaktiere den Webseitenadministrator.
code_search_by_git_grep = Die derzeitigen Codesuchergebnisse werden durch „git grep“ bereitgestellt. Es könnten bessere Ergebnisse erzielt werden, wenn der Administrator die Repository-Indizierung aktiviert.
exact = Exakt
exact_tooltip = Nur Ergebnisse einbinden, die auf den exakten Suchbegriff passen
issue_kind = Issues durchsuchen …
pull_kind = Pulls durchsuchen …
union = Vereinigungsmenge
union_tooltip = Ergebnisse, die auf ein beliebiges von den Whitespace getrennten Schlüsselwörtern passen, einbinden
[markup]
filepreview.line = Zeile %[1]d in %[2]s
@ -3856,3 +3895,7 @@ tib = TiB
pib = PiB
mib = MiB
eib = EiB
[translation_meta]
test = ok

View file

@ -87,7 +87,7 @@ rerun=Επανεκτέλεση
rerun_all=Επανεκτέλεση όλων
save=Αποθήκευση
add=Προσθήκη
add_all=Προσθήκη Όλων
add_all=Προσθήκη όλων
remove=Αφαίρεση
remove_all=Αφαίρεση όλων
remove_label_str=Αφαίρεση αντικειμένου «%s»
@ -154,12 +154,14 @@ filter.not_fork = Εξαίρεση fork
filter.is_mirror = Είδωλα
filter.not_mirror = Εξαίρεση ειδώλων
filter.not_template = Εξαίρεση προτύπων
filter.is_fork = Forked
filter.is_fork = Forks
more_items = Περισσότερα αντικείμενα
invalid_data = Τα δεδομένα δεν είναι έγκυρα: %v
test = Τεστ
copy_generic = Αντιγραφή στο πρόχειρο
[aria]
navbar=Γραμμή Πλοήγησης
navbar=Μπάρα πλοήγησης
footer=Υποσέλιδο
footer.software=Σχετικά με το Λογισμικό
footer.links=Συνδέσεις
@ -244,7 +246,7 @@ err_admin_name_is_invalid=Το Όνομα Χρήστη του Διαχειρισ
general_title=Γενικές ρυθμίσεις
app_name=Τίτλος διακομιστή
app_name_helper=Μπορείτε να εισάγετε το όνομα της εταιρείας σας εδώ.
app_name_helper=Γράψτε το όνομα του διακομιστή σας εδώ. Θα εμφανίζεται σε κάθε σελίδα.
repo_path=Τοποθεσία αρχείων αποθετηρίων
repo_path_helper=Τα απομακρυσμένα αποθετήρια Git θα αποθηκεύονται σε αυτόν τον κατάλογο.
lfs_path=Τοποθεσία αρχείων Git LFS
@ -274,22 +276,22 @@ register_confirm=Να απαιτείται η επιβεβαίωση της δι
mail_notify=Ενεργοποίηση ειδοποιήσεων email
server_service_title=Ρυθμίσεις διακομιστή και υπηρεσιών τρίτων
offline_mode=Ενεργοποίηση τοπικής λειτουργίας
offline_mode.description=Απενεργοποιήση των δικτύων διανομής περιεχομένου τρίτων και σερβίρετε όλων των πόρων τοπικά.
offline_mode.description=Τα CDN τρίτων θα απενεργοποιηθούν, και όλα τα αρχεία θα παρέχονται αποκλειστικά από τον διακομιστή.
disable_gravatar=Απενεργοποίηση Gravatar
disable_gravatar.description=Το Gravatar και άλλες εξωτερικές πηγές εικόνων προφίλ θα απενεργοποιηθούν. Θα χρησιμοποιηθεί μία προεπιλεγμένη εικόνα προφίλ, εκτός αν ο χρήστης ανεβάσει από μόνος του ένα avatar.
federated_avatar_lookup=Ενεργοποίηση αποκεντρωμένων εικόνων προφίλ
federated_avatar_lookup.description=Ενεργοποίηση αποκεντρωμένης αναζήτησης εικόνων προφίλ μέσω Libravatar.
disable_registration=Απενεργοποίηση αυτοεγγραφής
disable_registration.description=Απενεργοποίηση αυτοεγγραφής χρήστη. Μόνο οι διαχειριστές θα μπορούν να δημιουργήσουν νέους λογαριασμούς χρηστών.
allow_only_external_registration.description=Να επιτρέπεται η εγγραφή μόνο μέσω εξωτερικών υπηρεσιών
disable_registration.description=Μόνο οι διαχειριστές θα μπορούν να δημιουργήσουν νέους λογαριασμούς χρηστών. Σας συνιστούμε να απενεργοποιήσετε τις εγγραφές, εκτός αν θέλετε να προσφέρετε τον διακομιστή σας σε ένα ευρύ κοινό και είστε έτοιμος να αφαιρέσετε λογαριασμούς που θα χρησιμοποιηθούν για spam.
allow_only_external_registration.description=Οι χρήστες θα μπορούν να δημιουργήσουν λογαριασμούς μόνο μέσω εξωτερικών υπηρεσιών.
openid_signin=Ενεργοποίηση σύνδεσης μέσω OpenID
openid_signin.description=Ενεργοποίηση σύνδεσης χρήστη μέσω OpenID.
openid_signup=Ενεργοποίηση εγγραφών μέσω OpenID
openid_signup.description=Ενεργοποίηση ιδιοεγγραφής χρηστών με βάση το OpenID.
enable_captcha=Ενεργοποίηση CAPTCHA στην εγγραφή
enable_captcha.description=Να απαιτείται CAPTCHA για την δημιουργία λογαριασμού.
enable_captcha.description=Να απαιτείται CAPTCHA για την δημιουργία λογαριασμών.
require_sign_in_view=Να απαιτείται είσοδος για την προβολή περιεχομένων
require_sign_in_view.description=Περιορισμός της πρόσβασης σε συνδεδεμένους χρήστες. Οι επισκέπτες θα μπορούν μόνο να δουν τις σελίδες εισόδου και εγγραφής.
require_sign_in_view.description=Το περιεχόμενο του διακομιστή σας θα μπορούν να το βλέπουν μόνο συνδεδεμένοι χρήστες. Οι επισκέπτες θα μπορούν μόνο να δουν τις σελίδες εισόδου και εγγραφής.
admin_setting.description=Η δημιουργία ενός λογαριασμού διαχειριστή είναι προαιρετική. Ο πρώτος εγγεγραμμένος χρήστης θα γίνει αυτόματα διαχειριστής.
admin_title=Ρυθμίσεις λογαριασμού διαχειριστή
admin_name=Όνομα χρήστη διαχειριστή
@ -312,9 +314,9 @@ invalid_log_root_path=Η τοποθεσία αρχείων καταγραφής
default_keep_email_private=Απόκρυψη διευθύνσεων email από προεπιλογή
default_keep_email_private.description=Απόκρυψη διευθύνσεων email των νέων λογαριασμών χρήστη σαν προεπιλογή.
default_allow_create_organization=Να επιτρέπεται η δημιουργία οργανισμών από προεπιλογή
default_allow_create_organization.description=Επιτρέψτε σε νέους λογαριασμούς χρηστών να δημιουργούν οργανισμούς σαν προεπιλογή.
default_allow_create_organization.description=Να επιτρέπεται στους χρήστες να δημιουργούν οργανισμούς από προεπιλογή. Αν απενεργοποιήσετε αυτήν την ρύθμιση, τότε ο χρήστης θα μπορεί να δημιουργήσει οργανισμούς μόνο με την έγκριση ενός διαχειριστή.
default_enable_timetracking=Ενεργοποίηση καταγραφής χρόνου από προεπιλογή
default_enable_timetracking.description=Ενεργοποίηση καταγραφής χρόνου για νέα αποθετήρια σαν προεπιλογή.
default_enable_timetracking.description=Να ενεργοποιείται η λειτουργία καταγραφής χρόνου σε νέα αποθετήρια από προεπιλογή.
no_reply_address=Domain κρυφών email
no_reply_address_helper=Όνομα τομέα (domain) για χρήστες με μια κρυφή διεύθυνση email. Για παράδειγμα, το όνομα χρήστη 'nikos' θα συνδεθεί στο Git ως 'nikos@noreply.example.org' αν ο κρυφός τομέας email έχει οριστεί ως 'noreply.example.org'.
password_algorithm=Αλγόριθμος hash για κωδικούς
@ -327,19 +329,22 @@ allow_dots_in_usernames = Επιτρέπει την χρήση τελείων σ
enable_update_checker_helper_forgejo = Θα γίνεται τακτικά έλεγχος για νέες εκδόσεις του Forgejo ελέγχοντας μία εγγραφή DNS TXT στο release.forgejo.org.
smtp_from_invalid = Η διεύθυνση του πεδίου «Αποστολή email ως» δεν είναι έγκυρη
config_location_hint = Αυτές οι ρυθμίσεις θα αποθηκευτούν στην ακόλουθη τοποθεσία:
allow_only_external_registration = Να επιτρέπονται οι εγγραφές μόνο μέσω εξωτερικών υπηρεσιών
app_slogan = Slogan διακομιστή
app_slogan_helper = Γράψτε το slogan του διακομιστή σας εδώ. Αφήστε κενό για να το απενεργοποιήσετε.
[home]
uname_holder=Όνομα χρήστη ή διεύθυνση email
password_holder=Κωδικός Πρόσβασης
switch_dashboard_context=Εναλλαγή Περιεχομένων Αρχικού Πίνακα
switch_dashboard_context=Εναλλαγή περιεχομένων αρχικού πίνακα
my_repos=Αποθετήρια
show_more_repos=Περισσότερα αποθετήρια…
collaborative_repos=Συνεργατικά Αποθετήρια
collaborative_repos=Συνεργατικά αποθετήρια
my_orgs=Οργανισμοί
my_mirrors=Τα Αντίγραφα Μου
view_home=Προβολή %s
search_repos=Βρείτε ένα αποθετήριο…
filter=Άλλα Φίλτρα
filter=Άλλα φίλτρα
filter_by_team_repositories=Φιλτράρισμα ανά αποθετήρια ομάδας
feed_of=Ροή (feed) του «%s»
@ -382,7 +387,7 @@ forks_one = %d fork
forks_few = %d forks
[auth]
create_new_account=Δημιουργία Λογαριασμού
create_new_account=Δημιουργία λογαριασμού
register_helper_msg=Έχετε ήδη λογαριασμό; Συνδεθείτε τώρα!
social_register_helper_msg=Έχετε ήδη λογαριασμό; Συνδέστε το τώρα!
disable_register_prompt=Οι εγγραφές είναι απενεργοποιημένες. Παρακαλούμε να επικοινωνήσετε με το διαχειριστή του ιστοτόπου.
@ -398,7 +403,7 @@ confirmation_mail_sent_prompt=Ένα νέο email επιβεβαίωσης έχ
must_change_password=Ενημερώστε τον κωδικό πρόσβασης σας
allow_password_change=Απαιτείται από το χρήστη να αλλάξει τον κωδικό πρόσβασης (συνιστόμενο)
reset_password_mail_sent_prompt=Ένα email επιβεβαίωσης έχει σταλεί στο <b>%s</b>. Για την ολοκλήρωση της διαδικασίας ανάκτησης του λογαριασμού σας, παρακαλώ ελέγξτε τα εισερχόμενα σας στις επόμενες %s.
active_your_account=Ενεργοποιήστε Το Λογαριασμό Σας
active_your_account=Ενεργοποίηση λογαριασμού
account_activated=Ο λογαριασμός έχει ενεργοποιηθεί
prohibit_login=Δεν επιτρέπεται η σύνδεση
prohibit_login_desc=Δεν επιτρέπεται η σύνδεση στον λογαριασμό σας, παρακαλούμε επικοινωνήστε με το διαχειριστή σας.
@ -406,8 +411,8 @@ resent_limit_prompt=Έχετε ήδη ζητήσει ένα email ενεργοπ
has_unconfirmed_mail=Γειά %s, η διεύθυνση ηλεκτρονικού ταχυδρομείου σας (<b>%s</b>) δεν έχει επιβεβαιωθεί ακόμα. Εάν δεν έχετε λάβει κάποιο email επιβεβαίωσης ή αν χρειάζεστε ένα νέο email επιβεβαίωσης, παρακαλώ πατήστε το παρακάτω κουμπί.
resend_mail=Κάντε κλικ εδώ για να στείλετε ξανά το email ενεργοποίησης
email_not_associate=Η διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι συσχετισμένη με κάποιο λογαριασμό.
send_reset_mail=Αποστολή Email Ανάκτησης Λογαριασμού
reset_password=Ανάκτηση Λογαριασμού
send_reset_mail=Αποστολή email ανάκτησης λογαριασμού
reset_password=Ανάκτηση λογαριασμού
invalid_code=Ο κωδικός επιβεβαίωσης δεν είναι έγκυρος ή έχει λήξει.
invalid_code_forgot_password=Ο κωδικός επιβεβαίωσης έχει λήξει ή δεν είναι έγκυρος. Πατήστε <a href="%s">εδώ</a> για να ξαναξεκινήσετε την διαδικασία.
invalid_password=Ο κωδικός πρόσβασης σας δεν ταιριάζει με τον κωδικό που χρησιμοποιήθηκε για τη δημιουργία του λογαριασμού.
@ -424,11 +429,11 @@ twofa_scratch_token_incorrect=Ο κωδικός μιας χρήσης είναι
login_userpass=Είσοδος
tab_openid=OpenID
oauth_signup_tab=Δημιουργία νέου λογαριασμού
oauth_signup_title=Ολοκλήρωση Νέου Λογαριασμού
oauth_signup_submit=Ολοκληρωμένος Λογαριασμός
oauth_signup_title=Ολοκλήρωση νέου λογαριασμού
oauth_signup_submit=Ολοκλήρωση λογαριασμού
oauth_signin_tab=Σύνδεση με υπάρχων λογαριασμό
oauth_signin_title=Συνδεθείτε για να εγκρίνετε τον Συνδεδεμένο Λογαριασμό
oauth_signin_submit=Σύνδεση Λογαριασμού
oauth_signin_title=Συνδεθείτε για να εγκρίνετε τον συνδεδεμένο λογαριασμό
oauth_signin_submit=Σύνδεση λογαριασμού
oauth.signin.error=Παρουσιάστηκε σφάλμα κατά την επεξεργασία του αιτήματος εξουσιοδότησης. Εάν αυτό το σφάλμα επιμένει, παρακαλούμε επικοινωνήστε με το διαχειριστή του ιστοτόπου.
oauth.signin.error.access_denied=Η αίτηση εξουσιοδότησης απορρίφθηκε.
oauth.signin.error.temporarily_unavailable=Η εξουσιοδότηση απέτυχε επειδή ο διακομιστής ταυτοποίησης δεν είναι διαθέσιμος προσωρινά. Παρακαλώ προσπαθήστε ξανά αργότερα.
@ -444,7 +449,7 @@ email_domain_blacklisted=Δεν μπορείτε να εγγραφείτε με
authorize_application=Εξουσιοδότηση Εφαρμογής
authorize_redirect_notice=Θα μεταφερθείτε στο %s εάν εξουσιοδοτήσετε αυτήν την εφαρμογή.
authorize_application_created_by=Αυτή η εφαρμογή δημιουργήθηκε από %s.
authorize_application_description=Εάν παραχωρήσετε την πρόσβαση, θα μπορεί να έχει πρόσβαση και να γράφει σε όλες τις πληροφορίες του λογαριασμού σας, συμπεριλαμβανομένων των ιδιωτικών αποθετηρίων και οργανισμών.
authorize_application_description=Αν παραχωρήσετε την πρόσβαση, θα μπορεί να διαβάσει και να επεξεργαστεί όλες τις πληροφορίες του λογαριασμού σας, συμπεριλαμβανομένων των ιδιωτικών αποθετηρίων και οργανισμών.
authorize_title=Είστε βέβαιοι πως θέλετε να δώσετε πρόσβαση στον λογαριασμό σας στην εφαρμογή «%s»;
authorization_failed=Αποτυχία εξουσιοδότησης
authorization_failed_desc=Η εξουσιοδότηση απέτυχε επειδή εντοπίστηκε μια μη έγκυρη αίτηση. Παρακαλούμε επικοινωνήστε με το συντηρητή της εφαρμογής που προσπαθήσατε να εξουσιοδοτήσετε.
@ -473,7 +478,7 @@ activate_email=Επιβεβαιώστε τη διεύθυνση email σας
activate_email.title=%s, επαληθεύστε τη διεύθυνση email σας
activate_email.text=Για να επαληθεύσετε τη διεύθυνση email σας, παρακαλώ πατήστε τον ακόλουθο σύνδεσμο μέσα σε <b>%s</b>:
register_notify=Καλώς ήλθατε στο Forgejo
register_notify_prev9=Καλώς ήλθατε στο Forgejo
register_notify.title=%[1]s, καλώς ήλθατε στο %[2]s
register_notify.text_1=αυτό είναι το email επιβεβαίωσης εγγραφής σας για το %s!
register_notify.text_2=Μπορείτε να συνδεθείτε χρησιμοποιώντας το όνομα χρήστη σας: %s
@ -555,7 +560,7 @@ TreeName=Διαδρομή αρχείου
Content=Περιεχόμενο
SSPISeparatorReplacement=Διαχωριστικό
SSPIDefaultLanguage=Προεπιλεγμένη Γλώσσα
SSPIDefaultLanguage=Προεπιλεγμένη γλώσσα
require_error=` δεν μπορεί να είναι κενό.`
alpha_dash_error=`: Πρέπει να περιέχει μόνο αλφαριθμητικά, παύλες ('-') και κάτω παύλες ('_').`
@ -629,6 +634,14 @@ admin_cannot_delete_self = Δεν μπορείτε να διαγράψετε τ
unset_password = Ο χρήστης δεν έχει ορίσει κάποιον κωδικό.
unsupported_login_type = Η μέθοδος με την οποίο γίνεται η σύνδεση δεν υποστηρίζει την διαγραφή λογαριασμών.
required_prefix = Το εισαγώμενο κείμενο πρέπει να ξεκινά με «%s»
To = Όνομα κλάδου
AccessToken = Διακριτικό πρόσβασης (token)
FullName = Πλήρες όνομα
Description = Περιγραφή
Pronouns = Αντωνυμίες
Biography = Βιογραφία
Website = Ιστοσελίδα
Location = Τοποθεσία
[user]
@ -659,12 +672,20 @@ follow_blocked_user = Δεν μπορείτε να ακολουθήσετε το
unblock = Άρση αποκλεισμού
block = Αποκλεισμός
block_user = Αποκλεισμός χρήστη
block_user.detail_1 = Ο χρήστης δεν θα ακολουθεί πια τον λογαριασμό σας.
block_user.detail_2 = Ο χρήστης δεν θα μπορεί να αλληλεπιδράσει με τα αποθετήριά σας, να δημιουργήσει ζητήματα ή να αφήσει σχόλια.
block_user.detail_3 = Ο χρήστης δεν θα μπορέσει να σας προσθέσει στα αποθετήριά του ως συνεργάτη και αντίστοιχα δεν θα μπορείτε να τον προσθέσετε στα δικά σας αποθετήρια.
block_user.detail = Επισημαίνεται πως αν αποκλείσετε αυτόν τον χρήστη, θα προκύψουν ταυτόχρονα και άλλες ενέργειες. Μερικές από αυτές:
block_user.detail_1 = Ο χρήστης θα πάψει να ακολουθεί τον λογαριασμό σας.
block_user.detail_2 = Ο χρήστης δεν θα μπορεί να αλληλεπιδράσει με τα αποθετήριά, τα ζητήματα και τα σχόλια σας.
block_user.detail_3 = Δεν θα μπορείτε να προσθέσετε ο ένας τον άλλον στα αποθετήριά σας ως συνεργάτη.
block_user.detail = Επισημαίνεται πως αν αποκλείσετε αυτόν τον χρήστη, θα προκύψουν ταυτόχρονα και άλλες ενέργειες, όπως:
followers_one = %d ακόλουθος
following_one = ακολουθεί %d
public_activity.visibility_hint.admin_private = Αν και ο χρήστης προτιμά να κρατά την δραστηριότητά του ιδιωτική, είναι ορατή σε εσάς επειδή είστε ένας διαχειριστής.
followers.title.one = ακόλουθος
followers.title.few = ακόλουθοι
following.title.few = ακολουθεί
following.title.one = ακολουθεί
public_activity.visibility_hint.admin_public = Η δραστηριότητα είναι ορατή σε όλους, αλλά ως διαχειριστής μπορείτε να δείτε και τις αλληλεπιδράσεις σε ιδιωτικούς χώρους.
public_activity.visibility_hint.self_public = Η δραστηριότητά σου είναι ορατή σε όλους, πλην τις αλληλεπιδράσεις σας σε ιδιωτικούς χώρους. <a href="%s">Αλλαγή ορατότητας</a>.
public_activity.visibility_hint.self_private = Η δραστηριότητά σας είναι ορατή μόνο σε εσάς και στους διαχειριστές. <a href="%s">Αλλαγή ορατότητας</a>.
[settings]
profile=Προφίλ
@ -680,7 +701,7 @@ orgs=Διαχείριση οργανισμών
repos=Αποθετήρια
delete=Διαγραφή λογαριασμού
twofa=Πιστοποίηση δύο παραγόντων (TOTP)
account_link=Συνδεδεμένοι Λογαριασμοί
account_link=Συνδεδεμένοι λογαριασμοί
organization=Οργανισμοί
uid=UID
webauthn=Πιστοποίηση δύο παραγόντων (Κλειδιά Ασφαλείας)
@ -750,19 +771,19 @@ password_change_disabled=Οι μη τοπικοί χρήστες δεν μπορ
emails=Διευθύνσεις Email
manage_emails=Διαχείριση διευθύνσεων email
manage_themes=Επιλέξτε προεπιλεγμένο θέμα διεπαφής
manage_openid=Διαχείριση διευθύνσεων OpenID
manage_themes=Προεπιλεγμένο θέμα
manage_openid=Διευθύνσεις OpenID
email_desc=Η κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου σας θα χρησιμοποιηθεί για ειδοποιήσεις, ανάκτηση του κωδικού πρόσβασης και, εφόσον δεν είναι κρυμμένη, λειτουργίες Git στον ιστότοπο.
theme_desc=Αυτό θα είναι το προεπιλεγμένο θέμα διεπαφής σας σε όλη την ιστοσελίδα.
primary=Κύριο
activated=Ενεργό
requires_activation=Απαιτείται ενεργοποίηση
primary_email=Αλλαγή κυριότητας
activate_email=Αποστολή Ενεργοποίησης
activations_pending=Εκκρεμούν Ενεργοποιήσεις
primary_email=Προεπιλογή
activate_email=Αποστολή ενεργοποίησης
activations_pending=Εκκρεμεί ενεργοποίηση
can_not_add_email_activations_pending=Εκκρεμεί μια ενεργοποίηση, δοκιμάστε ξανά σε λίγα λεπτά αν θέλετε να προσθέσετε ένα νέο email.
delete_email=Αφαίρεση
email_deletion=Αφαίρεση Διεύθυνσης Email
email_deletion=Αφαίρεση διεύθυνσης email
email_deletion_desc=Η διεύθυνση ηλεκτρονικού ταχυδρομείου και οι σχετικές πληροφορίες θα αφαιρεθούν από τον λογαριασμό σας. Οι υποβολές Git από αυτή τη διεύθυνση email θα παραμείνουν αμετάβλητες. Συνέχεια;
email_deletion_success=Η διεύθυνση email σας έχει καταργηθεί.
theme_update_success=Το θέμα διεπαφής σας ενημερώθηκε.
@ -771,7 +792,7 @@ openid_deletion=Αφαίρεση Διεύθυνσης OpenID
openid_deletion_desc=Η κατάργηση αυτής της διεύθυνσης OpenID από τον λογαριασμό σας θα σας εμποδίσει να συνδέεστε με αυτό. Συνέχεια;
openid_deletion_success=Η διεύθυνση OpenID αφαιρέθηκε.
add_new_email=Προσθήκη νέας διεύθυνσης email
add_new_openid=Προσθήκη Νέου OpenID URI
add_new_openid=Προσθήκη νέου OpenID URI
add_email=Προσθήκη διεύθυνσης email
add_openid=Προσθήκη OpenID URI
add_email_confirmation_sent=Ένα email επιβεβαίωσης έχει σταλεί στην διεύθυνση «%s». Για να επιβεβαιώσετε τη διεύθυνση email σας, παρακαλώ ελέγξτε τα εισερχόμενα σας μέσα σε %s.
@ -795,7 +816,7 @@ add_new_key=Προσθήκη κλειδιού SSH
add_new_gpg_key=Προσθήκη κλειδιού GPG
key_content_ssh_placeholder=Αρχίζει με «ssh-ed25519», «ssh-rsa», «ecdsa-sha2-nistp256», «ecdsa-sha2-nistp384», «ecdsa-sha2-nistp521», «sk-ecdsa-sha2-nistp256@openssh.com», ή «sk-ssh-ed25519@openssh.com»
key_content_gpg_placeholder=Αρχίζει με «-----BEGIN PGP PUBLIC KEY BLOCK-----»
add_new_principal=Προσθήκη Αρχής (Principal)
add_new_principal=Προσθήκη αρχής (Principal)
ssh_key_been_used=Αυτό το κλειδί SSH έχει ήδη προστεθεί στο διακομιστή.
ssh_key_name_used=Υπάρχει ήδη ένα SSH κλειδί με το ίδιο όνομα στο λογαριασμό σας.
ssh_principal_been_used=Αυτή η αρχή πιστοποίησης (principal) έχει ήδη προστεθεί στο διακομιστή.
@ -854,7 +875,7 @@ token_state_desc=Αυτό το διακριτικό έχει χρησιμοπο
principal_state_desc=Αυτή η αρχή πιστοποιητικού έχει χρησιμοποιηθεί τις τελευταίες 7 ημέρες
show_openid=Εμφάνιση στο προφίλ
hide_openid=Απόκρυψη από το προφίλ
ssh_disabled=SSH Απενεργοποιημένο
ssh_disabled=Το SSH είναι απενεργοποιημένο
ssh_signonly=Το SSH είναι απενεργοποιημένο αυτή τη στιγμή, έτσι αυτά τα κλειδιά είναι μόνο για την επαλήθευση υπογραφής των υποβολών.
ssh_externally_managed=Αυτό το κλειδί SSH διαχειρίζεται εξωτερικά για αυτόν το χρήστη
manage_social=Διαχείριση Συσχετιζόμενων Λογαριασμών Κοινωνικών Δικτύων
@ -897,7 +918,7 @@ create_oauth2_application_button=Δημιουργία εφαρμογής
create_oauth2_application_success=Δημιουργήσατε επιτυχώς μια νέα εφαρμογή OAuth2.
update_oauth2_application_success=Ενημερώσατε την εφαρμογή OAuth2 επιτυχώς.
oauth2_application_name=Όνομα εφαρμογής
oauth2_confidential_client=Εμπιστευτικός Πελάτης. Επιλέξτε το για εφαρμογές που διατηρούν το μυστικό κωδικό κρυφό, όπως πχ οι εφαρμογές ιστού. Μην επιλέγετε για εγγενείς εφαρμογές, συμπεριλαμβανομένων εφαρμογών επιφάνειας εργασίας και εφαρμογών για κινητά.
oauth2_confidential_client=Εμπιστευτικός πελάτης (client). Επιλέξτε το για εφαρμογές που διατηρούν το μυστικό κωδικό κρυφό, όπως π.χ. εφαρμογές ιστού. Μην επιλέγετε για εγγενείς εφαρμογές, συμπεριλαμβανομένων εφαρμογών επιφάνειας εργασίας και εφαρμογών για κινητά.
oauth2_redirect_uris=URI Ανακατεύθυνσης. Χρησιμοποιήστε μια νέα γραμμή για κάθε URI.
save_application=Αποθήκευση
oauth2_client_id=Ταυτότητα Πελάτη
@ -944,10 +965,10 @@ webauthn_delete_key_desc=Αν αφαιρέσετε ένα κλειδί ασφα
webauthn_key_loss_warning=Αν χάσετε τα κλειδιά ασφαλείας σας, θα χάσετε την πρόσβαση στο λογαριασμό σας.
webauthn_alternative_tip=Μπορεί να θέλετε να ρυθμίσετε μια πρόσθετη μέθοδο ταυτοποίησης.
manage_account_links=Διαχείριση Συνδεδεμένων Λογαριασμών
manage_account_links=Διαχείριση συνδεδεμένων λογαριασμών
manage_account_links_desc=Αυτοί οι εξωτερικοί λογαριασμοί είναι συνδεδεμένοι στον λογαριασμό Forgejo σας.
account_links_not_available=Προς το παρόν δεν υπάρχουν εξωτερικοί λογαριασμοί συνδεδεμένοι με τον λογαριασμό σας στο Forgejo.
link_account=Σύνδεση Λογαριασμού
link_account=Σύνδεση λογαριασμού
remove_account_link=Αφαίρεση συνδεδεμένου λογαριασμού
remove_account_link_desc=Η κατάργηση ενός συνδεδεμένου λογαριασμού θα ανακαλέσει την πρόσβασή του στο λογαριασμό σας στο Forgejo. Συνέχεια;
remove_account_link_success=Ο συνδεδεμένος λογαριασμός έχει αφαιρεθεί.
@ -983,7 +1004,7 @@ user_unblock_success = Η άρση αποκλεισμού του χρήστη ή
change_password = Αλλαγή κωδικού
blocked_users = Αποκλεισμένοι χρήστες
user_block_success = Ο αποκλεισμός του χρήστη ήταν επιτυχής.
additional_repo_units_hint = Να γίνεται ενθάρρυνση προσθήκης μονάδων σε αποθετήρια
additional_repo_units_hint = Να συνιστάται η προσθήκη μονάδων αποθετηρίων
pronouns = Αντωνυμίες
pronouns_custom = κάτι άλλο
pronouns_unspecified = Απροσδιόριστες
@ -991,6 +1012,7 @@ hints = Συμβουλές
additional_repo_units_hint_description = Εμφάνιση κουμπιού «Προσθήκη μονάδων...» σε αποθετήρια που δεν έχουν ενεργοποιημένες όλες τις διαθέσιμες μονάδες.
update_hints = Ενημέρωση συμβουλών
update_hints_success = Οι συμβουλές ενημερώθηκαν.
language.title = Προεπιλεγμένη γλώσσα
[repo]
new_repo_helper=Ένα αποθετήριο περιέχει όλα τα αρχεία έργου, συμπεριλαμβανομένου του ιστορικού εκδόσεων. Ήδη φιλοξενείται αλλού; <a href="%s">Μετεγκατάσταση αποθετηρίου.</a>
@ -1153,7 +1175,7 @@ migrate.failed=Η μεταφορά απέτυχε: %v
migrate.migrate_items_options=Το διακριτικό πρόσβασης (token) είναι απαραίτητο για τη μεταφορά πρόσθετων στοιχείων
migrated_from=Μεταφέρθηκε από <a href="%[1]s">%[2]s</a>
migrated_from_fake=Μεταφέρθηκε από %[1]s
migrate.migrate=Μεταφορά από το %s
migrate.migrate=Μεταφορά από %s
migrate.migrating=Γίνεται μεταφορά από το <b>%s</b>...
migrate.migrating_failed=Η μεταφορά από το <b>%s</b> απέτυχε.
migrate.migrating_failed.error=Αποτυχία μεταφοράς: %s
@ -1238,8 +1260,8 @@ invisible_runes_header=`Αυτό το αρχείο περιέχει αόρατο
invisible_runes_description=`Αυτό το αρχείο περιέχει αόρατους χαρακτήρες Unicode που δεν διακρίνονται από ανθρώπους, αλλά μπορεί να επεξεργάζονται διαφορετικά από έναν υπολογιστή. Αν νομίζετε ότι αυτό είναι σκόπιμο, μπορείτε να αγνοήσετε με ασφάλεια αυτή την προειδοποίηση. Χρησιμοποιήστε το κουμπί Escape για να τους αποκαλύψετε.`
ambiguous_runes_header=`Αυτό το αρχείο περιέχει ασαφείς χαρακτήρες Unicode `
ambiguous_runes_description=`Αυτό το αρχείο περιέχει χαρακτήρες Unicode που μπορεί να συγχέονται με άλλους χαρακτήρες. Αν νομίζετε ότι αυτό είναι σκόπιμο, μπορείτε να αγνοήσετε με ασφάλεια αυτή την προειδοποίηση. Χρησιμοποιήστε το κουμπί Escape για να τους αποκαλύψετε.`
invisible_runes_line=`Αυτή η γραμμή έχει αόρατους χαρακτήρες unicode `
ambiguous_runes_line=`Αυτή η γραμμή έχει ασαφείς χαρακτήρες unicode `
invisible_runes_line=`Αυτή η γραμμή έχει αόρατους χαρακτήρες Unicode`
ambiguous_runes_line=`Αυτή η γραμμή έχει ασαφείς χαρακτήρες Unicode`
ambiguous_character=`ο %[1]c [U+%04[1]X] μπορεί να μπερδευτεί με τον %[2]c [U+%04[2]X]`
escape_control_characters=Escape
@ -1249,6 +1271,7 @@ view_git_blame=Προβολή git blame
video_not_supported_in_browser=Το πρόγραμμα περιήγησής σας δεν υποστηρίζει την ετικέτα HTML5 «video».
audio_not_supported_in_browser=Το πρόγραμμα περιήγησής σας δεν υποστηρίζει την ετικέτα HTML5 «audio».
stored_lfs=Αποθηκεύτηκε με το Git LFS
stored_annex=Αποθηκεύτηκε με το Git Annex
symbolic_link=Symbolic link
executable_file=Εκτελέσιμο αρχείο
commit_graph=Γράφημα υποβολών
@ -1272,6 +1295,7 @@ editor.upload_file=Ανέβασμα αρχείου
editor.edit_file=Επεξεργασία αρχείου
editor.preview_changes=Προεπισκόπηση αλλαγών
editor.cannot_edit_lfs_files=Τα αρχεία LFS δεν μπορούν να επεξεργαστούν στη διεπαφή web.
editor.cannot_edit_annex_files=Τα αρχεία Annex δεν μπορούν να επεξεργαστούν στη διεπαφή web.
editor.cannot_edit_non_text_files=Τα δυαδικά αρχεία δεν μπορούν να επεξεργαστούν στη διεπαφή web.
editor.edit_this_file=Επεξεργασία αρχείου
editor.this_file_locked=Το αρχείο είναι κλειδωμένο
@ -1290,10 +1314,10 @@ editor.add_tmpl=Προσθήκη «<filename>»
editor.add=Προσθήκη %s
editor.update=Ενημέρωση %s
editor.delete=Διαγραφή %s
editor.patch=Εφαρμογή Διόρθωσης
editor.patch=Εφαρμογή patch
editor.patching=Επιδιόρθωση:
editor.fail_to_apply_patch=`Αδυναμία εφαρμογής της επιδιόρθωσης "%s"`
editor.new_patch=Νέα Διόρθωση
editor.new_patch=Νέο patch
editor.commit_message_desc=Προσθήκη προαιρετικής εκτενούς περιγραφής…
editor.signoff_desc=Προσθέστε ένα πρόσθετο Signed-off-by στο τέλος του μηνύματος καταγραφής της υποβολής.
editor.commit_directly_to_this_branch=Υποβολή απευθείας στο κλάδο <strong class="branch-name">%s</strong>.
@ -1318,10 +1342,10 @@ editor.commit_empty_file_header=Υποβολή ενός κενού αρχείο
editor.commit_empty_file_text=Το αρχείο που πρόκειται να υποβληθεί είναι κενό. Συνέχεια;
editor.no_changes_to_show=Δεν υπάρχουν αλλαγές για εμφάνιση.
editor.fail_to_update_file=Αποτυχία ενημέρωσης/δημιουργίας του αρχείου «%s».
editor.fail_to_update_file_summary=Μήνυμα Σφάλματος:
editor.fail_to_update_file_summary=Μήνυμα σφάλματος:
editor.push_rejected_no_message=Η αλλαγή απορρίφθηκε από τον διακομιστή και δεν γνωρίζουμε τον λόγο. Παρακαλώ ελέγξτε τα Git hooks σας.
editor.push_rejected=Η αλλαγή απορρίφθηκε από τον διακομιστή. Παρακαλώ ελέγξτε τα Git hook σας.
editor.push_rejected_summary=Μήνυμα Πλήρους Απόρριψης:
editor.push_rejected_summary=Μήνυμα πλήρους απόρριψης:
editor.add_subdir=Προσθήκη φακέλου…
editor.unable_to_upload_files=Αποτυχία αποστολής αρχείων στο «%s» με το σφάλμα: %v
editor.upload_file_is_locked=Το αρχείο «%s» είναι κλειδωμένο από %s.
@ -1419,7 +1443,7 @@ issues.filter_reviewers=Φιλτράρισμα Εξεταστή
issues.new=Νέο ζήτημα
issues.new.title_empty=Ο τίτλος δεν μπορεί να είναι κενός
issues.new.labels=Σήματα
issues.new.no_label=Χωρίς Σήμα
issues.new.no_label=Χωρίς σήμανση
issues.new.clear_labels=Καθαρισμός σημάτων
issues.new.projects=Έργα
issues.new.clear_projects=Εκκαθάριση έργων
@ -1449,8 +1473,8 @@ issues.new_label=Νέο σήμα
issues.new_label_placeholder=Όνομα σήματος
issues.new_label_desc_placeholder=Περιγραφή
issues.create_label=Δημιουργία σήματος
issues.label_templates.title=Χρήση ενός προκαθορισμένου συνόλου σημάτων
issues.label_templates.info=Δεν υπάρχουν σήματα ακόμα. Δημιουργήστε ένα σήμα με το κουμπί «Νέο Σήμα» ή χρησιμοποιήστε ένα σετ προκαθορισμένων σημάτων:
issues.label_templates.title=Χρήση προκαθορισμένου συνόλου σημάνσεων
issues.label_templates.info=Δεν υπάρχουν σημάνσεις ακόμα. Δημιουργήστε ένα σήμα με το κουμπί «Νέα σήμανση» ή χρησιμοποιήστε ένα σετ προκαθορισμένων σημάνσεων:
issues.label_templates.helper=Επιλέξτε ένα σύνολο προεπιλεγμένων σημάτων
issues.label_templates.use=Χρήση συνόλου προεπιλεγμένων σημάτων
issues.label_templates.fail_to_load_file=Αποτυχία φόρτωσης των προτύπων σημάτων από το αρχείο «%s»: %v
@ -1572,7 +1596,7 @@ issues.role.collaborator_helper=Ο χρήστης έλαβε πρόσκληση
issues.role.first_time_contributor=Συντελεστής για πρώτη φορά
issues.role.first_time_contributor_helper=Αυτή είναι η πρώτη συνεισφορά αυτού του χρήστη στο αποθετήριο.
issues.role.contributor=Συντελεστής
issues.role.contributor_helper=Αυτός ο χρήστης έχει προηγούμενές υποβολές στο αποθετήριο.
issues.role.contributor_helper=Αυτός ο χρήστης έχει προηγούμενές υποβολές (commits) στο αποθετήριο.
issues.re_request_review=Επαναίτηση ανασκόπησης
issues.is_stale=Έχουν υπάρξει αλλαγές σε αυτό το PR από αυτή την αναθεώρηση
issues.remove_request_review=Αφαίρεση αιτήματος αναθεώρησης
@ -1837,17 +1861,17 @@ pulls.merge_commit_id=Το ID της υποβολής συγχώνευσης
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_summary=Μήνυμα Σφάλματος
pulls.unrelated_histories=H Συγχώνευση Απέτυχε: Η κεφαλή και η βάση της συγχώνευσης δεν μοιράζονται μια κοινή ιστορία. Συμβουλή: Δοκιμάστε μια διαφορετική στρατηγική
pulls.merge_conflict=Η συγχώνευση απέτυχε: Υπήρξε μια σύγκρουση κατά τη συγχώνευση. Συμβουλή: Δοκιμάστε μια διαφορετική στρατηγική
pulls.merge_conflict_summary=Μήνυμα σφάλματος
pulls.rebase_conflict=Η συγχώνευση απέτυχε: Υπήρξε μια σύγκρουση κατά την αλλαγή βάσης της υποβολής: %[1]s. Συμβουλή: Δοκιμάστε μια διαφορετική στρατηγική
pulls.rebase_conflict_summary=Μήνυμα σφάλματος
pulls.unrelated_histories=H συγχώνευση απέτυχε: Η κεφαλή και η βάση της συγχώνευσης δεν έχουν κοινή ιστορία. Συμβουλή: Δοκιμάστε μια διαφορετική στρατηγική
pulls.merge_out_of_date=Η συγχώνευση απέτυχε: Κατά τη δημιουργία της συγχώνευσης, η βάση ενημερώθηκε. Συμβουλή: Δοκιμάστε ξανά.
pulls.head_out_of_date=Η συγχώνευση απέτυχε: Κατά τη δημιουργία της συγχώνευσης, το HEAD ενημερώθηκε. Συμβουλή: Δοκιμάστε ξανά.
pulls.has_merged=Αποτυχία: Το pull request έχει συγχωνευθεί, δεν είναι δυνατή η συγχώνευση ξανά ή να αλλάξει ο κλάδος προορισμού.
pulls.push_rejected=Αποτυχία ώθησης: Η ώθηση απορρίφθηκε. Ελέγξτε τα Git hooks του αποθετήριο.
pulls.push_rejected_summary=Μήνυμα Πλήρους Απόρριψης
pulls.push_rejected_no_message=Αποτυχία ώθησης: Η ώθηση απορρίφθηκε, αλλά δεν λάβαμε κάποιο μήνυμα. Ελέγξτε τα Git hooks του αποθετηρίου
pulls.push_rejected=Η ώθηση απέτυχε: Η ώθηση απορρίφθηκε. Ελέγξτε τα Git hooks του αποθετηρίου.
pulls.push_rejected_summary=Μήνυμα πλήρους απόρριψης
pulls.push_rejected_no_message=Η ώθηση απέτυχε: Η ώθηση απορρίφθηκε, αλλά δεν λάβαμε κάποιο μήνυμα. Ελέγξτε τα Git hooks του αποθετηρίου
pulls.open_unmerged_pull_exists=`Δεν μπορείτε να ανοίξετε εκ νέου, επειδή υπάρχει ένα εκκρεμές pull request (#%d) με πανομοιότυπες ιδιότητες.`
pulls.status_checking=Μερικοί έλεγχοι εκκρεμούν
pulls.status_checks_success=Όλοι οι έλεγχοι ήταν επιτυχείς
@ -1866,7 +1890,7 @@ 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.cmd_instruction_hint=`Δείτε τις <a class="show-instruction">οδηγίες γραμμής εντολών</a>.`
pulls.cmd_instruction_hint=`Δείτε τις οδηγίες γραμμής εντολών.`
pulls.cmd_instruction_checkout_title=Έλεγχος
pulls.cmd_instruction_checkout_desc=Από το αποθετήριο του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές.
pulls.cmd_instruction_merge_title=Συγχώνευση
@ -1925,7 +1949,7 @@ milestones.filter_sort.least_issues=Λιγότερα ζητήματα
signing.will_sign=Αυτή η υποβολή θα υπογραφεί με το κλειδί «%s».
signing.wont_sign.error=Παρουσιάστηκε σφάλμα κατά τον έλεγχο για το αν η υποβολή μπορεί να υπογραφεί.
signing.wont_sign.nokey=Δεν υπάρχει διαθέσιμο κλειδί για να υπογραφεί αυτή η υποβολή.
signing.wont_sign.nokey=Ο διακομιστής δεν παρέχει κάποιο κλειδί για την υπογραφή αυτής της υποβολής (commit).
signing.wont_sign.never=Οι υποβολές δεν υπογράφονται ποτέ.
signing.wont_sign.always=Οι υποβολές υπογράφονται πάντα.
signing.wont_sign.pubkey=Η υποβολή δε θα υπογραφεί επειδή δεν υπάρχει δημόσιο κλειδί που να συνδέεται με το λογαριασμό σας.
@ -1944,21 +1968,21 @@ wiki=Wiki
wiki.welcome=Καλώς ήρθατε στο Wiki.
wiki.welcome_desc=Το wiki σας επιτρέπει να γράψετε και να μοιραστείτε τεκμηριώσεις (documentation) με άλλους συνεργάτες.
wiki.desc=Γράψτε και μοιραστείτε τεκμηριώσεις με συνεργάτες.
wiki.create_first_page=Δημιουργία πρώτης σελίδας
wiki.create_first_page=Δημιουργία αρχικής σελίδας
wiki.page=Σελίδα
wiki.filter_page=Φιλτράρισμα σελίδας
wiki.new_page=Σελίδα
wiki.page_title=Τίτλος σελίδας
wiki.page_content=Περιεχόμενο σελίδας
wiki.default_commit_message=Γράψτε μια σημείωση σχετικά με αυτή την ενημέρωση σελίδας (προαιρετικό).
wiki.save_page=Αποθήκευση Σελίδας
wiki.save_page=Αποθήκευση σελίδας
wiki.last_commit_info=%s επεξεργάστηκε αυτή τη σελίδα %s
wiki.edit_page_button=Επεξεργασία
wiki.new_page_button=Νέα Σελίδα
wiki.file_revision=Αναθεώρηση Σελίδας
wiki.wiki_page_revisions=Αναθεωρήσεις Σελίδας Wiki
wiki.new_page_button=Νέα σελίδα
wiki.file_revision=Έκδοση σελίδας
wiki.wiki_page_revisions=Αναθεωρήσεις σελίδας wiki
wiki.back_to_wiki=Πίσω στη σελίδα wiki
wiki.delete_page_button=Διαγραφή Σελίδας
wiki.delete_page_button=Διαγραφή σελίδας
wiki.delete_page_notice_1=Η διαγραφή της σελίδας wiki «%s» δεν μπορεί να αναιρεθεί. Συνέχεια;
wiki.page_already_exists=Υπάρχει ήδη μια σελίδα wiki με το ίδιο όνομα.
wiki.reserved_page=Το όνομα σελίδας wiki «%s» είναι δεσμευμένο.
@ -2081,11 +2105,11 @@ settings.mirror_settings.push_mirror.remote_url=URL απομακρυσμένου
settings.mirror_settings.push_mirror.add=Προσθήκη είδωλου ώθησης
settings.mirror_settings.push_mirror.edit_sync_time=Επεξεργασία διαστήματος συγχρονισμού ειδώλου
settings.sync_mirror=Συγχρονισμός Τώρα
settings.sync_mirror=Να γίνει συγχρονισμός τώρα
settings.pull_mirror_sync_in_progress=Έλκονται αλλαγές από την απομακρυσμένη τοποθεσία %s αυτή τη στιγμή.
settings.push_mirror_sync_in_progress=Ώθηση αλλαγών στο απομακρυσμένο %s αυτή τη στιγμή.
settings.site=Ιστοσελίδα
settings.update_settings=Ενημέρωση ρυθμίσεων
settings.update_settings=Αποθήκευση ρυθμίσεων
settings.update_mirror_settings=Ενημέρωση ρυθμίσεων ειδώλου
settings.branches.switch_default_branch=Αλλαγή προεπιλεγμένου κλάδου
settings.branches.update_default_branch=Ενημέρωση προεπιλεγμένου κλάδου
@ -2126,9 +2150,9 @@ settings.projects_desc=Ενεργοποίηση έργων αποθετηρίο
settings.actions_desc=Ενεργοποίηση actions αποθετηρίου
settings.admin_settings=Ρυθμίσεις διαχειριστή
settings.admin_enable_health_check=Ενεργοποίηση ελέγχων υγείας αποθετηρίων (git fsck)
settings.admin_code_indexer=Indexer Κώδικα
settings.admin_stats_indexer=Indexer Στατιστικών Κώδικα
settings.admin_indexer_commit_sha=Τελευταίο Indexed SHA
settings.admin_code_indexer=Indexer κώδικα
settings.admin_stats_indexer=Indexer στατιστικών κώδικα
settings.admin_indexer_commit_sha=Τελευταίο indexed SHA
settings.admin_indexer_unindexed=Unindexed
settings.reindex_button=Προσθήκη στην ουρά Reindex
settings.reindex_requested=Αιτήθηκε reindex
@ -2346,7 +2370,7 @@ settings.protected_branch.delete_rule=Διαγραφή κανόνα
settings.protected_branch_can_push=Επιτρέψτε ώθηση;
settings.protected_branch_can_push_yes=Μπορείτε να ωθήσετε
settings.protected_branch_can_push_no=Δεν μπορείτε να ωθήσετε
settings.branch_protection=Κανόνες προστασίας για τον κλάδο «<b>%s</b>»
settings.branch_protection=Κανόνες προστασίας του κλάδου «<b>%s</b>»
settings.protect_this_branch=Ενεργοποίηση προστασίας κλάδου
settings.protect_this_branch_desc=Αποτρέπει τη διαγραφή και περιορίζει το Git push και συγχώνευση στον κλάδο.
settings.protect_disable_push=Απενεργοποίηση ωθήσεων
@ -2388,7 +2412,7 @@ settings.protect_branch_name_pattern=Μοτίβο προστατευμένου
settings.protect_branch_name_pattern_desc=Μοτίβα ονόματος προστατευμένων κλάδων. Συμβολευτείτε <a href="https://github.com/gobwas/glob">την τεκμηρίωση</a> για την σύνταξη ενός μοτίβου. Παραδείγματα: main, release/**
settings.protect_patterns=Μοτίβα
settings.protect_protected_file_patterns=Μοτίβα προστατευμένων αρχείων (διαχωρισμός με semicolon «;» και ΟΧΙ το ελληνικό ερωτηματικό):
settings.protect_protected_file_patterns_desc=Τα προστατευόμενα αρχεία δεν επιτρέπεται να αλλάξουν άμεσα, ακόμη και αν ο χρήστης έχει δικαιώματα να προσθέσει, να επεξεργαστεί ή να διαγράψει αρχεία σε αυτόν τον κλάδο. Επιπλέων μοτίβα μπορούν να διαχωριστούν με ερωτηματικό (';'). Δείτε την τεκμηρίωση <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> για τη σύνταξη του μοτίβου. Πχ: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_protected_file_patterns_desc=Τα προστατευόμενα αρχεία δεν επιτρέπεται να αλλάξουν άμεσα, ακόμη και αν ο χρήστης έχει δικαιώματα να προσθέσει, να επεξεργαστεί ή να διαγράψει αρχεία σε αυτόν τον κλάδο. Επιπλέων μοτίβα μπορούν να διαχωριστούν με semicolon («;») (ΟΧΙ ερωτηματικό). Για να συντάξετε μοτίβα, συμβουλευτείται την τεκμηρίωση <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a>. Παράδειγμα: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Μοτίβα μη προστατευμένων αρχείων (διαχωρισμένα με semicolon «;» και ΟΧΙ το ελληνικό ερωτηματικό):
settings.protect_unprotected_file_patterns_desc=Μη προστατευμένα αρχεία που επιτρέπεται να αλλάξουν απευθείας εάν ο χρήστης έχει πρόσβαση εγγραφής, παρακάμπτοντας τον περιορισμό ώθησης. Επιπλέων μοτίβα μπορούν να διαχωριστούν με ερωτηματικό (';'). Δείτε την τεκμηρίωση <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> για τη σύνταξη του μοτίβου. Πχ: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Ενεργοποίηση προστασίας
@ -2458,15 +2482,15 @@ settings.lfs_invalid_lock_directory=Αδυναμία κλειδώματος φα
settings.lfs_lock_already_exists=Το κλείδωμα υπάρχει ήδη: %s
settings.lfs_lock=Κλείδωμα
settings.lfs_lock_path=Διαδρομή αρχείου για να κλειδωθεί...
settings.lfs_locks_no_locks=Χωρίς Κλειδώματα
settings.lfs_locks_no_locks=Χωρίς κλειδώματα
settings.lfs_lock_file_no_exist=Το κλειδωμένο αρχείο δεν υπάρχει στον προεπιλεγμένο κλάδο
settings.lfs_force_unlock=Εξαναγκασμός Ξεκλειδώματος
settings.lfs_force_unlock=Εξαγκαναστικό ξεκλείδωμα
settings.lfs_pointers.found=Βρέθηκαν %d δείκτης(ες) blob - %d συσχετίστηκαν, %d δεν συσχετίστηκαν (%d λείπουν από το χώρο αποθήκευσης)
settings.lfs_pointers.sha=Blob SHA
settings.lfs_pointers.sha=Blob hash
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=Στο Αποθετήριο
settings.lfs_pointers.inRepo=Στο αποθετήριο
settings.lfs_pointers.exists=Υπάρχει στο χώρο αποθήκευσης
settings.lfs_pointers.accessible=Προσβάσιμο στο Χρήστη
settings.lfs_pointers.accessible=Προσβάσιμο στον χρήστη
settings.lfs_pointers.associateAccessible=Συσχετισμός προσιτών %d OID
settings.rename_branch_failed_exist=Αδυναμία μετονομασίας του κλάδου, επειδή ο κλάδος προορισμού %s υπάρχει ήδη.
settings.rename_branch_failed_not_exist=Αδυναμία μετονομασίας του κλάδου %s επειδή δεν υπάρχει.
@ -2515,7 +2539,7 @@ diff.comment.add_single_comment=Προσθέστε ένα σχόλιο
diff.comment.add_review_comment=Προσθήκη σχολίου
diff.comment.start_review=Έναρξη αξιολόγησης
diff.comment.reply=Απάντηση
diff.review=Αξιολόγηση
diff.review=Ολοκλήρωση αξιολόγησης
diff.review.header=Υποβολή αξιολόγησης
diff.review.placeholder=Σχόλιο αξιολόγησης
diff.review.comment=Σχόλιο
@ -2536,16 +2560,16 @@ releases.desc=Παρακολούθηση εκδόσεων έργου και λή
release.releases=Κυκλοφορίες
release.detail=Λεπτομέρειες κυκλοφορίας
release.tags=Ετικέτες
release.new_release=Νέα Κυκλοφορία
release.new_release=Νέα κυκλοφορία
release.draft=Προσχέδιο
release.prerelease=Προ-Κυκλοφορία
release.prerelease=Προδημοσίευση
release.stable=Σταθερή
release.compare=Σύγκριση
release.edit=επεξεργασία
release.ahead.commits=<strong>%d</strong> υποβολές
release.ahead.target=σε %s από αυτή την έκδοση
tag.ahead.target=μέχρι το %s από αυτή την ετικέτα
release.source_code=Πηγαίος Κώδικας
release.source_code=Πηγαίος κώδικας
release.new_subheader=Οι Κυκλοφορίες οργανώνουν εκδόσεις έργων.
release.edit_subheader=Οι Κυκλοφορίες οργανώνουν εκδόσεις έργων.
release.tag_name=Όνομα ετικέτας
@ -2556,15 +2580,15 @@ release.tag_helper_existing=Υπάρχουσα ετικέτα.
release.title=Τίτλος κυκλοφορίας
release.title_empty=Ο τίτλος δεν μπορεί να είναι κενός.
release.message=Περιγράψτε αυτήν την κυκλοφορία
release.prerelease_desc=Σήμανση ως Προ-Κυκλοφορία
release.prerelease_desc=Σήμανση ως προδημοσίευση
release.prerelease_helper=Σημείωση αυτής της κυκλοφορίας ως ακατάλληλη για χρήση στη παραγωγή.
release.cancel=Ακύρωση
release.publish=Δημοσίευση Κυκλοφορίας
release.save_draft=Αποθήκευση Προχείρου
release.edit_release=Ενημέρωση Κυκλοφορίας
release.delete_release=Διαγραφή Κυκλοφορίας
release.delete_tag=Διαγραφή Ετικέτας
release.deletion=Διαγραφή Κυκλοφορίας
release.publish=Δημοσίευση κυκλοφορίας
release.save_draft=Αποθήκευση προχείρου
release.edit_release=Ενημέρωση κυκλοφορίας
release.delete_release=Διαγραφή κυκλοφορίας
release.delete_tag=Διαγραφή ετικέτας
release.deletion=Διαγραφή κυκλοφορίας
release.deletion_desc=Διαγράφοντας μια κυκλοφορία, αυτή αφαιρείται μόνο από το Gitea. Δε θα επηρεάσει την ετικέτα Git, τα περιεχόμενα του αποθετηρίου σας ή το ιστορικό της. Συνέχεια;
release.deletion_success=Η κυκλοφορία έχει διαγραφεί.
release.deletion_tag_desc=Θα διαγράψει αυτή την ετικέτα από το αποθετήριο. Τα περιεχόμενα του αποθετηρίου και το ιστορικό παραμένουν αμετάβλητα. Συνέχεια;
@ -2576,7 +2600,7 @@ release.tag_already_exist=Αυτό το όνομα ετικέτας υπάρχε
release.downloads=Λήψεις
release.download_count=Λήψεις: %s
release.add_tag_msg=Χρησιμοποιήστε τον τίτλο και το περιεχόμενο της έκδοσης ως μήνυμα ετικέτας.
release.add_tag=Δημιουργία Ετικέτας Μόνο
release.add_tag=Δημιουργία ετικέτας
release.releases_for=Κυκλοφορίες για %s
release.tags_for=Ετικέτες για %s
@ -2709,7 +2733,7 @@ release.system_generated = Αυτό το αρχείο παράγεται αυτ
pulls.ready_for_review = Έτοιμο για αξιολόγηση;
settings.rename_branch_failed_protected = Δεν είναι δυνατή η μετονομασία του κλάδου %s, επειδή είναι προστατευόμενος.
settings.event_pull_request_enforcement = Εξαναγκασμός
editor.commit_id_not_matching = Το αναγνωριστικό της υποβολής δεν ταιριάζει με την υποβολή που επεξεργαστήκατε. Θα πρέπει να υποβάλετε τις αλλαγές σας σε έναν νέο κλάδο και μετά να τις συγχωνεύσετε.
editor.commit_id_not_matching = Το αρχείο άλλαξε όσο το επεξεργαζόσασταν. Θα πρέπει να υποβάλετε τις αλλαγές σας σε έναν νέο κλάδο και μετά να τις συγχωνεύσετε.
settings.sourcehut_builds.visibility = Ορατότητα εργασιών
object_format = Μορφή αντικειμένων («object format»)
settings.ignore_stale_approvals_desc = Οι εγκρίσεις, οι οποίες αναφέρονται σε παλαιότερες υποβολές, δεν θα προσμετρούνται στο σύνολο των απαιτούμενων εγκρίσεων του pull request. Εφόσον αυτές οι εγκρίσεις έχουν ήδη ανακληθεί, τότε αυτή η ρύθμιση δεν θα παίξει κάποιον ρόλο.
@ -2722,6 +2746,30 @@ file_follow = Ακολούθηση συνδέσμου (symlink)
settings.sourcehut_builds.secrets_helper = Παραχώρηση πρόσβασης του job στα μυστικά ενός build (απαιτείται η άδεια SECRETS:RO)
generated = Παραγμένο
editor.push_out_of_date = Η αλλαγή φαίνεται να είναι παρωχημένη.
issues.author.tooltip.issue = Αυτό το ζήτημα δημιουργήθηκε από αυτόν τον χρήστη.
issues.author.tooltip.pr = Αυτό το pull request δημιουργήθηκε από αυτόν τον χρήστη.
settings.federation_settings = Ρυθμίσεις διαλειτουργικότητας
settings.federation_apapiurl = Το Federation URL (URL διαλειτουργικότητας) του αποθετηρίου. Κάντε το copy-paste στις ρυθμίσεις διαλειτουργικότητας ενός άλλου αποθετηρίου ως το URL ενός ακολουθούμενου αποθετηρίου.
form.string_too_long = Το κείμενο είναι μεγαλύτερο από %d χαρακτήρες.
release.hide_archive_links = Απόκρυψη αυτόματα δημιουργημένων archive
settings.graphql_url = URL του GraphQL
issues.edit.already_changed = Δεν ήταν δυνατή η αποθήκευση των αλλαγών στο ζήτημα αυτό, επειδή το περιεχόμενο έχει ήδη αλλαχθεί από κάποιον άλλο χρήστη. Για να μην χαθούν οι αλλαγές του, παρακαλείσθε να ανανεώσετε την σελίδα και προσπαθήστε να το επεξεργαστείτε ξανά.
project = Έργα
settings.sourcehut_builds.access_token_helper = Διακριτικό πρόσβασης (token) που έχει άδεια JOBS:RW. Δημιουργήστε ένα <a target="_blank" rel="noopener noreferrer" href="%s">διακριτκό πρόσβασης για το build.sr.ht</a> ή ένα <a target="_blank" rel="noopener noreferrer" href="%s">διακριτικό πρόσβασης build.sr.ht με πρόσβαση ιδιωτικών περιεχομένων</a> στο meta.sr.ht.
settings.federation_not_enabled = Οι λειτουργίες διαλειτουργικότητας δεν είναι ενεργοποιημένες στον διακομιστή σας.
settings.federation_following_repos = URL ακουλουθούμενων αποθετηρίων. Διαχωρίζονται με «;», χωρίς κενά.
subscribe.issue.guest.tooltip = Συνδεθείτε για να λάβετε ενημερώσεις για το ζήτημα αυτό.
subscribe.pull.guest.tooltip = Συνδεθείτε για να λάβετε ενημερώσεις για το pull request αυτό.
pulls.edit.already_changed = Δεν ήταν δυνατή η αποθήκευση των αλλαγών στο pull request αυτό, επειδή το περιεχόμενο έχει ήδη αλλαχθεί από κάποιον άλλο χρήστη. Για να μην χαθούν οι αλλαγές του, παρακαλείσθε να ανανεώσετε την σελίδα και προσπαθήστε να το επεξεργαστείτε ξανά.
comments.edit.already_changed = Δεν ήταν δυνατή η αποθήκευση των αλλαγών σε αυτό το σχόλιο, επειδή το περιεχόμενο έχει ήδη αλλαχθεί από κάποιον άλλο χρήστη. Για να μην χαθούν οι αλλαγές του, παρακαλείσθε να ανανεώσετε την σελίδα και προσπαθήστε να το επεξεργαστείτε ξανά.
settings.matrix.access_token_helper = Για τον σκοπό αυτό, σας συνιστούμε να δημιουργήσετε έναν ξεχωριστό λογαριασμό Matrix. Μπορείτε να αποκτήσετε το διακριτικό πρόσβασης μέσα στο Element.
settings.transfer.modal.title = Παραχώρηση ιδιοκτησίας
settings.transfer.button = Παραχώρηση ιδιοκτησίας
settings.matrix.room_id_helper = Το ID δωματίου μπορείτε να το βρείτε στο πρόγραμμα Element > Room Settings > Advanced > Internal room ID. Παράδειγμα: %s.
wiki.search = Αναζήτηση wiki
wiki.no_search_results = Κανένα αποτέλεσμα
n_release_one = %s κυκλοφορία
n_release_few = %s κυκλοφορίες
[graphs]
component_loading_failed = Δεν ήταν δυνατή η φόρτωση του %s
@ -2791,7 +2839,7 @@ settings.labels_desc=Προσθήκη σημάτων που μπορούν να
members.membership_visibility=Ορατότητα μέλους:
members.public=Ορατό
members.public_helper=κάνε το κρυφό
members.public_helper=κάνε κρυφό
members.private=Κρυφό
members.private_helper=κάνε ορατό
members.member_role=Ρόλος μέλους:
@ -2855,7 +2903,8 @@ teams.all_repositories_admin_permission_desc=Αυτή η ομάδα παρέχε
teams.invite.title=Έχετε προσκληθεί να συμμετάσχετε στην ομάδα <strong>%s</strong> του οργανισμού <strong>%s</strong>.
teams.invite.by=Προσκλήθηκε από %s
teams.invite.description=Παρακαλώ κάντε κλικ στον παρακάτω σύνδεσμο για συμμετοχή στην ομάδα.
follow_blocked_user = Δεν μπορείτε να ακολουθήσετε αυτόν τον οργανισμό, επειδή ο οργανισμός σας έχει αποκλείσει.
follow_blocked_user = Δεν μπορείτε να ακολουθήσετε τον οργανισμό, επειδή σας έχει αποκλείσει.
open_dashboard = Δημιουργία πίνακα δραστηριότητας
[admin]
dashboard=Πίνακας Ελέγχου
@ -2999,7 +3048,7 @@ users.delete_account=Διαγραφή λογαριασμού χρήστη
users.cannot_delete_self=Δεν μπορείτε να διαγράψετε τον εαυτό σας
users.still_own_repo=Αυτός ο χρήστης εξακολουθεί να κατέχει ένα ή περισσότερα αποθετήρια. Διαγράψτε ή μεταφέρετε αυτά τα αποθετήρια πρώτα.
users.still_has_org=Αυτός ο χρήστης είναι μέλος ενός οργανισμού. Αφαιρέστε πρώτα τον χρήστη από οποιονδήποτε οργανισμό.
users.purge=Εκκαθάριση Χρήστη
users.purge=Διαγραφή χρήστη
users.purge_help=Εξαναγκαστική διαγραφή χρήστη καθώς και των αποθετηρίων, οργανισμών και πακέτων που του ανήκουν. Όλα τα σχόλια και τα ζητήματα του χρήστη θα διαγραφούν επίσης.
users.still_own_packages=Αυτός ο χρήστης εξακολουθεί να κατέχει ένα ή περισσότερα πακέτα, διαγράψτε αυτά τα πακέτα πρώτα.
users.deletion_success=Ο λογαριασμός χρήστη έχει διαγραφεί.
@ -3009,14 +3058,14 @@ users.list_status_filter.reset=Επαναφορά
users.list_status_filter.is_active=Ενεργό
users.list_status_filter.not_active=Ανενεργό
users.list_status_filter.is_admin=Διαχειριστής
users.list_status_filter.not_admin=Μη Διαχειριστής
users.list_status_filter.not_admin=Χωρίς δικαιώματα διαχειριστή
users.list_status_filter.is_restricted=Περιορισμένος
users.list_status_filter.not_restricted=Μη Περιορισμένος
users.list_status_filter.is_prohibit_login=Απαγόρευση Σύνδεσης
users.list_status_filter.not_prohibit_login=Επιτρέπεται η Σύνδεση
users.list_status_filter.is_2fa_enabled=2FA Ενεργοποιημένο
users.list_status_filter.not_2fa_enabled=2FA Απενεργοποιημένο
users.details=Λεπτομέρειες Χρήστη
users.list_status_filter.not_restricted=Χωρίς περιορισμούς
users.list_status_filter.is_prohibit_login=Απαγορευμένη σύνδεση
users.list_status_filter.not_prohibit_login=Επιτρέπεται η σύνδεση
users.list_status_filter.is_2fa_enabled=Με ενεργοποιημένο 2FA
users.list_status_filter.not_2fa_enabled=Χωρίς 2FA
users.details=Λεπτομέρειες χρήστη
emails.email_manage_panel=Διαχείριση email χρηστών
emails.primary=Κύριο
@ -3051,8 +3100,8 @@ repos.size=Μέγεθος
repos.lfs_size=Μέγεθος LFS
packages.package_manage_panel=Διαχείριση πακέτων
packages.total_size=Συνολικό Μέγεθος: %s
packages.unreferenced_size=Μέγεθος Χωρίς Αναφορά: %s
packages.total_size=Συνολικό μέγεθος: %s
packages.unreferenced_size=Μέγεθος χωρίς αναφορά: %s
packages.cleanup=Εκκαθάριση ληγμένων δεδομένων
packages.cleanup.success=Επιτυχής εκκαθάριση δεδομένων που έχουν λήξει
packages.owner=Ιδιοκτήτης
@ -3122,7 +3171,7 @@ auths.allowed_domains_helper=Αφήστε κενό για να επιτρέψε
auths.skip_tls_verify=Παράλειψη επαλήθευσης TLS
auths.force_smtps=Αναγκαστικό SMTPS
auths.force_smtps_helper=Το SMTPS χρησιμοποιείται συνήθως στη θύρα 465. Ορίστε αυτό το πεδίο για χρήση του SMTPS σε άλλες θύρες. (Αλλιώς το STARTTLS θα χρησιμοποιηθεί σε άλλες θύρες αν υποστηρίζεται από τον διακομιστή.)
auths.helo_hostname=Όνομα διακομιστή στο HELO
auths.helo_hostname=Όνομα διακομιστή HELO
auths.helo_hostname_helper=Όνομα διακομιστή που αποστέλλεται με το HELO. Αφήστε κενό για να στείλετε το τρέχον όνομα του διακομιστή.
auths.disable_helo=Απενεργοποίηση HELO
auths.pam_service_name=Όνομα υπηρεσίας PAM
@ -3162,7 +3211,7 @@ auths.sspi_separator_replacement_helper=Ο χαρακτήρας που θα χρ
auths.sspi_default_language=Προεπιλεγμένη γλώσσα χρήστη
auths.sspi_default_language_helper=Προεπιλεγμένη γλώσσα για τους χρήστες που δημιουργούνται αυτόματα με τη μέθοδο ταυτοποίησης SSPI. Αφήστε κενό αν προτιμάτε η γλώσσα να εντοπιστεί αυτόματα.
auths.tips=Συμβουλές
auths.tips.oauth2.general=Ταυτοποίηση OAuth2
auths.tips.oauth2.general=Ταυτοποίηση μέσω OAuth2
auths.tips.oauth2.general.tip=Κατά την εγγραφή μιας νέας ταυτοποίησης OAuth2, το URL κλήσης/ανακατεύθυνσης πρέπει να είναι:
auths.tip.oauth2_provider=Πάροχος OAuth2
auths.tip.bitbucket=Καταχωρήστε έναν νέο καταναλωτή OAuth στο https://bitbucket.org/account/user/<your username>/oauth-consumers/new και προσθέστε το δικαίωμα 'Account' - 'Read'
@ -3218,7 +3267,7 @@ config.ssh_start_builtin_server=Χρήση ενσωματωμένου διακο
config.ssh_domain=Domain διακομιστή SSH
config.ssh_port=Θύρα
config.ssh_listen_port=Θύρα ακρόασης (Listen port)
config.ssh_root_path=Ριζική Διαδρομή
config.ssh_root_path=Τοποθεσία root
config.ssh_key_test_path=Διαδρομή δοκιμής κλειδιού
config.ssh_keygen_path=Διαδρομή keygen («ssh-keygen»)
config.ssh_minimum_key_size_check=Έλεγχος ελάχιστου μεγέθους κλειδιού
@ -3242,7 +3291,7 @@ config.service_config=Ρυθμίσεις υπηρεσίας
config.register_email_confirm=Να απαιτείται η επιβεβαίωση της διεύθυνσης email για την δημιουργία ενός λογαριασμού
config.disable_register=Απενεργοποίηση αυτο-εγγραφής
config.allow_only_internal_registration=Να επιτρέπονται εγγραφές μόνο μέσω του Forgejo
config.allow_only_external_registration=Να επιτρέπονται εγγραφές μόνο με την χρήση εξωτερικών υπηρεσιών
config.allow_only_external_registration=Να επιτρέπονται οι εγγραφές μόνο μέσω εξωτερικών υπηρεσιών
config.enable_openid_signup=Ενεργοποίηση αυτο-εγγραφής OpenID
config.enable_openid_signin=Ενεργοποίηση σύνδεσης μέσω OpenID
config.show_registration_button=Εμφάνιση κουμπιού εγγραφής
@ -3397,6 +3446,12 @@ config.open_with_editor_app_help = Οι επεξεργαστές κειμένο
auths.tip.gitlab_new = Μπορείτε να δημιουργήσετε μία νέα εφαρμογή στο https://gitlab.com/-/profile/applications
self_check.database_collation_mismatch = Η βάση δεδομένων αναμένεται να χρησιμοποιεί το collation: %s
self_check.database_collation_case_insensitive = Η βάση δεδομένων χρησιμοποιεί το collation %s, το οποίο δεν ξεχωρίζει κεφαλαία και πεζά γράμματα. Αν και το Forgejo μπορεί να δουλέψει με αυτό, ίσως να προκύψουν κάποιες σπάνιες περιπτώσεις όπου κάτι δεν θα δουλέψει όπως αναμένεται.
config.cache_test_failed = Η δοκιμή cache απέτυχε: %v.
config.cache_test_succeeded = Η δοκιμή cache πέτυχε, λάβαμε απάντηση σε %s.
config.cache_test = Δοκιμή cache
config.cache_test_slow = Η δοκιμή cache πέτυχε, αλλά καθυστέρησε: %s.
config.app_slogan = Slogan διακομιστή
auths.default_domain_name = Προεπιλεγμένο domain name που χρησιμοποιείται για την διεύθυνση email
[action]
@ -3749,6 +3804,7 @@ runs.no_workflows.documentation = Για περισσότερες πληροφο
runs.no_workflows.quick_start = Δεν ξέρετε από που να πρωτοξεκινήσετε με το Forgejo Actions; Για μια γρήγορη αρχή, συμβουλευτείτε <a target="_blank" rel="noopener noreferrer" href="%s">τον οδηγό μας</a>.
runs.workflow = Ροή εργασίας
runs.no_job_without_needs = Η ροή εργασίας πρέπει να περιέχει τουλάχιστον ένα έργο που δεν εξαρτάται από κάποιο άλλο έργο.
runs.no_job = Η ροή εργασιών πρέπει να περιέχει τουλάχιστον μία εργασία (job)
[projects]
type-1.display_name=Ατομικό έργο
@ -3787,6 +3843,10 @@ user_kind = Αναζήτηση χρηστών...
org_kind = Αναζήτηση οργανισμών...
team_kind = Αναζήτηση ομαδών...
code_kind = Αναζήτηση κώδικα...
exact_tooltip = Να συμπεριληφθούν μόνο αποτελέσματα που ταιριάζουν με τον όρο αναζήτησης
issue_kind = Αναζήτηση ζητημάτων...
pull_kind = Αναζήτηση pull...
exact = Ακριβής
[munits.data]
mib = MiB

View file

@ -180,6 +180,7 @@ commit_kind = Search commits...
runner_kind = Search runners...
no_results = No matching results found.
issue_kind = Search issues...
milestone_kind = Search milestones...
pull_kind = Search pulls...
keyword_search_unavailable = Searching by keyword is currently not available. Please contact the site administrator.
@ -491,7 +492,7 @@ admin.new_user.subject = New user %s just signed up
admin.new_user.user_info = User information
admin.new_user.text = Please <a href="%s">click here</a> to manage this user from the admin panel.
register_notify = Welcome to Forgejo
register_notify_prev9 = Welcome to Forgejo
register_notify.text_1 = this is your registration confirmation email for %s!
register_notify.text_2 = You can sign into your account using your username: %s
register_notify.text_3 = If someone else made this account for you, you will need to <a href="%s">set your password</a> first.
@ -1075,7 +1076,7 @@ license = License
license_helper = Select a license file.
license_helper_desc = A license governs what others can and can't do with your code. Not sure which one is right for your project? See <a target="_blank" rel="noopener noreferrer" href="%s">Choose a license.</a>
object_format = Object format
object_format_helper = Object format of the repository. Cannot be changed later. SHA1 is most compatible.
object_format_helper = Object format of the repository. Cannot be changed later. SHA1 is the most compatible.
readme = README
readme_helper = Select a README file template.
readme_helper_desc = This is the place where you can write a complete description for your project.
@ -1304,6 +1305,7 @@ view_git_blame = View git blame
video_not_supported_in_browser = Your browser does not support the HTML5 "video" tag.
audio_not_supported_in_browser = Your browser does not support the HTML5 "audio" tag.
stored_lfs = Stored with Git LFS
stored_annex = Stored with Git Annex
symbolic_link = Symbolic link
executable_file = Executable file
vendored = Vendored
@ -1329,6 +1331,7 @@ editor.upload_file = Upload file
editor.edit_file = Edit file
editor.preview_changes = Preview changes
editor.cannot_edit_lfs_files = LFS files cannot be edited in the web interface.
editor.cannot_edit_annex_files = Annex files cannot be edited in the web interface.
editor.cannot_edit_non_text_files = Binary files cannot be edited in the web interface.
editor.edit_this_file = Edit file
editor.this_file_locked = File is locked
@ -1614,8 +1617,8 @@ issues.reopened_at = `reopened this issue <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at = `referenced this issue from a commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_issue_from = `<a href="%[3]s">referenced this issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_pull_from = `<a href="%[3]s">referenced this pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from = `<a href="%[3]s">referenced a pull request %[4]s that will close this issue</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from = `<a href="%[3]s">referenced a pull request %[4]s that will reopen this issue</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closing_from = `<a href="%[3]s">referenced this issue from a pull request %[4]s that will close it</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopening_from = `<a href="%[3]s">referenced this issue from a pull request %[4]s that will reopen it</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_closed_from = `<a href="%[3]s">closed this issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from = `<a href="%[3]s">reopened this issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from = `from %[1]s`
@ -1936,7 +1939,7 @@ pulls.close = Close pull request
pulls.closed_at = `closed this pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at = `reopened this pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.commit_ref_at = `referenced this pull request from a commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint = `View <a class="show-instruction">command line instructions</a>.`
pulls.cmd_instruction_hint = View command line instructions
pulls.cmd_instruction_checkout_title = Checkout
pulls.cmd_instruction_checkout_desc = From your project repository, check out a new branch and test the changes.
pulls.cmd_instruction_merge_title = Merge
@ -2116,6 +2119,7 @@ activity.git_stats_addition_n = %d additions
activity.git_stats_and_deletions = and
activity.git_stats_deletion_1 = %d deletion
activity.git_stats_deletion_n = %d deletions
activity.commit = Commit activity
contributors.contribution_type.filter_label = Contribution type:
contributors.contribution_type.commits = Commits
@ -2265,7 +2269,7 @@ settings.trust_model.collaboratorcommitter = Collaborator+Committer
settings.trust_model.collaboratorcommitter.long = Collaborator+Committer: Trust signatures by collaborators which match the committer
settings.trust_model.collaboratorcommitter.desc = Valid signatures by collaborators of this repository will be marked "trusted" if they match the committer. Otherwise, valid signatures will be marked "untrusted" if the signature matches the committer and "unmatched" otherwise. This will force Forgejo to be marked as the committer on signed commits with the actual committer marked as Co-Authored-By: and Co-Committed-By: trailer in the commit. The default Forgejo key must match a User in the database.
settings.wiki_rename_branch_main = Normalize the Wiki branch name
settings.wiki_rename_branch_main_desc = Rename the branch used internally by the Wiki to "%s". This is a permanent and cannot be undone.
settings.wiki_rename_branch_main_desc = Rename the branch used internally by the Wiki to "%s". This change is permanent and cannot be undone.
settings.wiki_rename_branch_main_notices_1 = This operation <strong>CANNOT</strong> be undone.
settings.wiki_rename_branch_main_notices_2 = This will permanently rename the the internal branch of %s's repository wiki. Existing checkouts will need to be updated.
settings.wiki_branch_rename_success = The repository wiki's branch name has been successfully normalized.
@ -2743,7 +2747,7 @@ topic.done = Done
topic.count_prompt = You cannot select more than 25 topics
topic.format_prompt = Topics must start with a letter or number, can include dashes ("-") and dots ("."), can be up to 35 characters long. Letters must be lowercase.
find_file.go_to_file = Go to file
find_file.go_to_file = Find a file
find_file.no_matching = No matching file found
error.csv.too_large = Can't render this file because it is too large.
@ -3071,7 +3075,7 @@ orgs.new_orga = New organization
repos.repo_manage_panel = Manage repositories
repos.unadopted = Unadopted repositories
repos.unadopted.no_more = No more unadopted repositories found
repos.unadopted.no_more = No unadopted repositories found.
repos.owner = Owner
repos.name = Name
repos.private = Private
@ -3815,3 +3819,6 @@ submodule = Submodule
filepreview.line = Line %[1]d in %[2]s
filepreview.lines = Lines %[1]d to %[2]d in %[3]s
filepreview.truncated = Preview has been truncated
[translation_meta]
test = This is a test string. It is not displayed in Forgejo UI but is used for testing purposes. Feel free to translate it as "ok" to hit the 100% completion :) and save some time

View file

@ -135,6 +135,12 @@ toggle_menu = Baskuli menuon
access_token = Alira ĵetono
remove_all = Forigi ĉion
remove_label_str = Forigi «%s»
test = Provo
invalid_data = Nevalidaj datumoj: %v
more_items = Pli da eroj
copy_generic = Kopii al tondujo
confirm_delete_artifact = Ĉu vi certas, ke vi volas forigi la artefakton "%s"?
artifacts = Artefaktoj
[editor]
buttons.list.ordered.tooltip = Aldoni nombran liston
@ -421,7 +427,7 @@ active_your_account = Aktivigi vian konton
[mail]
activate_account.text_1 = Saluton <b>%[1]s</b>, dankon pro via registriĝo ĉe %[2]s!
release.title = Nomo: %s
register_notify = Bonvenon al Forgejo
register_notify_prev9 = Bonvenon al Forgejo
reply = aŭ respondu tiun ĉi retleteron rekte
issue.action.close = <b>@%[1]s</b> fermis #%[2]d.
register_notify.text_1 = jen estas via registriĝa konfirmletero por %s!

View file

@ -459,7 +459,7 @@ activate_email=Verifique su correo electrónico
activate_email.title=%s, por favor verifique su dirección de correo electrónico
activate_email.text=Por favor, haga clic en el siguiente enlace para verificar su dirección de correo electrónico dentro de <b>%s</b>:
register_notify=¡Bienvenido a Forgejo
register_notify_prev9=¡Bienvenido a Forgejo
register_notify.title=%[1]s, bienvenido a %[2]s
register_notify.text_1=este es tu correo de confirmación de registro para %s!
register_notify.text_2=Ahora puede iniciar sesión vía nombre de usuario: %s.
@ -1220,6 +1220,7 @@ view_git_blame=Ver la culpa de Git
video_not_supported_in_browser=Su navegador no soporta el tag video de HTML5.
audio_not_supported_in_browser=Su navegador no soporta el tag audio de HTML5.
stored_lfs=Almacenados con Git LFS
stored_annex=Almacenados con Git Annex
symbolic_link=Enlace simbólico
executable_file=Archivo Ejecutable
commit_graph=Gráfico de commits
@ -1243,6 +1244,7 @@ editor.upload_file=Subir archivo
editor.edit_file=Editar Archivo
editor.preview_changes=Vista previa de los cambios
editor.cannot_edit_lfs_files=Los archivos LFS no se pueden editar en la interfaz web.
editor.cannot_edit_annex_files=Los archivos Annex no se pueden editar en la interfaz web.
editor.cannot_edit_non_text_files=Los archivos binarios no se pueden editar en la interfaz web.
editor.edit_this_file=Editar Archivo
editor.this_file_locked=El archivo está bloqueado

View file

@ -355,7 +355,7 @@ activate_account.text_2=لطفاً روی پیوند زیر کلیک کنید ت
activate_email=نشانی ایمیل خود را تایید کنید
activate_email.text=لطفاً روی پیوند زیر کلیک کنید تا رایانامه‌ی خود را در <b>%s</b> تأیید کنید:
register_notify=به گیتی یا گیت‌گو خوش آمدید
register_notify_prev9=به گیتی یا گیت‌گو خوش آمدید
register_notify.title=%[1]s، به %[2]s خوش‌آمدید
register_notify.text_1=این رایانامه‌ی تأیید عضویت شما در %s است!
register_notify.text_2=حالا شما می‌توانید با نام کاربری وارد شوید: %s.
@ -938,6 +938,7 @@ file_copy_permalink=پرمالینک را کپی کنید
video_not_supported_in_browser=مرورگر شما از تگ video که در HTML5 تعریف شده است، پشتیبانی نمی کند.
audio_not_supported_in_browser=مرورگر شما از تگ audio که در HTML5 تعریف شده است، پشتیبانی نمی کند.
stored_lfs=ذخیره شده با GIT LFS
stored_annex=ذخیره شده با GIT Annex
symbolic_link=پیوند نمادین
commit_graph=نمودار کامیت
commit_graph.select=انتخاب برنچها
@ -955,6 +956,7 @@ editor.upload_file=بارگذاری پرونده
editor.edit_file=ویرایش پرونده
editor.preview_changes=پیش نمایش تغییرات
editor.cannot_edit_lfs_files=پرونده های LFS در صحفه وب قابل تغییر نیست.
editor.cannot_edit_annex_files=پرونده های Annex در صحفه وب قابل تغییر نیست.
editor.cannot_edit_non_text_files=پرونده‎های دودویی در صفحه وب قابل تغییر نیست.
editor.edit_this_file=ویرایش پرونده
editor.this_file_locked=پرونده قفل شده است

View file

@ -365,7 +365,7 @@ activate_account=Ole hyvä ja aktivoi tilisi
activate_email=Vahvista sähköpostiosoitteesi
register_notify=Tervetuloa Forgejoan
register_notify_prev9=Tervetuloa Forgejoan
register_notify.text_2=Voit nyt kirjautua käyttäjätunnuksella: %s.
reset_password=Palauta käyttäjätili

View file

@ -38,7 +38,7 @@ powered_by = Pinapatakbo ng %s
explore = Tuklasin
help = Tulong
logo = Logo
sign_in = Mag-Sign In
sign_in = Mag-sign in
sign_in_with_provider = Mag-sign in gamit ang %s
sign_in_or = o
sign_out = Mag-Sign Out
@ -141,6 +141,7 @@ dashboard = Dashboard
more_items = Higit pang mga item
invalid_data = Hindi wastong datos: %v
copy_generic = Kopyahin sa clipboard
test = Subukan
[home]
search_repos = Maghanap ng Repository…
@ -399,7 +400,7 @@ scratch_code = Scratch code
use_scratch_code = Gumamit ng scratch code
twofa_passcode_incorrect = Mali ang iyong passcode. Kung nawala mo ang iyong device, gamitin ang iyong scratch code para mag-sign in.
twofa_scratch_token_incorrect = Mali ang iyong scratch code.
login_userpass = Mag-Sign In
login_userpass = Mag-sign in
login_openid = OpenID
oauth_signup_tab = Mag-rehistro ng bagong account
oauth_signup_title = Kumpletuhin ang bagong account
@ -441,6 +442,11 @@ last_admin = Hindi mo matatanggal ang pinakahuling admin. Kailangan may hindi ba
tab_signin = Mag-sign In
tab_signup = Mag-sign Up
tab_openid = OpenID
hint_register = Kailangan ng account? <a href="%s">Magrehistro ngayon.</a>
sign_up_button = Magrehistro ngayon.
back_to_sign_in = Bumalik sa sign in
sign_in_openid = Magpatuloy gamit ang OpenID
hint_login = May account ka na? <a href="%s">Mag-sign in ngayon!</a>
[mail]
reply = o direktang tumugon sa email na ito
@ -456,7 +462,7 @@ activate_email = I-verify ang iyong email address
admin.new_user.subject = Nag-sign up lang ngayon ang user na si %s
admin.new_user.user_info = Impormasyon ng user
admin.new_user.text = Mangyaring <a href="%s">mag-click dito</a> para ipamahala ang user na ito sa admin panel.
register_notify = Maligayang Pagdating sa Forgejo
register_notify_prev9 = Maligayang Pagdating sa Forgejo
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
@ -640,6 +646,10 @@ following.title.few = Sinusundan
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.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.
[settings]
profile = Profile
@ -724,7 +734,7 @@ ssh_key_deletion_desc = Ang pagtanggal ng SSH key ay matatanggihan ang pag-acces
no_activity = Walang kamakilang aktibidad
ssh_signonly = Kasalukuyang naka-disable ang SSH kaya magagamit lang ang mga key na ito para sa pagpapatunay ng commit signature.
gpg_desc = Ang mga pampublikong GPG key dito ay nauugnay sa iyong account at ginagamit para i-verify ang iyong mga commit. Panatilihing ligtas ang iyong mga pribadong key dahil pinapayagan nito ang pag-sign ng mga commit gamit ng iyong pagkakakilanlan.
keep_email_private_popup = Itatago nito ang iyong email address sa iyong profile, at kung gumawa ka ng pull request o mag-edit ng file sa pamamagitan ng web interface. Hindi babaguhin ang mga naka-push na commit. Gamitin ang %s sa mga commit para i-associate sila sa iyong account.
keep_email_private_popup = Itatago nito ang iyong email address sa iyong profile. Hindi na ito ang magiging default para sa mga commit na ginawa sa pamamagitan ng web interface, tulad ng pag-upload ng mga file at pagbabago. Sa halip gagamitin ang isang espeyal na address na %s para i-associate ang mga commit sa iyong account. Tandaan na ang pagbabago ng opsyon na ito ay hindi makakaapekto sa mga umiiral na commit.
gpg_key_id_used = Ang isang publikong GPG key na may katulad na ID ay umiiral na.
gpg_no_key_email_found = Ang GPG key na ito ay hindi tumutugma sa anumang email address na nauugnay sa iyong account. Madadagdag pa rin ito kapag i-sign mo ang ibinigay na token.
ssh_principal_deletion_success = Tinanggal na ang principal.
@ -951,6 +961,7 @@ pronouns_custom = Pasadya
pronouns_unspecified = Hindi natakda
pronouns = Mga panghalip
language.title = Default na wika
keep_activity_private.description = Makikita mo lang at mga tagapangasiwa ng instansya ang iyong <a href="%s">pampublikong aktibidad</a>.
[repo]
template_description = Ang mga template na repositoryo ay pinapayagan ang mga gumagamit na mag-generate ng mga bagong repositoryo na may magkatulad na istraktura ng direktoryo, mga file, at opsyonal na mga setting.
@ -1080,7 +1091,7 @@ delete_preexisting = Burahin ang mga dating umiiral na file
delete_preexisting_content = Burahin ang mga file sa %s
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 pagtulak
migrate_items_pullrequests = Mga hiling sa paghila
archive.pull.nocomment = Naka-archive ang repo na ito. Hindi ka makakakomento sa mga pull request.
archive.title = Naka-archive ang repo na ito. Maari mong itignan ang mga file at i-clone ito, pero hindi makaka-push o magbukas ng mga isyu o mga pull request.
archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maari mong itignan ang mga file at i-clone ito, pero hindi makaka-push o magbukas ng mga isyu o mga pull request.
@ -1287,7 +1298,7 @@ issues.cancel = Kanselahin
issues.save = IImbak
issues.label_title = Pangalan
issues.delete.title = Burahin ang isyung ito?
settings.pulls_desc = Paganahin ang mga hiling sa paghatak para sa repositoryo
settings.pulls_desc = Paganahin ang mga hiling sa paghila para sa repositoryo
editor.branch_does_not_exist = Walang natagpuang [branch] na "%s" sa [repository] na ito.
commits.nothing_to_compare = Magkapareho ang mga branch na ito.
commits.search_all = Lahat na mga branch
@ -1331,7 +1342,7 @@ issues.filter_type.assigned_to_you = Itinalaga sa iyo
issues.filter_type.all_issues = Lahat ng mga isyu
issues.author_helper = May-akda ang tagagamit na ito.
issues.role.owner = May-ari
activity.title.prs_n = %d mga kahilingan sa paghatak
activity.title.prs_n = %d mga kahilingan sa paghila
issues.label_color = Kulay
pulls.nothing_to_compare = Magkapareho ang mga branch na ito. Hindi na kailangang gumawa ng hiling sa paghila.
projects.column.assigned_to = Itinalaga sa/kay
@ -1395,7 +1406,7 @@ pulls.reopen_failed.base_branch = Hindi mabuksang muli ang hiling sa paghatak na
issues.reopened_at = `binuksang muli ang isyung ito <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopen_failed.head_branch = Hindi mabuksang muli ang [pull request] na ito dahil nabura ang punong [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 paghatak
activity.opened_prs_count_n = Mga inimungkahing hiling sa paghila
editor.filename_is_invalid = Hindi wasto ang pangalan ng file: "%s".
activity.title.prs_opened_by = %s inimungkahi ni/ng %s
pulls.cant_reopen_deleted_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil nabura ang branch.
@ -1485,7 +1496,7 @@ settings.transfer_perform = Gawin ang paglipat
settings.transfer_abort = Ipagpaliban ang paglipat
settings.transfer_owner = Bagong may-ari
pulls.tab_conversation = Pag-uusap
pulls.tab_files = Nabagong mga file
pulls.tab_files = Mga nabagong file
settings.new_owner_blocked_doer = Hinarang ka ng bagong may-ari.
settings.transfer.rejected = Tinanggihan ang paglipat ng [repository].
settings.transfer.success = Matagumpay na inilipat ang [repository].
@ -1748,10 +1759,10 @@ pulls.delete.title = Burahin ang [pull request] 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 [pull request] na ito<a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.close = Isara ang [pull request]
pulls.cmd_instruction_hint = `Tingnan ang <a class="show-instruction">mga panuto para sa linya ng utos</a>.`
pulls.cmd_instruction_hint = `Tingnan ang mga panuto para sa linya ng utos.`
project = Mga proyekto
issues.content_history.deleted = binura
pulls.no_results = Walang nakitang mga resulta.
pulls.no_results = Walang mga nahanap na resulta.
pulls.closed = Sarado ang [pull request]
pulls.is_closed = Naisara na ang [pull request].
issues.ref_closing_from = `<a href="%[3]s">isinangguni ang hiling sa paghila %[4]s na magsasara sa isyung ito</a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1803,12 +1814,12 @@ issues.edit.already_changed = Hindi maimbak ang mga pagbabago sa isyu. Mukhang n
signing.wont_sign.not_signed_in = Hindi ka naka-sign in.
activity.new_issues_count_n = Bagong mga isyu
activity.git_stats_files_changed_n = mga nabago
activity.git_stats_files_changed_1 = nabago
activity.git_stats_files_changed_1 = ang nabago
issues.dependency.remove = Tanggalin
pulls.edit.already_changed = Hindi maimbak ang mga pagbabago sa [pull request]. Mukhang nabago na ng ibang tagagamit ang nilalaman. Mangyaring i-refresh ang pahina at subukang baguhin muli upang maiwasang ma-overwrite ang kanilang pagbago
milestones.filter_sort.most_complete = Pinakakumpleto
settings.collaboration.owner = May-ari
pulls.showing_only_single_commit = Ipinapakita lamang ang mga pagbago ng [commit] %[1]s
pulls.showing_only_single_commit = Ipinapakita lamang ang mga pagbago ng commit na %[1]s
comments.edit.already_changed = Hindi maimbak ang mga pagbabago sa komento. Mukhang nabago na ng ibang tagagamit ang nilalaman. Mangyaring i-refresh ang pahina at subukang baguhin muli upang maiwasang ma-overwrite ang kanilang pagbago
milestones.completeness = <strong>%d%%</strong> nakumpleto
wiki.welcome = Maligayang pagdating sa Wiki.
@ -1826,9 +1837,9 @@ activity.git_stats_deletion_n = %d mga pagbura
activity.navbar.code_frequency = Dalas ng [code]
pulls.switch_head_and_base = Ilipat ang ulo at base
activity.git_stats_push_to_all_branches = sa lahat ng mga [branch].
activity.git_stats_pushed_n = mga itinulak
activity.git_stats_pushed_n = itinulak ang
issues.reference_link = Pagsangguni: %s
activity.git_stats_pushed_1 = itinulak
activity.git_stats_pushed_1 = ang itinulak
activity.git_stats_commit_n = %d mga [commit]
issues.dependency.add = Magdagdag ng dependency…
issues.dependency.cancel = Kanselahin
@ -1860,6 +1871,33 @@ pulls.showing_specified_commit_range = Ipinapakita lamang ang mga pagbabago sa p
wiki.pages = Mga pahina
activity.unresolved_conv_label = Nakabukas
settings.pull_mirror_sync_in_progress = Inihatak ang mga pagbabago mula sa [malayuang] %s sa ngayon.
issues.dependency.setting = Paganahin ang mga dependency para sa mga isyu at mga hiling sa paghila
activity.navbar.pulse = Pulso
settings.protect_enable_merge_desc = Pinapayagan ang sinumang may [access] sa pagsulat upang isama ang mga hiling sa paghila sa [branch] na ito.
activity.git_stats_commit_1 = %d commit
activity.git_stats_file_n = %d mga file
activity.git_stats_file_1 = %d file
pulls.desc = Paganahin ang mga hiling sa paghila at mga pagsuri sa [code].
activity.git_stats_exclude_merges = Maliban sa mga pagsali,
activity.active_prs_count_n = <strong>%d</strong> aktibong mga hiling sa paghila
issues.author.tooltip.issue = May-akda ng iysung ito ang user.
issues.author.tooltip.pr = May-akda ng hiling sa paghila na ito ang user na ito.
issues.dependency.add_error_dep_exists = Umiiral na and dependency.
issues.dependency.add_error_cannot_create_circular = Hindi ka maaring gumawa ng dependency na may dalawang isyu na humaharang ang isa't isa.
issues.dependency.add_error_same_issue = Hindi mo magagwang dumepende ang isyu sa sarili.
issues.dependency.add_error_dep_not_same_repo = Dapat nasa katulad na repositoryo ang mga isyu.
issues.dependency.add_error_dep_issue_not_exist = Hindi umiiral ang dumedependeng isyu.
issues.dependency.add_error_dep_not_exist = Hindi umiiral ang dependency.
pulls.compare_changes = Bagong hiling sa paghila
pulls.allow_edits_from_maintainers = Payagan ang mga pagbabago mula sa mga tagapagpanatili
pulls.show_all_commits = Ipakita ang lahat ng mga commit
pulls.show_changes_since_your_last_review = Ipakita ang mga pagbabago mula noong huli mong pagsusuri
issues.dependency.blocked_by_short = Dumedepende sa
issues.review.pending.tooltip = Kasalukuyang hindi visible ang komentong ito sa ibang mga user. Para i-submit ang iyong mga nakabinbin na komento, piliin ang "%s" -> "%s/%s/%s" sa itaas ng pahina.
pulls.tab_commits = Mga Commit
issues.dependency.issue_remove_text = Tatanggalin nito ang dependency sa isyu na ito. Magpatuloy?
issues.dependency.remove_header = Tanggalin ang Dependency
issues.dependency.pr_remove_text = Tatanggalin nito ang dependency sa hiling sa paghila na ito. Magpatuloy?
[search]
commit_kind = Maghanap ng mga commit...
@ -1886,6 +1924,8 @@ pull_kind = Maghanap ng mga paghila...
issue_kind = Maghanap ng mga isyu...
exact = Eksakto
exact_tooltip = Samahan lamang ang mga resulta na tutugma sa eksaktong search term
union = Kaugnay
union_tooltip = Isama ang mga resulta na tumutugma sa anumang mga nahiwalay ng whitespace na keyword
[admin]
auths.updated = Nabago
@ -2151,7 +2191,7 @@ config.ssh_listen_port = Listen port
config.ssh_keygen_path = Path ng keygen ("ssh-keygen")
config.ssh_key_test_path = Path ng key test
auths.verify_group_membership = Patunayan ang membership ng grupo sa LDAP (iwanang walang laman ang filter para i-skip)
config.allow_only_external_registration = Payagan lamang ang pagrehistro sa pamamagitan ng mga panlabas na Serbisyo
config.allow_only_external_registration = Payagan lamang ang pagrehistro sa pamamagitan ng mga panlabas na serbisyo
config.allow_only_internal_registration = Payagan lamang ang pagrehistro sa pamamagitan ng Forgejo
auths.search_page_size = Laki ng pahina
auths.filter = Filter ng user
@ -2191,6 +2231,40 @@ notices.delete_selected = Burahin ang pinili
notices.view_detail_header = Mga detalye ng paunawa
notices.inverse_selection = Baliktarin ang pagpili
config.app_slogan = Slogan ng instansya
auths.oauth2_provider = Tagapagbigay ng OAuth2
auths.oauth2_tokenURL = URL ng token
auths.oauth2_authURL = URL ng Authorize
auths.oauth2_clientID = ID ng kliyente (Key)
auths.enable_ldap_groups = I-enable ang mga LDAP group
auths.oauth2_clientSecret = Sikreto ng Kliyente
auths.openIdConnectAutoDiscoveryURL = URL ng OpenID Connect Auto Discovery
auths.oauth2_use_custom_url = Gumamit ng mga custom URL sa halip ng mga default URL
auths.group_attribute_list_users = Group attribute na naglalaman ng listahan ng mga user
auths.user_attribute_in_group = User attribute na nakalista sa grupo
auths.oauth2_tenant = Tenant
auths.oauth2_scopes = Mga karagdagang scope
auths.oauth2_required_claim_name = Kinakailangang claim name
auths.pam_email_domain = Email domain ng PAM (opsyonal)
auths.oauth2_icon_url = URL ng icon
auths.oauth2_emailURL = URL ng email
auths.skip_local_two_fa = I-skip ang lokal na 2FA
auths.skip_tls_verify = I-skip ang pagpapatunay ng TLS
auths.force_smtps_helper = Palaging ginagagmit ang SMTPS sa port 465. Itakda ito para pilitin ang SMTPS sa mga ibang port. (Kung hindi, gagamitin ang STARTTLS sa mga ibang port kapag sinusuportahan ng host.)
auths.helo_hostname = Hostname ng HELO
auths.force_smtps = Pilitin ang SMTPS
auths.skip_local_two_fa_helper = Ang pag-iwan sa hindi nakatakda ay nangangahulugan na ang mga lokal na user na may 2FA ay kailangan pa ring pumasa sa 2FA upang mag-log on
auths.ms_ad_sa = Mga search attribute ng MS AD
auths.smtphost = Host ng SMTP
auths.allowed_domains_helper = Iwanang walang laman para payagan ang lahat ng mga domain. Ihiwalay ang mga maraming domain gamit ang kuwit (",").
auths.smtp_auth = Uri ng authentikasyon ng SMTP
auths.pam_service_name = Pangalan ng serbisyo ng PAM
auths.map_group_to_team = I-map ang mga LDAP group sa Mga koponan ng organisasyon (iwanang walang laman para i-skip)
auths.map_group_to_team_removal = Tanggalin ang mga user sa mga naka-synchronize na koponan kapag hindi kasama ang user sa katumbas na LDAP group
auths.smtpport = Port ng SMTP
auths.allowed_domains = Mga pinapayagang domain
auths.helo_hostname_helper = Hostname na pinapadala sa pamamagitan ng HELO. Iwanang walang laman para ipadala ang kasalukuyang hostname.
auths.disable_helo = I-disable ang HELO
auths.oauth2_profileURL = URL ng profile
[org]
repo_updated = Binago %s

View file

@ -159,6 +159,7 @@ toggle_menu = Menu va-et-vient
more_items = Plus d'éléments
invalid_data = Données invalides: %v
copy_generic = Copier dans le presse-papiers
test = Test
[aria]
navbar=Barre de navigation
@ -190,6 +191,8 @@ buttons.ref.tooltip=Référencer un ticket ou demande dajout
buttons.switch_to_legacy.tooltip=Utiliser lancien éditeur à la place
buttons.enable_monospace_font=Activer la police à chasse fixe
buttons.disable_monospace_font=Désactiver la police à chasse fixe
buttons.indent.tooltip = Indenter les éléments d'un niveau
buttons.unindent.tooltip = Supprimer un niveau d'indentation
[filter]
string.asc=A - Z
@ -246,7 +249,7 @@ err_admin_name_is_invalid=Le nom d'utilisateur de l'administrateur est invalide
general_title=Configuration générale
app_name=Titre du site
app_name_helper=Entrez ici le nom de votre société.
app_name_helper=Entrez ici le nom de votre instance. Il sera affiché sur chaque page.
repo_path=Emplacement racine des dépôts
repo_path_helper=Les dépôts Git distants seront stockés dans ce répertoire.
lfs_path=Répertoire racine Git LFS
@ -463,6 +466,11 @@ last_admin = Vous ne pouvez pas supprimer le dernier compte administrateur. Il d
remember_me.compromised = Le jeton de login n'est plus valide ce qui pourrait indiquer une compromission de compte. Veuillez vérifier d'éventuelles activités inhabituelles.
tab_signup = Enregistrement
tab_signin = Connexion
hint_register = Besoin d'un compte? <a href="%s">Enregistrez vous.</a>
sign_up_button = Creation d'un compte.
hint_login = Vous avez déjà un compte? <a href="%s">Connectez vous maintenant!</a>
back_to_sign_in = Retour à la connexion
sign_in_openid = Continuer avec OpenID
[mail]
view_it_on=Voir sur %s
@ -479,7 +487,7 @@ activate_email=Veuillez vérifier votre adresse courriel
activate_email.title=%s, veuillez vérifier votre adresse courriel
activate_email.text=Veuillez cliquer sur le lien suivant pour vérifier votre adresse courriel dans <b>%s</b>:
register_notify=Bienvenue sur Forgejo
register_notify_prev9=Bienvenue sur Forgejo
register_notify.title=%[1]s, bienvenue à %[2]s
register_notify.text_1=ceci est votre courriel de confirmation d'inscription pour %s!
register_notify.text_2=Vous pouvez maintenant vous connecter avec le nom d'utilisateur : %s
@ -672,14 +680,22 @@ form.name_pattern_not_allowed=Le motif « %s » nest pas autorisé dans un
form.name_chars_not_allowed=Le nom d'utilisateur "%s" contient des caractères non valides.
block_user = Bloquer un utilisateur
block_user.detail = Veuillez noter que bloquer un utilisateur a des conséquences. En particulier :
block_user.detail_1 = Vous ne suivez plus cet utilisateur.
block_user.detail_1 = Vous cesserez de vous suivre l'un et l'autre et ne pourrez plus vous suivre l'un et l'autre.
block_user.detail_2 = Cet utilisateur ne peut interagir avec vos dépôts, les tickets ou commentaires que vous avez créés.
block_user.detail_3 = Cet utilisateur ne peut pas vous ajouter en tant que collaborateur, et vous ne pouvez pas l'ajouter en tant que collaborateur.
block_user.detail_3 = Cet utilisateur ne peut pas vous ajouter l'un et l'autre en tant que collaborateur.
follow_blocked_user = Vous ne pouvez pas suivre cet utilisateur parce vous avez bloqué cet utilisateur ou bien cet utilisateur vous a bloqué.
block = Bloquer
unblock = Débloquer
following_one = Suit %d personnes
followers_one = %d abonné
public_activity.visibility_hint.self_public = Votre activité est visible de tous, a l'exception de vos interactions dans les espaces privés. <a href="%s">Configurer</a>.
public_activity.visibility_hint.admin_public = Cette activité est visible de tous mais, en tant qu'administrateur vous pouvez aussi voir les interactions dans les espaces privés.
public_activity.visibility_hint.self_private = Vous pouvez voir votre propre activité, ainsi que les administrateurs de l'instance. <a href="%s">Configurer</a>.
public_activity.visibility_hint.admin_private = Vous pouvez voir cette activité en tant qu'administrateur mais l'utilisateur veut qu'elle reste privée.
following.title.few = Following
followers.title.one = Follower
followers.title.few = Followers
following.title.one = Following
[settings]
profile=Profil
@ -794,7 +810,7 @@ add_email_success=La nouvelle adresse e-mail a été ajoutée.
email_preference_set_success=L'e-mail de préférence a été défini avec succès.
add_openid_success=La nouvelle adresse OpenID a été ajoutée.
keep_email_private=Cacher l'adresse courriel
keep_email_private_popup=Ceci masquera votre adresse e-mail de votre profil, de vos demandes d'ajout et des fichiers modifiés depuis l'interface Web. Les révisions déjà soumises ne seront pas modifiés. Utilisez %s dans les révisions pour les relier à votre compte.
keep_email_private_popup=Ceci masquera votre adresse courriel de votre profil. Elle ne sera plus la valeur par défaut pour les commits créés par l'interface web, tel que des ajouts de fichiers ou des éditions, et ne sera pas utilisée pour fusionner les commits. Un courriel special %s peut être utilisé pour établir la relation entre des commits et votre compte. Notez que changer cette option n'aura pas d'effet sur les commits existants.
openid_desc=OpenID vous permet de confier l'authentification à une tierce partie.
manage_ssh_keys=Gérer les clés SSH
@ -1007,6 +1023,7 @@ pronouns_custom = Personnalisés
pronouns = Pronoms
pronouns_unspecified = Non spécifiés
language.title = Langue par défaut
keep_activity_private.description = Vous seul pourrez voir votre <a href="%s">activité publique</a>, ainsi que les administrateurs de l'instance.
[repo]
new_repo_helper=Un dépôt contient tous les fichiers dun projet, ainsi que lhistorique de leurs modifications. Vous avez déjà ça ailleurs ? <a href="%s">Migrez-le ici.</a>
@ -1267,6 +1284,7 @@ view_git_blame=Voir Git blame
video_not_supported_in_browser=Votre navigateur ne supporte pas la balise « vidéo » HTML5.
audio_not_supported_in_browser=Votre navigateur ne supporte pas la balise « audio » HTML5.
stored_lfs=Stocké avec Git LFS
stored_annex=Stocké avec Git Annex
symbolic_link=Lien symbolique
executable_file=Fichier exécutable
vendored=Externe
@ -1292,6 +1310,7 @@ editor.upload_file=Téléverser un fichier
editor.edit_file=Modifier le fichier
editor.preview_changes=Aperçu des modifications
editor.cannot_edit_lfs_files=Les fichiers LFS ne peuvent pas être modifiés dans l'interface web.
editor.cannot_edit_annex_files=Les fichiers Annex ne peuvent pas être modifiés dans l'interface web.
editor.cannot_edit_non_text_files=Les fichiers binaires ne peuvent pas être édités dans l'interface web.
editor.edit_this_file=Modifier le fichier
editor.this_file_locked=Le fichier est verrouillé
@ -1577,7 +1596,7 @@ issues.commit_ref_at=`a référencé ce ticket depuis une révision <a id="%[1]s
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.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.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`
@ -1887,7 +1906,7 @@ pulls.outdated_with_base_branch=Cette branche est désynchronisée avec la branc
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.cmd_instruction_hint=`Voir <a class="show-instruction">les instructions en ligne de commande</a>.`
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.
pulls.cmd_instruction_merge_title=Fusionner
@ -2490,7 +2509,7 @@ settings.lfs_locks_no_locks=Pas de verrous
settings.lfs_lock_file_no_exist=Le fichier verrouillé n'existe pas dans la branche par défaut
settings.lfs_force_unlock=Forcer le déverrouillage
settings.lfs_pointers.found=%d pointeur(s) sur blob trouvés - %d associés, %d non associés (%d manquant dans le magasin)
settings.lfs_pointers.sha=SHA du Blob
settings.lfs_pointers.sha=SHA du blob
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=Dans le dépôt
settings.lfs_pointers.exists=Existe en magasin
@ -2768,6 +2787,14 @@ subscribe.issue.guest.tooltip = Authentifiez vous pour vous abonner à ce ticket
subscribe.pull.guest.tooltip = Authentifiez vous pour suivre cette demande d'ajout.
n_release_one = %s publication
n_release_few = %s publications
issues.author.tooltip.pr = Cet utilisateur est l'auteur de cette pull request.
issues.author.tooltip.issue = Cet utilisateur est l'auteur de ce ticket.
issues.edit.already_changed = Impossible de sauvegarder les changements du ticket car son contenu a déjà été modifié par un autre utilisateur. Veuillez recharger la page et essayer de l'éditer à nouveau pour éviter d'écraser ses changements
pulls.edit.already_changed = Impossible de sauvegarder les changements de la pull request car son contenu a déjà été modifié par un autre utilisateur. Veuillez recharger la page et essayer de l'éditer à nouveau pour éviter d'écraser ses changements
settings.federation_following_repos = Les URL des dépôts suivis séparés par ";", sans espace.
settings.federation_not_enabled = La fédération n'est pas activée pour votre instance.
comments.edit.already_changed = Impossible de sauvegarder les changements du commentaire car son contenu a déjà été modifié par un autre utilisateur. Veuillez recharger la page et essayer de l'éditer à nouveau pour éviter d'écraser ses changements
settings.federation_apapiurl = URL de fédération de ce dépôt. A copier-coller dans les paramètres de fédérations d'un autre dépôt comme URL d'un dépôt à suivre.
[graphs]
component_loading=Chargement de %s…
@ -3290,7 +3317,7 @@ config.service_config=Configuration du service
config.register_email_confirm=Exiger la confirmation de l'e-mail lors de l'inscription
config.disable_register=Désactiver le formulaire d'inscription
config.allow_only_internal_registration=Autoriser l'inscription uniquement via Forgejo lui-même
config.allow_only_external_registration=N'autoriser l'inscription qu'à partir des services externes
config.allow_only_external_registration=N'autoriser l'inscription qu'à partir de services externes
config.enable_openid_signup=Activer l'inscription avec OpenID
config.enable_openid_signin=Activer la connexion avec OpenID
config.show_registration_button=Afficher le bouton d'enregistrement
@ -3453,6 +3480,10 @@ auths.tip.gitlab_new = Enregistrer une nouvelle application sur https://gitlab.c
auths.default_domain_name = Nom de domaine par défaut utilisé pour le courriel
config.open_with_editor_app_help = Les éditeurs du menu "Ouvrir avec". Si laissé vide, les valeurs par défaut seront utilisées. Ouvrir pour voir les valeurs par défaut.
config.app_slogan = Slogan de l'instance
config.cache_test_slow = Test du cache réussi, mais le temps de réponse est lent : %s.
config.cache_test_failed = Échec du contrôle du cache : %v.
config.cache_test = Tester le cache
config.cache_test_succeeded = Test du cache réussi, réponse obtenue en %s.
[action]
create_repo=a créé le dépôt <a href="%s">%s</a>
@ -3811,6 +3842,14 @@ runs.no_workflows.documentation = Pour plus dinformations sur Forgejo Actions
variables.id_not_exist = La variable numéro %d nexiste pas.
runs.workflow = Workflow
runs.no_job_without_needs = Le workflow doit contenir au moins une tâche sans dépendances.
workflow.dispatch.use_from = Utiliser un workflow depuis
runs.no_job = Le workflow doit au moins contenir une tâche
workflow.dispatch.trigger_found = Ce workflow a un déclencheur d'événement <c>workflow_dispatch</c>.
workflow.dispatch.run = Exécuter le workflow
workflow.dispatch.success = L'exécution du workflow a bien été demandée.
workflow.dispatch.input_required = Le champ "%s" est obligatoire.
workflow.dispatch.invalid_input_type = Type invalide pour le champ "%s".
workflow.dispatch.warn_input_limit = Affichage des %d premiers champs seulement.
[projects]
type-1.display_name=Projet personnel
@ -3860,6 +3899,12 @@ package_kind = Chercher les paquets...
project_kind = Chercher les projets...
branch_kind = Chercher les branches...
commit_kind = Chercher les commits...
exact = Exact
exact_tooltip = Inclure uniquement les résultats qui correspondent exactement au terme recherché
issue_kind = Rechercher dans les tickets...
union = Union
union_tooltip = Inclus les résultats contenant au moins un des mots clé séparés par des espaces
pull_kind = Rechercher dans les demande d'ajout...
[munits.data]

View file

@ -7,7 +7,7 @@ dashboard = Panel de Control
explore = Explorar
help = Axuda
logo = Logo
sign_in = Iniciar Sesión
sign_in = Iniciar sesión
sign_in_with_provider = Iniciar Sesión con %s
sign_in_or = ou
sign_out = Pechar Sesión
@ -142,6 +142,7 @@ filter.public = Publico
pin = Aproximada
filter.private = Privado
copy_generic = Copiar ao portapapeis
test = Test
[aria]
navbar = Barra de Navegación
@ -173,6 +174,8 @@ buttons.ref.tooltip = Referencia un problema ou pull request
[search]
search = Buscar...
type_tooltip = Tipo de busca
repo_kind = Buscar repositorios...
user_kind = Buscar usuarios...
[startpage]
platform = Multiplataforma
@ -221,4 +224,6 @@ log_root_path = Ruta de rexistro
log_root_path_helper = Os ficheiros de rexistro escribiranse neste directorio.
sqlite_helper = Ruta do ficheiro para a base de datos SQLite3.<br>Introduza unha ruta absoluta se executa Forgejo como servizo.
reinstall_confirm_message = A reinstalación cunha base de datos Forgejo existente pode causar varios problemas. Na maioría dos casos, deberías usar o teu "app.ini" existente para executar Forgejo. Se sabes o que estás facendo, confirma o seguinte:
reinstall_confirm_check_1 = É posible que se perdan os datos cifrados pola SECRET_KEY en app.ini: é posible que os usuarios non poidan iniciar sesión con 2FA/OTP e que os espellos non funcionen correctamente. Ao marcar esta caixa, confirmas que o ficheiro app.ini actual contén a SECRET_KEY correcta.
reinstall_confirm_check_1 = É posible que se perdan os datos cifrados pola SECRET_KEY en app.ini: é posible que os usuarios non poidan iniciar sesión con 2FA/OTP e que os espellos non funcionen correctamente. Ao marcar esta caixa, confirmas que o ficheiro app.ini actual contén a SECRET_KEY correcta.
disable_gravatar.description = Desactiva o uso de Gravatar ou outras fontes de avatares de terceiros. As imaxes predeterminadas utilizaranse para os avatares dos usuarios a menos que carguen o seu propio avatar na instancia.
federated_avatar_lookup = Activar avatares federados

View file

@ -16,7 +16,7 @@ template=Sablon
language=Nyelv
notifications=Értesítések
create_new=Létrehozás…
user_profile_and_more=Profil és beállítások...
user_profile_and_more=Profil és beállítások
signed_in_as=Bejelentkezve mint
toc=Tartalomjegyzék
licenses=Licencek
@ -56,7 +56,7 @@ collaborative=Közreműködő
forks=Másolat
activities=Tevékenységek
pull_requests=Egyesítési Kérések
pull_requests=Egyesítési kérések
issues=Hibajegyek
milestones=Mérföldkövek
@ -90,16 +90,70 @@ concept_user_organization=Szervezet
name=Név
filter.not_archived = Nem archivált
filter.public = Nyilvános
filter.private = Privát
filter = Szűrő
filter.is_archived = Archivált
logo = Logó
sign_in_with_provider = Bejelentkezés %s fiókkal
webauthn_insert_key = Helyezze be biztonsági kulcsát
webauthn_press_button = Kérem nyomja meg a biztonsági kulcsán található gombot…
access_token = Hozzáférési token
webauthn_error = A biztonsági kulcsának beolvasása sikertelen volt.
webauthn_unsupported_browser = A böngészője jelenleg nem támogatja a WebAuthn protokollt.
webauthn_error_unknown = Egy ismeretlen hiba jelentkezett. Kérem próbálja újra.
webauthn_error_unable_to_process = A szerver nem tudta feldolgozni kérését.
webauthn_error_empty = Ennek a kulcsnak nevet kell adnia.
new_project_column = Új oszlop
never = Soha
unknown = Ismeretlen
value = Érték
copy_content = Tartalom másolása
copy_hash = Hash másolása
copy_success = Másolva!
confirm_delete_selected = Biztosan törli az összes kijelölt elemet?
pin = Kitűzés
show_timestamps = Időbélyegek mutatása
show_log_seconds = Másodpercek mutatása
download_logs = Naplófájlok letöltése
filter.is_template = Sablonok
error = Hiba
go_back = Vissza
filter.not_template = Nem sablonok
locked = Zárolt
more_items = További elemek
view = Megtekintés
ok = OK
copy_generic = Másolás vágólapra
copy_url = URL másolása
webauthn_error_insecure = A WebAuthn csak biztonságos kapcsolatokat támogat. HTTP-n keresztüli tesztelés esetén használja a "localhost" vagy "127.0.0.1"-es elérési pontokat
[aria]
footer.links = Hivatkozások
footer = Lábléc
[heatmap]
less = Kevesebb
more = Több
[editor]
buttons.heading.tooltip = Fejléc hozzáadása
buttons.code.tooltip = Kód hozzáadása
buttons.bold.tooltip = Félkövér szöveg hozzáadása
buttons.italic.tooltip = Dőlt szöveg hozzáadása
buttons.quote.tooltip = Szöveg idézése
buttons.link.tooltip = Hivatkozás hozzáadása
buttons.indent.tooltip = Elemek behúzása egy szinttel
[filter]
string.asc = A - Z
string.desc = Z - A
[error]
occurred = Hiba történt
server_internal = Belső szerverhiba
network_error = Hálózati hiba
[startpage]
app_desc=Fájdalommentes, saját gépre telepíthető Git szolgáltatás
@ -136,7 +190,7 @@ app_name=Webhely címe
app_name_helper=Itt megadhatja a vállalata nevét.
repo_path=Tárolók gyökérkönyvtára
repo_path_helper=Minden távoli Git tároló ebbe a mappába lesz mentve.
lfs_path=LFS Gyökérkönyvtár
lfs_path=Git LFS gyökérkönyvtár
lfs_path_helper=A fájlok amiket Git LFS-el elmentesz ebbe a könyvtárba kerülnek. Hagyd üresen az LFS kikapcsolásához.
run_user=Futtatás mint
ssh_port=SSH szerver port
@ -197,6 +251,7 @@ default_enable_timetracking=Időmérés bekapcsolása alapértelmezetten
default_enable_timetracking.description=Időmérés bekapcsolása az új tárolókra alapértelmezetten.
no_reply_address=Rejtett e-mail tartomány
no_reply_address_helper=Domain név a rejtett email címmel rendelkező felhasználók számára.Például: Ha a felhasználóneve "jani" akkor bejelentkezhet a "jani@noreply.example.org" email címmel,ha a rejtett email domain "noreply.example.org"-ra van állítva.
domain = Szerver domain
[home]
uname_holder=Felhasználónév vagy e-mail cím
@ -290,7 +345,7 @@ activate_account=Kérjük aktiválja a fiókját
activate_email=E-mail cím megerősítése
register_notify=A Forgejo üdvözli
register_notify_prev9=A Forgejo üdvözli
reset_password=Fiókjának visszaállítása
@ -689,6 +744,7 @@ file_too_large=Ez a fájl túl nagy ahhoz, hogy megjelenítsük.
video_not_supported_in_browser=A böngésző nem támogatja a HTML5 video tag-et.
audio_not_supported_in_browser=A böngésző nem támogatja a HTML5 audio tag-et.
stored_lfs=Git LFS-el eltárolva
stored_annex=Git Annex-el eltárolva
symbolic_link=Szimbolikus hivatkozás
commit_graph=Commit gráf
commit_graph.hide_pr_refs=Pull request-ek elrejtése
@ -701,6 +757,7 @@ editor.upload_file=Fájl feltöltése
editor.edit_file=Fájl szerkesztése
editor.preview_changes=Változások előnézete
editor.cannot_edit_lfs_files=LFS fájlok nem szerkeszthetőek a webes felületen.
editor.cannot_edit_annex_files=Annex fájlok nem szerkeszthetőek a webes felületen.
editor.cannot_edit_non_text_files=Bináris fájlok nem szerkeszthetőek a webes felületen.
editor.edit_this_file=Fájl szerkesztése
editor.this_file_locked=Zárolt állomány
@ -1673,3 +1730,17 @@ runs.commit=Commit
symbolic_link=Szimbolikus hivatkozás
submodule = Almodul
[search]
search = Keresés...
type_tooltip = Keresés típusa
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...
exact = Pontos

View file

@ -212,7 +212,7 @@ activate_account=Silakan aktifkan akun anda
activate_email=Verifikasi alamat surel anda
register_notify=Selamat Datang di Forgejo
register_notify_prev9=Selamat Datang di Forgejo
reset_password=Pulihkan akun Anda
@ -598,6 +598,7 @@ file_permalink=Permalink
file_too_large=Berkas terlalu besar untuk ditampilkan.
stored_lfs=Tersimpan dengan GIT LFS
stored_annex=Tersimpan dengan GIT Annex
commit_graph=Grafik Komit
blame=Salahkan
normal_view=Pandangan Normal
@ -609,6 +610,7 @@ editor.upload_file=Unggah Berkas
editor.edit_file=Sunting Berkas
editor.preview_changes=Tinjau Perubahan
editor.cannot_edit_lfs_files=Berkas LFS tidak dapat disunting dalam antarmuka web.
editor.cannot_edit_annex_files=Berkas Annex tidak dapat disunting dalam antarmuka web.
editor.cannot_edit_non_text_files=Berkas biner tidak dapat disunting dalam antarmuka web.
editor.edit_this_file=Sunting Berkas
editor.this_file_locked=Berkas terkunci

View file

@ -302,7 +302,7 @@ activate_account.text_2=Vinsamlegast smelltu á eftirfarandi tengil til að virk
activate_email=Staðfestu netfangið þitt
activate_email.text=Vinsamlegast smelltu á eftirfarandi tengil til að staðfesta netfangið þitt innan <b>%s</b>:
register_notify=Velkomin(n) í Forgejo
register_notify_prev9=Velkomin(n) í Forgejo
register_notify.title=%[1]s, velkomin(n) í %[2]s
register_notify.text_1=þetta er staðfestingarpóstur þinn fyrir skráningu á %s!
register_notify.text_2=Þú getur nú skráð þig inn með notandanafni: %s.
@ -679,6 +679,7 @@ file_view_rendered=Skoða Unnið
file_copy_permalink=Afrita Varanlega Slóð
stored_lfs=Geymt með Git LFS
stored_annex=Geymt með Git Annex
commit_graph.hide_pr_refs=Fela Sameiningarbeiðnir
commit_graph.monochrome=Einlitað
commit_graph.color=Litað

View file

@ -8,7 +8,7 @@ sign_in=Accedi
sign_in_or=o
sign_out=Esci
sign_up=Registrati
link_account=Collega account
link_account=Collega Profilo
register=Registrati
version=Versione
powered_by=Gestito da %s
@ -16,11 +16,11 @@ page=Pagina
template=Template
language=Lingua
notifications=Notifiche
active_stopwatch=Tracker Tempo Attivo
active_stopwatch=Attiva cronometro
create_new=Crea…
user_profile_and_more=Profilo ed Impostazioni…
user_profile_and_more=Profilo ed impostazioni…
signed_in_as=Accesso effettuato come
toc=Indice dei contenuti
toc=Indice dei Contenuti
licenses=Licenze
return_to_forgejo=Ritorna a Forgejo
@ -35,13 +35,13 @@ twofa_scratch=Codice di recupero per la verifica in due passaggi
passcode=Codice di sicurezza
webauthn_insert_key=Inserisci la tua chiave di sicurezza
webauthn_sign_in=Premere il pulsante sul tasto di sicurezza. Se il tasto di sicurezza non ha pulsante, reinseriscilo.
webauthn_press_button=Si prega di premere il pulsante sul tasto di sicurezza…
webauthn_sign_in=Premi il pulsante sul tasto di sicurezza. Se il tasto di sicurezza non ha pulsante, reinseriscilo.
webauthn_press_button=Premi il pulsante sulla chiave di sicurezza…
webauthn_use_twofa=Usa un codice a due fattori dal tuo telefono
webauthn_error=Impossibile leggere la tua chiave di sicurezza.
webauthn_unsupported_browser=Il tuo browser al momento non supporta WebAuthn.
webauthn_error_unknown=Si è verificato un errore sconosciuto. Riprova.
webauthn_error_insecure=`WebAuthn supporta solo connessioni sicure. Per il test su HTTP, è possibile utilizzare l'origine "localhost" o "127.0.0.1"`
webauthn_error_insecure=WebAuthn supporta solo connessioni sicure. Per il test su HTTP, è possibile utilizzare l'origine "localhost" o "127.0.0.1"
webauthn_error_unable_to_process=Il server non può elaborare la richiesta.
webauthn_error_duplicated=La chiave di sicurezza non è consentita per questa richiesta. Assicurati che la chiave non sia già registrata.
webauthn_error_empty=Devi impostare un nome per questa chiave.
@ -71,18 +71,18 @@ mirrors=Mirror
collaborative=Condivisi
forks=Fork
activities=Attivitá
pull_requests=Pull request
activities=Attività
pull_requests=Richieste di modifica
issues=Segnalazioni
milestones=Milestones
milestones=Traguardi
ok=OK
cancel=Annulla
save=Salva
add=Aggiungi
add_all=Aggiungi tutti
add_all=Aggiungi tutto
remove=Rimuovi
remove_all=Rimuovi Tutti
remove_all=Rimuovi tutti
edit=Modifica
enabled=Attivo
@ -142,27 +142,29 @@ download_logs = Scarica logs
confirm_delete_selected = Confermare l'eliminazione di tutti gli elementi selezionati?
sign_in_with_provider = Accedi con %s
new_project_column = Nuova colonna
toggle_menu = Mostra/Nascondi Menu
filter.not_fork = Non da fork
toggle_menu = Mostra/Nascondi menu
filter.not_fork = Non fork
filter = Filtro
filter.clear = Rimuovi filtri
filter.is_archived = Archiviato
filter.not_archived = Non archiviato
filter.is_fork = Da Fork
filter.is_fork = Da fork
filter.is_mirror = Mirror
filter.not_mirror = Non mirror
filter.is_template = Modello
filter.not_template = Non modello
filter.is_template = Modelli
filter.not_template = Non modelli
filter.public = Pubblico
filter.private = Privato
more_items = Più elementi
invalid_data = Dati non validi: %v
copy_generic = Copia negli appunti
test = Prova
[aria]
footer.links = Collegamenti
navbar = Barra di Navigazione
navbar = Barra di navigazione
footer = Piè di Pagina
footer.software = A proposito del Software
footer.software = A proposito di questo software
[heatmap]
more = Più
@ -184,10 +186,12 @@ buttons.list.unordered.tooltip = Aggiungi un elenco puntato
buttons.list.ordered.tooltip = Aggiungi un elenco numerato
buttons.list.task.tooltip = Aggiungi un elenco di attività
buttons.mention.tooltip = Menziona un utente o team
buttons.ref.tooltip = Fai riferimento ad un problema o pull request
buttons.ref.tooltip = Fa riferimento a una segnalazione o pull request
buttons.switch_to_legacy.tooltip = Passa all'editor classico
buttons.enable_monospace_font = Attiva font monospace
buttons.disable_monospace_font = Disattiva font monospace
buttons.indent.tooltip = Annida elementi di un livello
buttons.unindent.tooltip = Disannida elementi di un livello
[filter]
string.asc = A - Z
@ -199,7 +203,7 @@ missing_csrf=Richiesta errata: nessun token CSRF presente
invalid_csrf=Richiesta errata: token CSRF non valido
not_found=Il bersaglio non è stato trovato.
network_error=Errore di rete
report_message = Se credi che questo sia un errore di Forgejo, per favore controlla le segnalazioni su <a href="https://codeberg.org/forgejo/forgejo/issues" target="_blank">Codeberg</a> o aprine una nuova se necessario.
report_message = Se si pensa che questo sia un errore di Forgejo, controllare le segnalazioni su <a href="https://codeberg.org/forgejo/forgejo/issues" target="_blank">Codeberg</a> o aprine una nuova se necessario.
server_internal = Errore interno del server
[startpage]
@ -217,7 +221,7 @@ install_desc = Semplicemente <a target="_blank" rel="noopener noreferrer" href="
install=Installazione
title=Configurazione iniziale
docker_helper=Se stai usando Forgejo con Docker, leggi <a target="_blank" rel="noopener noreferrer" href="%s">la documentazione</a> prima di cambiare qualsiasi impostazione.
require_db_desc=Forgejo requires MySQL, PostgreSQL, SQLite3 or TiDB (MySQL protocol).
require_db_desc=Forgejo richiede MySQL, PostgreSQL, SQLite3 o TiDB (protocollo MySQL).
db_title=Impostazioni database
db_type=Tipo di database
host=Host
@ -229,13 +233,13 @@ db_schema_helper=Lascia vuoto per il valore predefinito del database ("public").
ssl_mode=SSL
path=Percorso
sqlite_helper=Percorso file del database SQLite3.<br>Inserisci un percorso assoluto se stai usando Forgejo come servizio.
reinstall_error=Stai cercando di installare in un database Forgejo esistente
reinstall_error=Stai cercando di installare Forgejo in una base dati già esistente
reinstall_confirm_message=La reinstallazione con una base dati Forgejo esistente può causare vari problemi. Nella maggior parte dei casi, dovresti usare il tuo "app.ini" per eseguire Forgejo. Se sai cosa stai facendo, conferma quanto segue:
reinstall_confirm_check_1=I dati crittografati da SECRET_KEY nell'app. ni potrebbe essere perso: gli utenti potrebbero non essere in grado di accedere con 2FA/OTP & mirror potrebbe non funzionare correttamente. Selezionando questa casella confermi che il file attuale app.ini contiene il corretto SECRET_KEY.
reinstall_confirm_check_2=I repository e le impostazioni potrebbero avere bisogno di essere ri-sincronizzati. Selezionando questa casella confermi che potrai risincronizzare manualmente gli hook per i repository e il file authorized_keys. Confermi che assicurerai che le impostazioni del repository e del mirror siano corrette.
reinstall_confirm_check_3=Confermi di essere assolutamente sicuro che questo Forgejo è in esecuzione con l'app corretta. ni posizione e che sei sicuro di dover reinstallare. Confermi di aver riconosciuto i rischi di cui sopra.
reinstall_confirm_check_1=I dati crittografati da SECRET_KEY nell'app.ini potrebbero essere persi: gli utenti potrebbero non essere in grado di accedere con 2FA/OTP & i mirror potrebbero non funzionare correttamente. Selezionando questa casella confermi che il file attuale app.ini contiene il corretto SECRET_KEY.
reinstall_confirm_check_2=I repository e le impostazioni potrebbero avere bisogno di essere ri-sincronizzati. Selezionando questa casella confermi che potrai risincronizzare manualmente gli hook per i repository e il file authorized_keys. Confermi che assicurerai che le impostazioni dei repository e dei mirror siano corrette.
reinstall_confirm_check_3=Confermi di essere assolutamente sicurə che questo Forgejo è in esecuzione con il file app.ini corretto e che sei sicurə di dover reinstallare. Confermi di aver riconosciuto i rischi di cui sopra.
err_empty_db_path=Il percorso del database SQLite3 non può essere vuoto.
no_admin_and_disable_registration=Non puoi disabilitare l'auto-registrazione degli utenti senza creare un account amministratore.
no_admin_and_disable_registration=Non puoi disabilitare l'auto-registrazione degli utenti senza creare un profilo amministratore.
err_empty_admin_password=La password dell'amministratore non può essere vuota.
err_empty_admin_email=L'email dell'amministratore non può essere vuota.
err_admin_name_is_reserved=Nome utente Administrator non valido, nome utente riservato
@ -244,11 +248,11 @@ err_admin_name_is_invalid=Il nome utente Administrator non è valido
general_title=Impostazioni generali
app_name=Titolo dell'istanza
app_name_helper=Qui puoi inserire il nome della tua società.
app_name_helper=Inserire qui il nome dell'istanza. Verrà visualizzato su ogni pagina.
repo_path=Percorso radice dei repository
repo_path_helper=Le Remote Git repositories saranno salvate in questa directory.
repo_path_helper=I repository Git remoti saranno salvati in questa cartella.
lfs_path=Percorso radice di git LFS
lfs_path_helper=I file trovati da Git LFS saranno salvati in questa directory. Lasciare vuoto per disattivare.
lfs_path_helper=I file trovati da Git LFS saranno salvati in questa cartella. Lascia vuoto per disattivare.
run_user=Nome utente col quale eseguire
domain=Dominio server
domain_helper=Dominio o indirizzo host per il server.
@ -266,27 +270,27 @@ email_title=Impostazioni e-mail
smtp_addr=Host SMTP
smtp_port=Porta SMTP
smtp_from=Invia e-mail come
smtp_from_helper=Indirizzo Email che Forgejo utilizzerà. Inserisci un indirizzo email o usa il formato "Name" <email@example.com>.
smtp_from_helper=Indirizzo e-mail che verrà usato da Forgejo. Inserisci un indirizzo e-mail o usa il formato "Nome" <email@esempio.it>.
mailer_user=Nome utente SMTP
mailer_password=Password SMTP
register_confirm=Richiedi conferma e-mail durante la registrazione
mail_notify=Attiva le notifiche e-mail
server_service_title=Impostazioni server e servizi di terze parti
offline_mode=Attiva modalità in locale
offline_mode.description=Disattiva le reti di distribuzione dei contenuti di terze parti e fornisci tutte le risorse localmente.
offline_mode.description=Disattiva le reti di distribuzione dei contenuti di terze parti e servi tutte le risorse localmente.
disable_gravatar=Disattiva Gravatar
disable_gravatar.description=Disattiva Gravatar e le fonti di avatar di terze parti. Verrà usato un avatar predefinito almeno che un utente non carichi un avatar in locale.
disable_gravatar.description=Disabilita l'utilizzo di Gravatar o di altre fonti avatar di terze parti. Le immagini predefinite verranno utilizzate per gli avatar degli utenti a meno che non carichino il proprio avatar sull'istanza.
federated_avatar_lookup=Attiva le immagini profilo federate
federated_avatar_lookup.description=Enable federated avatars lookup to use federated open source service based on libravatar.
federated_avatar_lookup.description=Cerca gli avatar utilizzando Libravatar.
disable_registration=Disattiva auto-registrazione
disable_registration.description=Disattiva la user self-registration. Solo gli amministratori saranno in grado di creare account.
allow_only_external_registration.description=Attiva la registrazione solo tramite servizi esterni
disable_registration.description=Solo gli amministratori dell'istanza potranno creare nuovi account utente. Si consiglia vivamente di mantenere la registrazione disabilitata a meno che non si intenda ospitare un'istanza pubblica per tutti e siate pronti a gestire grandi quantità di account spam.
allow_only_external_registration.description=Gli utenti potranno creare nuovi account usando i servizi esterni configurati.
openid_signin=Attiva l'accesso con OpenID
openid_signin.description=Attiva registrazione utente via OpenID.
openid_signin.description=Permetti agli utenti di registrarsi via OpenID.
openid_signup=Attiva auto-registrazione con OpenID
openid_signup.description=Attiva OpenID-based user self-registration.
openid_signup.description=Consenti agli utenti di creare account tramite OpenID se l'autoregistrazione è abilitata.
enable_captcha=Abilita CAPTCHA per registrazione
enable_captcha.description=Richiedi convalida captcha per i nuovi utenti.
enable_captcha.description=Richiedi convalida CAPTCHA per i nuovi utenti.
require_sign_in_view=Richiedi l'accesso per visualizzare il contenuto dell'istanza
admin_setting.description=Creare un account amministratore è opzionale. Il primo utente registrato sarà automaticamente un amministratore.
admin_title=Impostazioni profilo amministratore
@ -307,11 +311,11 @@ save_config_failed=Salvataggio della configurazione non riuscito: %v
invalid_admin_setting=Le impostazioni dell'account amministratore sono invalide: %v
invalid_log_root_path=Il percorso del log non è valido: %v
default_keep_email_private=Nascondi Indirizzo e-mail come impostazione predefinita
default_keep_email_private.description=Nasconi l'indirizzo email dei nuovi account utente di default.
default_keep_email_private.description=Nascondi l'indirizzo email dei nuovi utenti di default cosicché questa informazione non venga subito rivelata dopo la registrazione.
default_allow_create_organization=Consenti la creazione di organizzazioni come impostazione predefinita
default_allow_create_organization.description=Consenti ai nuovi account utente di creare organizzazioni di default.
default_allow_create_organization.description=Consenti ai nuovi utenti di creare organizzazioni per impostazione predefinita. Quando questa opzione è disabilitata, un amministratore dovrà concedere l'autorizzazione per la creazione di organizzazioni ai nuovi utenti.
default_enable_timetracking=Attiva il cronografo come impostazione predefinita
default_enable_timetracking.description=Attiva il cronografo per le nuove repositories di default.
default_enable_timetracking.description=Attiva di default il cronografo per i nuovi repository.
no_reply_address=Dominio e-mail nascosto
no_reply_address_helper=Nome di dominio per utenti con un indirizzo email nascosto. Ad esempio, il nome utente "joe" accederà a Git come "joe@noreply.example.org" se il dominio email nascosto è impostato a "noreply.example.org".
password_algorithm=Algoritmo per hash delle password
@ -324,22 +328,25 @@ env_config_keys = Configurazione Ambiente
env_config_keys_prompt = Le seguenti variabili di ambiente saranno anche applicate al tuo file di configurazione:
run_user_helper = Il nome utente del sistema operativo con il quale Forgejo viene eseguito. Questo utente deve avere accesso alla cartella principale dei repository.
password_algorithm_helper = Imposta l'algoritmo di hashing della password. Gli algoritmi hanno requisiti e punti di forza diversi. L'algoritmo argon2 è relativamente sicuro ma usa un sacco di memoria e potrebbe non essere appropriato a piccoli sistemi.
require_sign_in_view.description = Limita l'accesso ad utenti autenticati. I visitatori vedranno solo le pagine di accesso e registrazione.
require_sign_in_view.description = Limita l'accesso a utenti autenticati. I visitatori vedranno solo le pagine di accesso e registrazione.
allow_dots_in_usernames = Consenti l'uso del punto nel nome utente. Non impatta i profili già esistenti.
config_location_hint = Queste opzioni di configurazione saranno salvate in:
allow_only_external_registration = Permetti la registrazione solo tramite servizi esterni
app_slogan = Slogan dell'istanza
app_slogan_helper = Inserire qui lo slogan dell'istanza. Lasciare vuoto per disabilitare.
[home]
uname_holder=Nome utente o indirizzo e-mail
password_holder=Password
switch_dashboard_context=Cambia Dashboard Context
switch_dashboard_context=Cambia dashboard context
my_repos=Repositories
show_more_repos=Mostra altre repositories…
collaborative_repos=Repository Condivisi
collaborative_repos=Repository condivisi
my_orgs=Organizzazioni
my_mirrors=I miei Mirror
view_home=Vedi %s
search_repos=Trova un repository…
filter=Altro filtri
filter=Altri filtri
filter_by_team_repositories=Filtra per repository del team
feed_of=`Feed di "%s"`
@ -389,21 +396,21 @@ disable_register_prompt=La registrazione è disabilitata. Si prega di contattare
disable_register_mail=Email di conferma per la registrazione disabilitata.
manual_activation_only=Contatta l'amministratore del sito per completare l'attivazione.
remember_me=Ricorda questo dispositivo
forgot_password_title=Password Dimenticata
forgot_password_title=Password dimenticata
forgot_password=Password dimenticata?
sign_up_now=Hai bisogno di un account? Registrati adesso.
confirmation_mail_sent_prompt=Una nuova email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di registrazione.
must_change_password=Aggiorna la tua password
allow_password_change=Richiede all'utente di cambiare la password (scelta consigliata)
reset_password_mail_sent_prompt=Una email di conferma è stata inviata a <b>%s</b>. Per favore controlla la tua posta in arrivo nelle prossime %s per completare il processo di reset della password.
active_your_account=Attiva il tuo Account
active_your_account=Attiva il tuo account
account_activated=L'account è stato attivato
prohibit_login=L'accesso è proibito
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
email_not_associate=L'indirizzo email non è associato ad alcuna conta.
send_reset_mail=Inviare email di recupero account
send_reset_mail=Invia email di recupero
reset_password=Recupero account
invalid_code=Il tuo codice di conferma è invalido oppure è scaduto.
reset_password_helper=Recuperare account
@ -417,12 +424,12 @@ twofa_passcode_incorrect=Il tuo passcode non è corretto. Se hai smarrito il tuo
twofa_scratch_token_incorrect=I tuo codice scratch non è corretto.
login_userpass=Accedi
tab_openid=OpenID
oauth_signup_tab=Creare nuovo account
oauth_signup_title=Completa Nuovo Account
oauth_signup_submit=Completa l'Account
oauth_signin_tab=Collegamento ad un Account Esistente
oauth_signin_title=Accedi per autorizzare l' Account collegato
oauth_signin_submit=Collega Account
oauth_signup_tab=Crea nuovo account
oauth_signup_title=Completa il nuovo account
oauth_signup_submit=Completa l'account
oauth_signin_tab=Collega ad un account esistente
oauth_signin_title=Accedi per autorizzare l'account collegato
oauth_signin_submit=Collega account
oauth.signin.error=Si è verificato un errore nell'elaborazione della richiesta di autorizzazione. Se questo errore persiste, si prega di contattare l'amministratore del sito.
oauth.signin.error.access_denied=La richiesta di autorizzazione è stata negata.
oauth.signin.error.temporarily_unavailable=Autorizzazione non riuscita perché il server di autenticazione non è temporaneamente disponibile. Riprova più tardi.
@ -471,7 +478,7 @@ activate_account.text_2=Clicca sul seguente link per attivare il tuo account ent
activate_email=Verifica il tuo indirizzo e-mail
activate_email.text=Clicca sul seguente link per verificare il tuo indirizzo email entro <b>%s</b>:
register_notify=Benvenuto su Forgejo
register_notify_prev9=Benvenuto su Forgejo
register_notify.title=%[1]s, benvenuto in %[2]s
register_notify.text_1=questa è la tua email di conferma di registrazione per %s!
register_notify.text_2=Puoi accedere al tuo profilo tramite il tuo nome utente: %s
@ -672,6 +679,14 @@ form.name_pattern_not_allowed = La sequenza "%s" non è consentita in un nome ut
follow_blocked_user = Non puoi seguire questo utente perchè hai bloccato questo utente o perchè questo utente ha bloccato te.
followers_one = %d seguace
following_one = %d seguito
public_activity.visibility_hint.self_public = L'attività è visibile a tutti, tranne che per le interazioni negli spazi privati. <a href="%s">Configura</a>.
public_activity.visibility_hint.admin_public = Questa attività è visibile a tutti, ma come amministratore, si possono vedere anche le interazioni negli spazi privati.
public_activity.visibility_hint.self_private = L'attività è visibile solo a te e agli amministratori dell'istanza. <a href="%s">Configura</a>.
public_activity.visibility_hint.admin_private = Questa attività è visibile a te perché sei un amministratore, ma l'utente desidera che rimanga privata.
followers.title.one = Seguace
followers.title.few = Seguaci
following.title.one = Seguito
following.title.few = Osservato
[settings]
@ -999,6 +1014,7 @@ hints = Suggerimenti
pronouns = Pronomi
pronouns_custom = Personalizzato
pronouns_unspecified = Non specificato
language.title = Lingua predefinita
[repo]
owner=Proprietario
@ -1019,7 +1035,7 @@ fork_repo=Deriva progetto
fork_from=Deriva da
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 repository forkato non può essere modificata.
fork_visibility_helper=La visibilità di un repository derivato non può essere modificata.
use_template=Usa questo modello
clone_in_vsc=Clona nel codice VS
download_zip=Scarica ZIP
@ -1120,7 +1136,7 @@ migrate_options_lfs_endpoint.description=La migrazione tenterà di utilizzare il
migrate_options_lfs_endpoint.description.local=È supportato anche un percorso server locale.
migrate_items=Elementi di migrazione
migrate_items_wiki=Wiki
migrate_items_milestones=Milestone
migrate_items_milestones=Traguardi
migrate_items_labels=Etichette
migrate_items_issues=Issues
migrate_items_pullrequests=Richieste di modifica
@ -1152,14 +1168,14 @@ migrate.codebase.description=Migrare i dati da codebasehq.com.
migrate.gitbucket.description=Migra i dati dalle istanze di GitBucket.
migrate.migrating_git=Migrazione dei dati Git
migrate.migrating_topics=Migrazione degli argomenti
migrate.migrating_milestones=Migrazione delle pietre miliari
migrate.migrating_milestones=Migrazione dei traguardi
migrate.migrating_labels=Migrazione delle etichette
migrate.migrating_releases=Migrazione dei rilasci
migrate.migrating_issues=Migrazione delle segnalazioni
migrate.migrating_pulls=Migrazione delle richieste di modifica
mirror_from=mirror da
forked_from=forkato da
forked_from=derivato da
generated_from=generato da
fork_from_self=Non puoi effettuare il fork del tuo stesso repository.
fork_guest_user=Accedi per effettuare il fork di questo repository.
@ -1169,7 +1185,7 @@ unwatch=Non seguire più
watch=Segui
unstar=Togli il voto
star=Vota
fork=Forka
fork=Deriva
download_archive=Scarica progetto
no_desc=Nessuna descrizione
@ -1223,6 +1239,7 @@ view_git_blame=Visualizza git incolpa
video_not_supported_in_browser=Il tuo browser non supporta le etichette "video" di HTML5.
audio_not_supported_in_browser=Il tuo browser non supporta le etichette "audio" di HTML5.
stored_lfs=Memorizzati con Git LFS
stored_annex=Memorizzati con Git Annex
symbolic_link=Link Simbolico
commit_graph=Grafico dei commit
commit_graph.select=Seleziona rami
@ -1241,6 +1258,7 @@ editor.upload_file=Carica file
editor.edit_file=Modifica file
editor.preview_changes=Anteprima modifiche
editor.cannot_edit_lfs_files=I file LFS non possono essere modificati nell'interfaccia web.
editor.cannot_edit_annex_files=I file Annex non possono essere modificati nell'interfaccia web.
editor.cannot_edit_non_text_files=I file binari non possono essere modificati tramite interfaccia web.
editor.edit_this_file=Modifica file
editor.this_file_locked=Il file è bloccato
@ -1338,9 +1356,9 @@ projects.column.color=Colore
projects.open=Apri
projects.close=Chiudi
issues.desc=Organizza le segnalazioni di bug, attività e pietre miliari.
issues.desc=Organizza le segnalazioni di bug, attività e traguardi.
issues.filter_assignees=Filtra assegnatario
issues.filter_milestones=Filtra traguardo
issues.filter_milestones=Filtra Traguardo
issues.filter_projects=Filtra Progetti
issues.filter_labels=Filtra etichetta
issues.filter_reviewers=Filtra revisore
@ -1358,13 +1376,13 @@ issues.new.no_items=Nessun elemento
issues.new.milestone=Traguardo
issues.new.no_milestone=Nessuna pietra miliare
issues.new.clear_milestone=Milestone pulita
issues.new.open_milestone=Apri pietra miliare
issues.new.closed_milestone=Pietre miliari chiuse
issues.new.open_milestone=Traguardi aperti
issues.new.closed_milestone=Traguardi chiusi
issues.new.assignees=Assegnatari
issues.new.clear_assignees=Cancella assegnatari
issues.new.no_assignees=Nessun assegnatario
issues.new.no_reviewers=Nessun revisore
issues.choose.get_started=Inizia
issues.choose.get_started=Cominciare
issues.choose.open_external_link=Apri
issues.choose.blank=Default
issues.choose.blank_about=Crea un problema dal modello predefinito.
@ -1742,29 +1760,29 @@ pulls.delete.text=Vuoi davvero eliminare questo problema? (Questo rimuoverà per
milestones.new=Nuova pietra miliare
milestones.new=Nuovo traguardo
milestones.closed=Chiuso %s
milestones.no_due_date=Nessuna data di scadenza
milestones.open=Apri
milestones.close=Chiudi
milestones.completeness=%d%% Completato
milestones.create=Crea pietra miliare
milestones.completeness=<strong>%d%%</strong> Completato
milestones.create=Crea traguardo
milestones.title=Titolo
milestones.desc=Descrizione
milestones.due_date=Scadenza (opzionale)
milestones.clear=Pulisci
milestones.invalid_due_date_format=Il formato della scadenza deve essere 'aaaa-mm-dd'.
milestones.edit=Modifica pietra miliare
milestones.edit_subheader=Le pietre miliari organizzano le issue e tengono conto del progresso.
milestones.edit=Modifica traguardo
milestones.edit_subheader=I traguardi permettono una migliore organizzazione dei problemi e ne tracciano il progresso.
milestones.cancel=Annulla
milestones.modify=Aggiorna pietra miliare
milestones.deletion=Elimina pietra miliare
milestones.deletion_desc=Eliminare una pietra miliare la rimuove da tutte le relative issue. Continuare?
milestones.deletion_success=La pietra miliare è stata eliminata.
milestones.filter_sort.least_complete=Meno completato
milestones.filter_sort.most_complete=Più completato
milestones.filter_sort.most_issues=Maggior parte delle segnalazioni
milestones.filter_sort.least_issues=Meno segnalazioni
milestones.modify=Aggiorna traguardo
milestones.deletion=Elimina traguardo
milestones.deletion_desc=L'eliminazione di un traguardo lo rimuoverà da tutte le segnalazioni collegate ad esso. Continuare?
milestones.deletion_success=Il traguardo è stato eliminato.
milestones.filter_sort.least_complete=Completato di meno
milestones.filter_sort.most_complete=Completato di più
milestones.filter_sort.most_issues=Con più segnalazioni
milestones.filter_sort.least_issues=Con meno segnalazioni
ext_wiki=Accesso al Wiki esterno
@ -2046,7 +2064,7 @@ settings.event_create_desc=Ramo o etichetta creati.
settings.event_delete=Elimina
settings.event_delete_desc=Ramo o etichetta eliminati.
settings.event_fork=Fork
settings.event_fork_desc=Repository forkato.
settings.event_fork_desc=Repository derivato.
settings.event_wiki=Wiki
settings.event_release=Release
settings.event_release_desc=Release pubblicata, aggiornata o rimossa in una repository.
@ -2407,7 +2425,7 @@ commitstatus.failure = Errore
settings.units.overview = Panoramica
all_branches = Tutti i rami
projects.column.assigned_to = Assegnato a
pulls.cmd_instruction_hint = `Visualizza <a class="show-instruction">istruzioni per la riga di comando</a>.`
pulls.cmd_instruction_hint = `Visualizza istruzioni per la riga di comando.`
settings.add_collaborator_blocked_them = Non si può aggiungere il collaboratore perché ha bloccato il proprietario del progetto.
branch.protected_deletion_failed = Il ramo "%s" è protetto. Non può essere eliminato.
branch.default_deletion_failed = Il ramo "%s" è il ramo predefinito. Non può essere eliminato.
@ -2733,6 +2751,27 @@ settings.matrix.room_id_helper = L'ID della Stanza può essere ricavato dal web
settings.graphql_url = URL GraphQL
settings.sourcehut_builds.access_token_helper = Token di accesso con grant JOBS:RW. Genera un <a target="_blank" rel="noopener noreferrer" href="%s">token builds.sr.ht</a> o un <a target="_blank" rel="noopener noreferrer" href="%s">token builds.sr.ht con accesso ai segreti</a> su meta.sr.ht.
settings.matrix.access_token_helper = È consigliata l'impostazione di un account Matrix dedicato per questa funzione. Il token di accesso può essere prelevato dal web client Element (in una pagina privata/incognito) > Menu utente (in alto a sinistra) > Tutte le impostazioni > Aiuto e informazioni > Avanzato > Token di accesso (sotto all'URL del Homeserver). Chiudi la pagina privata/incognito (La disconnessione invaliderebbe il token).
issues.author.tooltip.issue = Questo utente è l'autore di questa segnalazione.
form.string_too_long = La stringa data è più lunga di %d caratteri.
project = Progetti
issues.edit.already_changed = Impossibile salvare le modifiche al problema. Sembra che il contenuto sia già stato modificato da un altro utente. Aggiornare la pagina e provare a modificare nuovamente per evitare di sovrascrivere le modifiche
subscribe.pull.guest.tooltip = Accedere per sottoscrivere questa richiesta di pull.
subscribe.issue.guest.tooltip = Accedere per sottoscrivere questo problema.
n_release_one = rilascio %s
n_release_few = rilasci %s
issues.author.tooltip.pr = Questo utente è l'autore di questa richiesta di pull.
release.hide_archive_links = Nascondi automaticamente gli archivi generati
settings.federation_settings = Impostazioni di federazione
settings.federation_apapiurl = URL della federazione di questo repository. Copiarlo e incollarlo nelle Impostazioni della federazione di un altro repository come URL di un repository successivo.
release.hide_archive_links_helper = Nascondi gli archivi del codice sorgente generati automaticamente per questa versione. Ad esempio, se stai caricando i tuoi.
comments.edit.already_changed = Impossibile salvare le modifiche al commento. Sembra che il contenuto sia già stato modificato da un altro utente. Aggiornare la pagina e provare a modificare nuovamente per evitare di sovrascrivere le modifiche
settings.federation_following_repos = URL dei repository successivi. Separati da ";", senza spazi.
settings.federation_not_enabled = La federazione non è abilitata nella tua istanza.
settings.transfer.button = Trasferisci la proprietà
settings.transfer.modal.title = Trasferisci la proprietà
pulls.edit.already_changed = Impossibile salvare le modifiche alla richiesta di pull. Sembra che il contenuto sia già stato modificato da un altro utente. Aggiornare la pagina e provare a modificare nuovamente per evitare di sovrascrivere le modifiche
wiki.search = Cerca nel wiki
wiki.no_search_results = Nessun risultato
[graphs]
contributors.what = contribuzioni
@ -2867,6 +2906,7 @@ follow_blocked_user = Non puoi seguire questa organizzazione perché ti ha blocc
form.name_reserved = Il nome di organizzazione "%s" è riservato.
settings.email = Email di contatto
settings.visibility.limited = Limitato (visibile solo agli utenti autenticati)
open_dashboard = Apri pannello di controllo
[admin]
dashboard=Pannello di Controllo
@ -3310,7 +3350,7 @@ monitor.start=Orario Avvio
monitor.execute_time=Tempo di Esecuzione
monitor.last_execution_result=Risultato
monitor.process.cancel=Annulla processo
monitor.process.cancel_desc=L'annullamento di un processo potrebbe causare la perdita di dati
monitor.process.cancel_desc=Annullare un processo potrebbe causare una perdita di dati
monitor.process.cancel_notices=Annulla: <strong>%s</strong>?
monitor.process.children=Figli
@ -3408,19 +3448,25 @@ auths.tip.gitlab_new = Registra una nuova applicazione su https://gitlab.com/-/p
config_summary = Riepilogo
config.open_with_editor_app_help = L'editor delle opzioni "Apri con" per il menu di clone. Se lasciato vuoto, verranno usati i default. Espandi per vedere i default.
config_settings = Impostazioni
config.cache_test = Controllo cache
config.cache_test_failed = Fallito il controllo della cache: %v.
config.cache_test_succeeded = Successo nel controllo della cache, ottenuta una risposta in %s.
config.cache_test_slow = Successo nel controllo della cache, ma la risposta è lenta: %s.
config.app_slogan = Slogan dell'istanza
auths.default_domain_name = Nome di dominio predefinito utilizzato per l'indirizzo e-mail
[action]
create_repo=ha creato il repository <a href="%s">%s</a>
rename_repo=repository rinominato da <code>%[1]s</code> a <a href="%[2]s">[3]s</a>
create_issue=`ha aperto il problema <a href="%[1]s">%[3]s#%[2]s</a>`
create_issue=`ha aperto la segnalazione <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`ha chiuso il problema <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_issue=`ha riaperto il problema <a href="%[1]s">%[3]s#%[2]s</a>`
create_pull_request=`ha creato la pull request <a href="%[1]s">%[3]s#%[2]s</a>`
close_pull_request=`ha chiuso la pull request <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request=`ha riaperto la pull request <a href="%[1]s">%[3]s#%[2]s</a>`
comment_issue=`ha commentato sul problema <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`ha commentato su pull request <a href="%[1]s">%[3]s#%[2]s</a>`
comment_issue=`ha commentato la segnalazione <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`ha commentato la richiesta di modifica <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`ha unito il pull request <a href="%[1]s">%[3]s#%[2]s</a>`
transfer_repo=repository <code>%s</code> trasferito in <a href="%s">%s</a>
push_tag=ha inviato il tag <a href="%[2]s">%[3]s</a> su <a href="%[1]s">%[4]s</a>
@ -3434,13 +3480,13 @@ mirror_sync_create=ha sincronizzato un nuovo riferimento <a href="%[2]s">%[3]s</
mirror_sync_delete=riferimento sincronizzato ed eliminato <code>%[2]s</code> a <a href="%[1]s">%[3]s</a> dal mirror
approve_pull_request=`ha approvato <a href="%[1]s">%[3]s#%[2]s</a>`
reject_pull_request=`ha suggerito modifiche per <a href="%[1]s">%[3]s#%[2]s</a>`
publish_release=`ha rilasciato <a href="%[2]s"> "%[4]s" </a> su <a href="%[1]s">%[3]s</a>`
publish_release=`ha rilasciato <a href="%[2]s">%[4]s</a> su <a href="%[1]s">%[3]s</a>`
review_dismissed=`respinta la recensione da <b>%[4]s</b> per <a href="%[1]s">%[3]s#%[2]s</a>`
review_dismissed_reason=Motivo:
create_branch=ha creato il ramo <a href="%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>
starred_repo=ha salvato come preferito <a href="%[1]s">%[2]s</a>
watched_repo=ha iniziato a guardare <a href="%[1]s">%[2]s</a>
commit_repo = immesso a <a href="%[2]s">%[3]s</a> a <a href="%[1]s">%[4]s</a>
commit_repo = ha immesso nel ramo <a href="%[2]s">%[3]s</a> presso <a href="%[1]s">%[4]s</a>
auto_merge_pull_request = `richiesta di modifica <a href="%[1]s">%[3]s#%[2]s</a> fusa automaticamente`
[tool]
@ -3651,6 +3697,7 @@ owner.settings.chef.keypair.description = Per autenticarsi al registro Chef è n
owner.settings.cargo.initialize.success = L'indice di Cargo è stato creato correttamente.
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
[secrets]
secrets = Segreti
@ -3757,6 +3804,14 @@ runs.no_workflows.quick_start = Non sai come iniziare con le Forgejo Actions? Ve
runners.delete_runner_notice = Se un'attività è in esecuzione su questo esecutore sarà terminata ed etichettata fallito. Potrebbe rompere flussi di lavoro di costruzione.
runners.task_list = Attività recenti su questo esecutore
runs.no_job_without_needs = Il flusso di lavoro deve contenere almeno un incarico senza dipendenze.
workflow.dispatch.trigger_found = Questo flusso di lavoro ha un rilevatore di eventi <c>workflow_dispatch</c>.
workflow.dispatch.run = Esegui flusso di lavoro
workflow.dispatch.success = L'esecuzione del flusso di lavoro è stata richiesta con successo.
workflow.dispatch.input_required = Richiedi valore per l'ingresso "%s".
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
@ -3798,6 +3853,10 @@ match_tooltip = Includi solo risultati che corrispondono precisamente al termine
fuzzy_tooltip = Includi anche risultati che corrispondono approssimativamente al termine di ricerca
user_kind = Cerca utenti...
repo_kind = Cerca repository...
exact_tooltip = Includi solo i risultati che corrispondono esattamente al termine di ricerca
issue_kind = Cerca segnalazioni...
pull_kind = Ricerca pull...
exact = Esatto
[munits.data]
gib = GiB

View file

@ -477,7 +477,7 @@ activate_email=メール アドレスを確認します
activate_email.title=%s さん、メールアドレス確認をお願いします
activate_email.text=あなたのメールアドレスを確認するため、<b>%s</b>以内に次のリンクをクリックしてください:
register_notify=Forgejoへようこそ
register_notify_prev9=Forgejoへようこそ
register_notify.title=%[1]s さん、%[2]s にようこそ
register_notify.text_1=これは %s への登録確認メールです!
register_notify.text_2=あなたはユーザー名 %s でログインできるようになりました。
@ -1266,6 +1266,7 @@ view_git_blame=Git Blameを表示
video_not_supported_in_browser=このブラウザはHTML5のvideoタグをサポートしていません。
audio_not_supported_in_browser=このブラウザーはHTML5のaudioタグをサポートしていません。
stored_lfs=Git LFSで保管されています
stored_annex=Git Annexで保管されています
symbolic_link=シンボリック リンク
executable_file=実行ファイル
commit_graph=コミットグラフ
@ -1289,6 +1290,7 @@ editor.upload_file=ファイルをアップロード
editor.edit_file=ファイルを編集
editor.preview_changes=変更をプレビュー
editor.cannot_edit_lfs_files=LFSのファイルはWebインターフェースで編集できません。
editor.cannot_edit_annex_files=AnnexのファイルはWebインターフェースで編集できません。
editor.cannot_edit_non_text_files=バイナリファイルはWebインターフェースで編集できません。
editor.edit_this_file=ファイルを編集
editor.this_file_locked=ファイルはロックされています
@ -1883,7 +1885,7 @@ pulls.outdated_with_base_branch=このブランチはベースブランチに対
pulls.close=プルリクエストをクローズ
pulls.closed_at=`がプルリクエストをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`がプルリクエストを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=`<a class="show-instruction">コマンドラインの手順</a>を表示します。`
pulls.cmd_instruction_hint=`コマンドラインの手順 を表示します。`
pulls.cmd_instruction_checkout_title=チェックアウト
pulls.cmd_instruction_checkout_desc=プロジェクトリポジトリから新しいブランチをチェックアウトし、変更内容をテストします。
pulls.cmd_instruction_merge_title=マージ
@ -2668,7 +2670,7 @@ issues.blocked_by_user = あなたはこのリポジトリの所有者からブ
pulls.nothing_to_compare_have_tag = 選択されたブランチまたはタグは同一です。
pulls.blocked_by_user = あなたはこのリポジトリの所有者からブロックされているため、プルリクエストを作成できません。
rss.must_be_on_branch = RSSフィードを見るためには、ブランチを閲覧する必要があります。
migrate.forgejo.description = codeberge.orgまたは他のインスタンスからデータを移行する。
migrate.forgejo.description = codeberg.orgまたは他のインスタンスからデータを移行する。
commits.browse_further = もっと見る
issues.comment.blocked_by_user = あなたはこのリポジトリの所有者か、Issueの投稿者からブロックされているため、このIssueにコメントできません。
pulls.reopen_failed.head_branch = ブランチがもう存在しないため、このプルリクエストはreopenできません。

View file

@ -43,7 +43,7 @@ admin_panel=사이트 관리
account_settings=계정 설정
settings=설정
your_profile=프로필
your_starred=즐겨찾기
your_starred=좋아한 저장소
your_settings=설정
all=전체
@ -158,6 +158,7 @@ filter.private = 비공개
filter.not_template = 템플릿이 아님
view = 보기
never = 안함
test = 테스트
[aria]
navbar = 내비게이션 바
@ -180,10 +181,15 @@ buttons.heading.tooltip = 헤딩 추가
buttons.bold.tooltip = 두꺼운 텍스트 추가
buttons.code.tooltip = 코드 추가
buttons.link.tooltip = 링크 추가
buttons.quote.tooltip = 인용구 추가
[filter]
string.desc = 하 - 가
string.asc = 가 - 하
[error]
network_error = 네트워크 오류
server_internal = 내부 서버 오류
[startpage]
app_desc=편리한 설치형 Git 서비스
@ -215,7 +221,7 @@ err_admin_name_is_invalid=관리자 사용자 이름이 올바르지 않습니
general_title=기본설정
app_name=인스턴스 제목
app_name_helper=회사이름을 넣으세요.
app_name_helper=인스턴스 이름을 입력하세요. 입력한 내용은 모든 페이지에 표시됩니다.
repo_path=저장소 최상위 경로
repo_path_helper=Git 원격 저장소는 이 디렉터리에 저장 됩니다.
lfs_path=Git LFS 루트 경로
@ -242,16 +248,16 @@ register_confirm=가입시 이메일 확인 필수
mail_notify=이메일 알림 켜기
server_service_title=서버 및 기타 서비스 설정
offline_mode=로컬 모드 켜기
offline_mode.description=타사 콘텐츠 전송 네트워크를 사용하지 않도록 설정하고 모든 리소스를 로컬로 제공하십시오.
offline_mode.description=타사 콘텐츠 전송 네트워크를 사용하지 않도록 설정하고 모든 리소스를 로컬에서 제공합니다.
disable_gravatar=Gravatar 사용안함
disable_gravatar.description=Gravatar 및 타사 아바타 소스를 사용하지 않도록 설정합니다. 사용자가 로컬로 아바타를 업로드하지 않는 한 기본 아바타가 사용됩니다.
federated_avatar_lookup=탈중앙화 아바타 사용
federated_avatar_lookup.description=libravatar 기반 오픈소스 연합 아바타 조회를 허용합니다.
disable_registration=사용자 등록 비활성화
disable_registration.description=사용자가 직접 등록할 수 없게 합니다. 관리자만이 추가할 수 있습니다.
allow_only_external_registration.description=외부 서비스를 통한 등록을 허용
disable_registration.description=인스턴스 관리자만이 새 사용자 계정을 추가할 수 있게 됩니다. 공개 인스턴스를 제공할 예정이고 많은 양의 스팸 계정을 감당할 준비가 되어 있지 않다면 사용자 등록을 비활성화 할 것을 강력히 권고합니다.
allow_only_external_registration.description=새 계정을 등록하려는 사용자는 설정된 외부 서비스를 이용해야만 새 계정을 등록할 수 있습니다.
openid_signin=OpenID 로그인 사용
openid_signin.description=OpenID 를 이용한 로그인을 허용합니다.
openid_signin.description=OpenID를 이용한 로그인을 허용합니다.
openid_signup=OpenID 가입 허용
openid_signup.description=OpenID를 통한 가입을 허용합니다.
enable_captcha.description=사용자 등록시 캡차를 요구합니다.
@ -279,6 +285,12 @@ default_enable_timetracking=시간 추적 사용을 기본값으로 설정
default_enable_timetracking.description=신규 레포지토리에 대한 시간 추적 사용을 기본값으로 설정합니다.
no_reply_address=가려진 이메일 도메인
no_reply_address_helper=가려진 이메일을 가진 사용자에게 적용될 이메일 도메인입니다. 예를 들어, 사용자 'joe'의 가려잔 이메일 도메인이 'noreply.example.org'로 설정되어 있으면 'joe@noreply.example.org'로 처리 됩니다.
db_schema_helper = 데이터베이스 기본값 ("공개")를 사용하려면 빈 칸으로 두세요.
require_db_desc = Forgejo를 사용하려면 MySQL, PostgreSQL, SQLite3 또는 TiDB (MySQL 프로토콜) 이 설치되어 있어야 합니다.
domain = 서버 도메인
smtp_from_invalid = "이메일 발신인" 주소가 유효하지 않습니다
enable_captcha = 등록 시 CAPTCHA 활성화
allow_only_external_registration = 외부 서비스를 통한 등록만 허용
[home]
uname_holder=사용자 이름 또는 이메일 주소
@ -307,6 +319,8 @@ repo_no_results=일치하는 레포지토리가 없습니다.
user_no_results=일치하는 사용자가 없습니다.
org_no_results=일치하는 조직이 없습니다.
code_no_results=검색어와 일치하는 소스코드가 없습니다.
stars_one = %d 좋아요
stars_few = %d 좋아요
[auth]
create_new_account=계정 등록
@ -365,12 +379,23 @@ activate_account=계정을 활성화하세요
activate_email=이메일 주소 확인
register_notify=Forgejo에 오신것을 환영합니다
register_notify_prev9=Forgejo에 오신것을 환영합니다
reset_password=계정 복구
register_success=등록 완료
issue.action.close = <b>@%[1]s</b>님이 #%[2]d를 닫았습니다.
release.new.text = <b>@%[1]s</b>님이 %[2]s를 %[3]s에 출시함
issue.action.push_n = <b>@%[1]s</b>님이 %[3]d개의 커밋을 %[2]s에 푸시함
issue.action.reopen = <b>@%[1]s</b>님이 #%[2]d를 다시 열었습니다.
issue.action.approve = <b>@%[1]s</b>님이 이 풀 리퀘스트를 승인했습니다.
issue.action.review = <b>@%[1]s</b>님이 이 풀 리퀘스트에 커밋했습니다.
issue.action.ready_for_review = <b>@%[1]s</b>님이 이 풀 리퀘스트를 검토하기 적합하다 표시했습니다.
issue.action.push_1 = <b>@%[1]s</b>님이 %[3]d개의 커밋을 %[2]s에 푸시함
issue.action.merge = <b>@%[1]s</b>님이 #%[2]d를 %[3]s에 병합했습니다.
issue.action.review_dismissed = <b>@%[1]s</b>님이 이 풀 리퀘스트에 대한 %[2]s의 마지막 검토를 거부했습니다.
issue.action.reject = <b>@%[1]s</b>님이 이 풀 리퀘스트에 수정을 요청했습니다.
issue.action.new = <b>@%[1]s</b>님이 #%[2]d를 만들었습니다.
@ -452,7 +477,7 @@ change_avatar=아바타 변경…
repositories=저장소
activity=공개 활동
followers_few=%d 팔로워
starred=관심있는 저장소
starred=좋아하는 저장소
overview=개요
following_few=%d 팔로우 중
follow=추적하기
@ -739,6 +764,7 @@ file_too_large=보여주기에는 파일이 너무 큽니다.
video_not_supported_in_browser=당신의 브라우저가 HTML5의 "video" 태그를 지원하지 않습니다.
audio_not_supported_in_browser=당신의 브라우저가 HTML5의 "audio" 태그를 지원하지 않습니다.
stored_lfs=Git LFS에 저장되어 있습니다
stored_annex=Git Annex에 저장되어 있습니다
commit_graph=커밋 그래프
editor.new_file=새 파일
@ -848,7 +874,7 @@ issues.action_milestone=마일스톤
issues.action_milestone_no_select=마일스톤 없음
issues.action_assignee=담당자
issues.action_assignee_no_select=담당자 없음
issues.opened_by=<a href="%[2]s"> %[3]s</a>님이 %[1]s 오픈
issues.opened_by=<a href="%[2]s"> %[3]s</a>님이 %[1]s 오픈
issues.previous=이전
issues.next=다음
issues.open_title=오픈
@ -911,8 +937,8 @@ issues.due_date_form_add=마감일 추가
issues.due_date_form_edit=편집
issues.due_date_form_remove=삭제
issues.due_date_not_set=마감일이 설정되지 않았습니다.
issues.due_date_added=마감일 %s 를 추가 %s
issues.due_date_remove=%s %s 마감일이 삭제됨
issues.due_date_added=님이 마감일 %s을 %s 추가함
issues.due_date_remove=님이 마감일 %s를 %s 삭제함
issues.due_date_overdue="기한 초과"
issues.due_date_invalid=기한이 올바르지 않거나 범위를 벗어났습니다. "yyyy-mm-dd"형식을 사용해주십시오.
issues.dependency.title=전제조건
@ -932,7 +958,7 @@ issues.dependency.add_error_dep_exists=전제조건이 이미 존재합니다.
issues.dependency.add_error_dep_not_same_repo=두 이슈는 같은 저장소 안에 있어야 합니다.
issues.review.self.approval=자신의 풀 리퀘스트를 승인할 수 없습니다.
issues.review.self.rejection=자신의 풀 리퀘스트에 대한 변경을 요청할 수 없습니다.
issues.review.approve="이 변경사항을 승인하였습니다. %s"
issues.review.approve=이 변경사항을 승인함 %s
issues.review.comment=검토됨 %s
issues.review.pending=보류
issues.review.review=검토
@ -948,19 +974,19 @@ pulls.compare_compare=다음으로부터 풀
pulls.filter_branch=Filter Branch
pulls.no_results=결과를 찾을 수 없습니다.
pulls.create=풀 리퀘스트 생성
pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="branch_target">%[3]s</code> 로 %[1]d개의 커밋들을 머지하려 합니다
pulls.merged_title_desc_few=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지했습니다 %[4]s
pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="branch_target">%[3]s</code> 로 %[1]d개의 커밋들을 병합하려함
pulls.merged_title_desc_few=님이 <code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d 커밋을 %[4]s 병합함
pulls.tab_conversation=대화
pulls.tab_commits=커밋
pulls.tab_files=파일 변경
pulls.reopen_to_merge=머지 작업을 수행하려면 이 풀 리퀘스트를 다시 열어주세요.
pulls.merged=병합
pulls.can_auto_merge_desc=이 풀리퀘스트는 자동적으로 머지될 수 있습니다.
pulls.cannot_auto_merge_helper=충돌을 해결하려면 수동으로 머지하십시오.
pulls.tab_files=파일 변경
pulls.reopen_to_merge=병합을 수행하려면 이 풀 리퀘스트를 다시 열어주세요.
pulls.merged=병합
pulls.can_auto_merge_desc=이 풀리퀘스트는 자동적으로 병합될 수 있습니다.
pulls.cannot_auto_merge_helper=충돌을 해결하려면 수동으로 병합하십시오.
pulls.no_merge_desc=모든 저장소 머지 옵션이 비활성화 되어있기 때문에 이 풀 리퀘스트를 머지할 수 없습니다.
pulls.no_merge_desc=모든 저장소 병합 옵션이 비활성화 되어있기 때문에 이 풀 리퀘스트를 병합할 수 없습니다.
pulls.invalid_merge_option=이 풀 리퀘스트에서 설정한 머지 옵션을 사용하실 수 없습니다.
pulls.invalid_merge_option=이 풀 리퀘스트에서 설정한 병합 옵션을 사용하실 수 없습니다.
@ -1028,7 +1054,7 @@ activity.title.user_1=%d 사용자
activity.title.user_n=%d 사용자
activity.title.prs_1=풀 리퀘스트 %d개
activity.title.prs_n=풀 리퀘스트 %d개
activity.title.prs_merged_by=%s 가 %s 로부터 머지 되었음
activity.title.prs_merged_by=%s 가 %s 로부터 병합되었음
activity.title.prs_opened_by=%s 가 %s 로 부터 제안됨
activity.merged_prs_label=병합됨
activity.opened_prs_label=제안중
@ -1194,7 +1220,7 @@ settings.protect_disable_push=푸시 끄기
settings.protect_enable_push=푸시 켜기
settings.protect_whitelist_search_users=사용자 찾기...
settings.protect_whitelist_search_teams=팀 찾기...
settings.protect_merge_whitelist_committers=머지 화이트리스트 활성화
settings.protect_merge_whitelist_committers=병합 화이트리스트 활성화
settings.protect_required_approvals=필요한 승인:
settings.protect_approvals_whitelist_users=화이트리스트된 리뷰어:
settings.add_protected_branch=보호 활성화
@ -1297,7 +1323,7 @@ pulls.blocked_by_official_review_requests = 이 풀 리퀘스트는 공식 검
watch_guest_user = 이 저장소를 주시하려면 로그인 해야합니다.
issues.closed_by_fake = %[2]s님이 %[1]s에 닫음
issues.new.closed_projects = 닫힌 프로젝트
pulls.merged_by_fake = %[2]s님이 %[1]s에 머지
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.filter_milestone_closed = 닫힌 마일스톤
@ -1321,6 +1347,25 @@ issues.dependency.no_permission_1 = %d개의 전제조건을 읽을 권한이
issues.dependency.no_permission.can_remove = 이 전제조건을 읽을 권한이 없지만 지울 수 있음
issues.dependency.removed_dependency = `님이 %s 전제조건 삭제`
issues.dependency.pr_close_blocked = 병합하기 전에 이 풀 리퀘스트을 제한하는 모든 이슈를 종료해야 합니다.
stars = 좋아요
stars_remove_warning = 이 작업은 이 저장소에 대한 모든 좋아요를 제거할것입니다.
star_guest_user = 로그인하여 이 저장소에 좋아요 하세요.
issues.author.tooltip.issue = 이 사용자는 이 이슈의 작성자 입니다.
issues.author.tooltip.pr = 이 사용자는 이 풀 리퀘스트의 작성자 입니다.
activity.git_stats_author_1 = %d명의 작성자
issues.filter_poster_no_select = 모든 작성자
pulls.blocked_by_user = 당신은 이 저장소의 소유자에게 차단당했기 떄문에 풀 리퀘스트를 만들 수 없습니다.
commits.search.tooltip = 키워드 앞에 접두사 "author:", "committer:", "after:", "before:"을 사용할 수 있습니다 (예: "revert author:Alice before:2019-01-13").
issues.filter_poster = 작성자
issues.author = 작성자
issues.role.owner_helper = 이 사용자는 이 저장소의 소유자 입니다.
activity.git_stats_author_n = %d명의 작성자
diff.review.self_reject = 풀 리퀘스트 작성자는 자신의 풀 리퀘스트에 수정을 요청할 수 없음
diff.review.self_approve = 풀 리퀘스트 작성자는 자신의 풀 리퀘스트를 승인할 수 없음
issues.blocked_by_user = 당신은 이 저장소의 소유자에게 차단당했기 떄문에 이슈를 만들 수 없습니다.
issues.comment.blocked_by_user = 당신은 이 저장소의 소유자 혹은 이 이슈의 작성자 에게 차단당했기 떄문에 이슈에 댓글을 달 수 없습니다.
author_search_tooltip = 최대 30명의 사용자를 표시함
pulls.merged_title_desc_one = 님이 <code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d 커밋을 %[4]s 병합함
@ -1695,6 +1740,7 @@ rename_repo=저장소 이름을 <code>%[1]s에서</code>에서 <a href="%[2]s">
transfer_repo=저장소가 <code>%s</code>에서 <a href="%s">%s</a>로 이동됨
compare_commits=%d 커밋들 비교
watched_repo = <a href="%[1]s">%[2]s</a>에대한 주시를 시작함
starred_repo = <a href="%[1]s">%[2]s</a>를 좋아함
[tool]
now=현재
@ -1754,6 +1800,7 @@ nuget.dependency.framework = 타겟 프레임워크
maven.download = 종속성을 다운로드하려면 명령줄을 통해 실행하세요:
dependency.id = ID
dependency.version = 버전
details.author = 작성자
[secrets]

View file

@ -439,7 +439,7 @@ activate_email=Apstipriniet savu e-pasta adresi
activate_email.title=%s, apstipriniet savu e-pasta adresi
activate_email.text=Nospiediet uz saites, lai apstiprinātu savu e-pasta adresi lapā <b>%s</b>:
register_notify=Laipni lūdzam Forgejo
register_notify_prev9=Laipni lūdzam Forgejo
register_notify.title=%[1]s, esat reģistrējies %[2]s
register_notify.text_1=šis ir reģistrācijas apstiprinājuma e-pasts lapai %s!
register_notify.text_2=Tagad varat autorizēties ar lietotāja vārdu: %s.
@ -1184,6 +1184,7 @@ view_git_blame=Aplūkot Git vainīgos
video_not_supported_in_browser=Jūsu pārlūks neatbalsta HTML5 video.
audio_not_supported_in_browser=Jūsu pārlūks neatbalsta HTML5 audio.
stored_lfs=Saglabāts Git LFS
stored_annex=Saglabāts Git Annex
symbolic_link=Simboliska saite
executable_file=Izpildāmais fails
commit_graph=Revīziju grafs
@ -1207,6 +1208,7 @@ editor.upload_file=Augšupielādēt failu
editor.edit_file=Labot failu
editor.preview_changes=Priekšskatīt izmaiņas
editor.cannot_edit_lfs_files=LFS failus nevar labot no tīmekļa saskarnes.
editor.cannot_edit_annex_files=Annex failus nevar labot no tīmekļa saskarnes.
editor.cannot_edit_non_text_files=Nav iespējams labot bināros failus no pārlūka saskarnes.
editor.edit_this_file=Labot failu
editor.this_file_locked=Fails ir bloķēts
@ -1801,7 +1803,7 @@ pulls.outdated_with_base_branch=Atzars ir novecojis salīdzinot ar bāzes atzaru
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.cmd_instruction_hint=`Apskatīt <a class="show-instruction">komandrindas izmantošanas norādes</a>.`
pulls.cmd_instruction_hint=`Apskatīt komandrindas izmantošanas norādes.`
pulls.cmd_instruction_checkout_title=Paņemt
pulls.cmd_instruction_checkout_desc=Projekta repozitorijā jāizveido jauns atzars un jāpārbauda izmaiņas.
pulls.cmd_instruction_merge_title=Sapludināt

View file

@ -0,0 +1,805 @@
[common]
home=പൂമുഖം
dashboard=ഡാഷ്ബോർഡ്
explore=കണ്ടെത്തൂ
help=സഹായം
sign_in=പ്രവേശിക്കുക
sign_in_with=ഉപയോഗിച്ചു് പ്രവേശിയ്ക്കുക
sign_out=പുറത്തുകടക്കുക
sign_up=രജിസ്റ്റർ
link_account=അക്കൌണ്ട് ബന്ധിപ്പിയ്ക്കുക
register=രജിസ്റ്റർ
version=പതിപ്പ്
page=പേജ്
template=ടെംപ്ലേറ്റ്
language=ഭാഷ
notifications=അറിയിപ്പുകൾ
create_new=സൃഷ്ടിക്കുക…
user_profile_and_more=പ്രൊഫൈലും ക്രമീകരണങ്ങളും…
signed_in_as=ഇയാളായി പ്രവേശിയ്ക്കുക
enable_javascript=ഈ വെബ്‌സൈറ്റ് ജാവാസ്ക്രിപ്റ്റിനൊപ്പം മികച്ച രീതിയിൽ പ്രവർത്തിക്കുന്നു.
username=ഉപയോക്ത്രു നാമം
email=ഈമെയില്‍ വിലാസം
password=രഹസ്യവാക്കു്
re_type=രഹസ്യവാക്കു് വീണ്ടും നല്‍കുക
captcha=ക്യാപ്ച
twofa=ഇരട്ട ഘടക പ്രാമാണീകരണം
twofa_scratch=ഇരട്ട ഫാക്ടർ സ്ക്രാച്ച് കോഡ്
passcode=രഹസ്യ കോഡ്
repository=കലവറ
organization=സംഘടന
mirror=മിറര്‍
new_repo=പുതിയ കലവറ
new_migrate=പുതിയ കുടിയേറ്റിപ്പാര്‍പ്പിക്കല്‍
new_mirror=പുതിയ മിറര്‍
new_fork=കലവറയുടെ പുതിയ ശിഖരം
new_org=പുതിയ സംഘടന
manage_org=സംഘടനകളെ നിയന്ത്രിക്കുക
admin_panel=സൈറ്റിന്റെ കാര്യനിര്‍വ്വാഹണം
account_settings=അക്കൌണ്ട് ക്രമീകരണങള്‍
settings=ക്രമീകരണങ്ങള്‍
your_profile=പ്രൊഫൈൽ
your_starred=നക്ഷത്ര ചിഹ്നമിട്ടവ
your_settings=ക്രമീകരണങ്ങള്‍
all=എല്ലാം
sources=ഉറവിടങ്ങൾ
mirrors=മിററുകള്‍
collaborative=സഹകരിക്കുന്ന
forks=ശാഖകള്‍
activities=പ്രവര്‍ത്തനങ്ങള്‍
pull_requests=ലയന അഭ്യർത്ഥനകൾ
issues=പ്രശ്നങ്ങൾ
cancel=റദ്ദാക്കുക
write=എഴുതുക
preview=തിരനോട്ടം
loading=ലഭ്യമാക്കുന്നു…
[filter]
[error]
[startpage]
[install]
install=സന്നിവേശിപ്പിയ്ക്കുക
title=പ്രാരംഭ ക്രമീകരണങ്ങള്‍
docker_helper=ഡോക്കറിനുള്ളിലാണ് ഗിറ്റീ പ്രവര്‍ത്തിപ്പിയ്ക്കുന്നതെങ്കില്‍, മാറ്റങ്ങള്‍ വരുത്തുന്നതിനു മുമ്പു് ദയവായി <a target="_blank" rel="noopener noreferrer" href="%s">ഡോക്യുമെന്റേഷൻ</a> വായിയ്ക്കുക.
db_title=ഡാറ്റാബേസ് ക്രമീകരണങ്ങൾ
db_type=ഡാറ്റാബേസിന്റെ തരം
host=ഹോസ്റ്റ്
user=ഉപയോക്ത്രു നാമം
password=രഹസ്യവാക്കു്
db_name=ഡാറ്റാബേസിന്റെ പേര്
db_helper=MySQL ഉപയോക്താക്കൾക്കുള്ള കുറിപ്പ്: ദയവായി InnoDB സ്റ്റോറേജ് എഞ്ചിൻ ഉപയോഗിക്കുക. നിങ്ങൾ "utf8mb4" ഉപയോഗിക്കുകയാണെങ്കിൽ, InnoDB പതിപ്പ് 5.6 നേക്കാൾ വലുതായിരിക്കണം.
ssl_mode=SSL
charset=ക്യാര്‍സെറ്റ്
path=പാത
sqlite_helper=SQLite3 ഡാറ്റാബേസിന്റെ ഫയല്‍ പാത്ത്.<br>നിങ്ങൾ ഗിറ്റീയെ ഒരു സേവനമായി പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ സമ്പൂര്‍ണ്ണ ഫയല്‍ പാത നൽകുക.
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_invalid=അഡ്മിനിസ്ട്രേറ്റർ ഉപയോക്തൃനാമം അസാധുവാണ്
general_title=പൊതുവായ ക്രമീകരണങ്ങൾ
app_name=സൈറ്റ് ശീർഷകം
app_name_helper=നിങ്ങളുടെ കമ്പനിയുടെ പേര് ഇവിടെ നൽകാം.
repo_path=സംഭരണിയുടെ റൂട്ട് പാത്ത്
repo_path_helper=വിദൂര ഗിറ്റു് സംഭരണികള്‍ ഈ ഡയറക്ടറിയിലേക്ക് സംരക്ഷിക്കും.
lfs_path=Git LFS റൂട്ട് പാത്ത്
lfs_path_helper=Git LFS ട്രാക്കുചെയ്ത ഫയലുകൾ ഈ ഡയറക്ടറിയിൽ സൂക്ഷിക്കും. പ്രവർത്തനരഹിതമാക്കാൻ ഈ കളം ശൂന്യമായി വിടുക.
run_user=ഉപയോക്താവായി പ്രവര്‍ത്തിപ്പിക്കുക
run_user_helper=ഗിറ്റീ പ്രവർത്തിക്കുന്ന ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ ഉപയോക്തൃനാമം നല്കുക. ഈ ഉപയോക്താവിന് സംഭരണിയുടെ റൂട്ട് പാത്തിലേക്ക് പ്രവേശനം ഉണ്ടായിരിക്കണം.
ssh_port=SSH സെർവർ പോര്‍ട്ട്
ssh_port_helper=നിങ്ങളുടെ SSH സെർവർ ശ്രവിക്കുന്ന പോർട്ട് നമ്പർ നല്‍കുക. പ്രവർത്തനരഹിതമാക്കാൻ കളം ശൂന്യമായി വിടുക.
http_port=ഗിറ്റീ എച്ച്ടിടിപി ശ്രവിയ്ക്കുന്ന പോർട്ട്
http_port_helper=ഗിറ്റീ വെബ് സെർവർ ശ്രവിയ്ക്കുന്ന പോർട്ട് നമ്പർ.
app_url=ഗിറ്റീയുടെ അടിസ്ഥാന വിലാസം
app_url_helper=എച്ച്ടിടിപി(എസ്) ക്ലോണുകള്‍ക്കും ഇമെയിൽ അറിയിപ്പുകൾക്കുമായുള്ള അടിസ്ഥാന വിലാസം.
log_root_path=ലോഗ് പാത്ത്
log_root_path_helper=ലോഗ് ഫയലുകൾ ഈ ഡയറക്ടറിയിലേക്ക് എഴുതപ്പെടും.
optional_title=ഐച്ഛികമായ ക്രമീകരണങ്ങൾ
email_title=ഇമെയിൽ ക്രമീകരണങ്ങൾ
smtp_from=ഈ വിലാസത്തില്‍ ഇമെയിൽ അയയ്‌ക്കുക
smtp_from_helper=ഗിറ്റീ ഉപയോഗിയ്ക്കുന്ന ഇമെയില്‍ വിലാസം. ഒരു സാധാ ഇമെയിൽ വിലാസം നൽകുക അല്ലെങ്കിൽ "പേര്"<email@example.com> എന്ന ഘടന ഉപയോഗിക്കുക.
mailer_user=SMTP ഉപയോക്തൃനാമം
mailer_password=SMTP രഹസ്യവാക്കു്
register_confirm=രജിസ്റ്റർ ചെയ്യുന്നതിന് ഇമെയിൽ സ്ഥിരീകരണം ആവശ്യമാക്കുക
mail_notify=ഇമെയിൽ അറിയിപ്പുകൾ പ്രാപ്തമാക്കുക
server_service_title=സെർവറിന്റെയും മൂന്നാം കക്ഷി സേവനങ്ങളുടെയും ക്രമീകരണങ്ങള്‍
offline_mode=പ്രാദേശിക മോഡ് പ്രവർത്തനക്ഷമമാക്കുക
offline_mode_popup=മൂന്നാം കക്ഷി ഉള്ളടക്ക ഡെലിവറി നെറ്റ്‌വർക്കുകൾ അപ്രാപ്‌തമാക്കി എല്ലാ വിഭവങ്ങളും പ്രാദേശികമായി നല്‍കുക.
disable_gravatar=ഗ്രവതാര്‍ പ്രവർത്തനരഹിതമാക്കുക
disable_gravatar_popup=ഗ്രവതാര്‍ അല്ലെങ്കില്‍ മൂന്നാം കക്ഷി അവതാർ ഉറവിടങ്ങൾ പ്രവർത്തനരഹിതമാക്കുക. ഒരു ഉപയോക്താവ് പ്രാദേശികമായി ഒരു അവതാർ അപ്‌ലോഡുചെയ്യുന്നില്ലെങ്കിൽ സ്ഥിരസ്ഥിതി അവതാർ ഉപയോഗിക്കും.
federated_avatar_lookup=കേന്ദ്രീകൃത അവതാര്‍ പ്രാപ്തമാക്കുക
federated_avatar_lookup_popup=ലിബ്രാവതാർ ഉപയോഗിച്ച് കേന്ദ്രീക്രത അവതാർ തിരയൽ പ്രാപ്തമാക്കുക.
disable_registration=സ്വയം രജിസ്ട്രേഷൻ അപ്രാപ്തമാക്കുക
disable_registration_popup=ഉപയോക്താക്കള്‍ സ്വയം രജിസ്റ്റര്‍ ചെയ്യുന്നതു അപ്രാപ്യമാക്കുക. അഡ്മിനിസ്ട്രേറ്റർമാർക്ക് മാത്രമേ പുതിയ ഉപയോക്തൃ അക്കൌണ്ടുകൾ സൃഷ്ടിക്കാന്‍ കഴിയൂ.
allow_only_external_registration_popup=ബാഹ്യ സേവനങ്ങളിലൂടെ മാത്രം രജിസ്ട്രേഷന്‍ അനുവദിക്കുക
openid_signin=OpenID പ്രവേശനം പ്രവർത്തനക്ഷമമാക്കുക
openid_signin_popup=OpenID വഴി ഉപയോക്തൃ പ്രവേശനം പ്രാപ്തമാക്കുക.
openid_signup=OpenID സ്വയം രജിസ്ട്രേഷൻ പ്രാപ്തമാക്കുക
openid_signup_popup=OpenID അടിസ്ഥാനമാക്കിയുള്ള ഉപയോക്തൃ സ്വയം രജിസ്ട്രേഷൻ പ്രാപ്തമാക്കുക.
enable_captcha_popup=ഉപയോക്താക്കള്‍ സ്വയം രജിസ്ട്രേഷന്‍ ചെയ്യുന്നതിനു് ഒരു ക്യാപ്ച ആവശ്യമാണ്.
require_sign_in_view=പേജുകൾ കാണുന്നതിന് സൈറ്റില്‍ പ്രവേശിക്കണം
require_sign_in_view_popup=പേജ് ആക്‌സസ്സ്, പ്രവേശിച്ച ഉപയോക്താക്കൾക്കുമാത്രമായി പരിമിതപ്പെടുത്തുക. സന്ദർശകർ 'പ്രവേശനം', രജിസ്ട്രേഷൻ പേജുകൾ എന്നിവ മാത്രമേ കാണൂ.
admin_setting_desc=ഒരു അഡ്മിനിസ്ട്രേറ്റര്‍ അക്കൗണ്ട് സൃഷ്ടിക്കുന്നത് ഐച്ഛികമാണ്. ആദ്യം രജിസ്റ്റര്‍ ചെയ്ത ഉപയോക്താവ് യാന്ത്രികമായി ഒരു അഡ്മിനിസ്ട്രേറ്ററായി മാറും.
admin_title=അഡ്മിനിസ്ട്രേറ്റര്‍ അക്കൗണ്ട് ക്രമീകരണങ്ങൾ
admin_name=അഡ്മിനിസ്ട്രേറ്ററുടെ ഉപയോക്തൃനാമം
admin_password=രഹസ്യവാക്കു്
confirm_password=രഹസ്യവാക്കു് സ്ഥിരീകരിക്കുക
admin_email=ഇ-മെയില്‍ വിലാസം
install_btn_confirm=ഗിറ്റീ സന്നിവേശിപ്പിയ്ക്കുക
test_git_failed='git' കമാന്‍ഡ് പരീക്ഷിക്കാന്‍ കഴിഞ്ഞില്ല: %v
sqlite3_not_available=ഗിറ്റീയുടെ ഈ വേര്‍ഷന്‍ SQLite3യെ പിന്തുണക്കുന്നില്ല. %s ൽ നിന്നും ഔദ്യോഗിക ബൈനറി പതിപ്പ് ഡൌണ്‍‌ലോഡ് ചെയ്യുക ('gobuild' പതിപ്പല്ല).
invalid_db_setting=ഡാറ്റാബേസ് ക്രമീകരണങ്ങൾ അസാധുവാണ്: %v
invalid_repo_path=കലവറയുടെ റൂട്ട് പാത്ത് അസാധുവാണ്: %v
run_user_not_match='റൺ ആസ്' ഉപയോക്തൃനാമം നിലവിലെ ഉപയോക്തൃനാമമല്ല: %s -> %s
save_config_failed=കോൺഫിഗറേഷൻ സംരക്ഷിക്കുന്നതിൽ പരാജയപ്പെട്ടു: %v
invalid_admin_setting=അഡ്മിനിസ്ട്രേറ്റര്‍ അക്കൌണ്ട് ക്രമീകരണം അസാധുവാണ്: %v
install_success=സ്വാഗതം! ഗിറ്റീ തിരഞ്ഞെടുത്തതിന് നന്ദി. സൂക്ഷിക്കുക, ആസ്വദിക്കൂ,!
invalid_log_root_path=ലോഗ് പാത്ത് അസാധുവാണ്: %v
default_keep_email_private=സ്ഥിരസ്ഥിതിയായി ഇമെയില്‍ വിലാസങ്ങള്‍ മറയ്‌ക്കുക
default_keep_email_private_popup=സ്ഥിരസ്ഥിതിയായി പുതിയ ഉപയോക്തൃ അക്കൗണ്ടുകളുടെ ഇമെയില്‍ വിലാസങ്ങള്‍ മറയ്ക്കുക.
default_allow_create_organization=സ്ഥിരസ്ഥിതിയായി സംഘടനകള്‍ സൃഷ്ടിക്കാന്‍ അനുവദിക്കുക
default_allow_create_organization_popup=സ്ഥിരസ്ഥിതിയായി സംഘടനകള്‍ സൃഷ്ടിക്കാന്‍ പുതിയ ഉപയോക്തൃ അക്കൗണ്ടുകളെ അനുവദിക്കുക.
default_enable_timetracking=സ്ഥിരസ്ഥിതിയായി സമയം ട്രാക്കു് ചെയ്യുന്നതു പ്രാപ്തമാക്കുക
default_enable_timetracking_popup=സ്ഥിരസ്ഥിതിയായി പുതിയ കലവറകള്‍ക്കു് സമയം ട്രാക്കു് ചെയ്യുന്നതു് പ്രാപ്തമാക്കുക.
no_reply_address=മറച്ച ഇമെയിൽ ഡൊമെയ്ൻ
no_reply_address_helper=മറഞ്ഞിരിക്കുന്ന ഇമെയിൽ വിലാസമുള്ള ഉപയോക്താക്കൾക്കുള്ള ഡൊമെയ്ൻ നാമം. ഉദാഹരണത്തിന്, മറഞ്ഞിരിക്കുന്ന ഇമെയിൽ ഡൊമെയ്ൻ 'noreply.example.org' ആയി സജ്ജീകരിച്ചിട്ടുണ്ടെങ്കിൽ 'joe' എന്ന ഉപയോക്താവു് 'joe@noreply.example.org' ആയി ലോഗിൻ ചെയ്യും.
[home]
uname_holder=ഉപയോക്തൃനാമമോ ഇമെയിൽ വിലാസമോ
password_holder=രഹസ്യവാക്കു്
switch_dashboard_context=ഡാഷ്‌ബോർഡ് സന്ദർഭം മാറ്റുക
my_repos=കലവറകള്‍
show_more_repos=കൂടുതൽ കലവറകള്‍ കാണിക്കുക…
collaborative_repos=സഹകരിക്കാവുന്ന കലവറകള്‍
my_orgs=എന്റെ സംഘടനകള്‍
my_mirrors=എന്റെ മിററുകള്‍
view_home=%s കാണുക
search_repos=ഒരു കലവറ കണ്ടെത്തുക…
issues.in_your_repos=നിങ്ങളുടെ കലവറകളില്‍
[explore]
repos=കലവറകള്‍
users=ഉപയോക്താക്കള്‍
organizations=സംഘടനകള്‍
search=തിരയുക
code=കോഡ്
repo_no_results=പൊരുത്തപ്പെടുന്ന കലവറകളൊന്നും കണ്ടെത്താനായില്ല.
user_no_results=പൊരുത്തപ്പെടുന്ന ഉപയോക്താക്കളെയൊന്നും കണ്ടെത്താനായില്ല.
org_no_results=പൊരുത്തപ്പെടുന്ന സംഘടനകളൊന്നും കണ്ടെത്താനായില്ല.
code_no_results=നിങ്ങളുടെ തിരയൽ പദവുമായി പൊരുത്തപ്പെടുന്ന സോഴ്സ് കോഡുകളൊന്നും കണ്ടെത്താനായില്ല.
code_search_results=%s എന്നതിനായുള്ള തിരയൽ ഫലങ്ങൾ
[auth]
create_new_account=അക്കൗണ്ട് രജിസ്റ്റർ ചെയ്യുക
register_helper_msg=ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ? ഇപ്പോൾ പ്രവേശിക്കുക!
social_register_helper_msg=ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ? ഇത് ഇപ്പോൾ ബന്ധിപ്പിയ്ക്കുക!
disable_register_prompt=രജിസ്ട്രേഷൻ അപ്രാപ്തമാക്കി. നിങ്ങളുടെ സൈറ്റ് അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക.
disable_register_mail=രജിസ്ട്രേഷനായുള്ള ഇമെയിൽ സ്ഥിരീകരണം അപ്രാപ്തമാക്കി.
forgot_password_title=അടയാളവാക്യം മറന്നുപോയോ
forgot_password=അടയാള വാക്ക് ഓർക്കുന്നില്ലേ?
sign_up_now=ഒരു അക്കൗണ്ട് ആവശ്യമുണ്ടോ? ഇപ്പോള്‍ രജിസ്റ്റര്‍ ചെയ്യുക.
sign_up_successful=അക്കൗണ്ട് വിജയകരമായി സൃഷ്ടിച്ചു.
confirmation_mail_sent_prompt=<b>%s</b> ലേക്ക് ഒരു പുതിയ സ്ഥിരീകരണ ഇമെയിൽ അയച്ചു. രജിസ്ട്രേഷൻ പ്രക്രിയ പൂർത്തിയാക്കുന്നതിന് അടുത്ത %s നുള്ളിൽ നിങ്ങളുടെ ഇൻ‌ബോക്സ് പരിശോധിക്കുക.
must_change_password=നിങ്ങളുടെ രഹസ്യവാക്കു് പുതുക്കുക
allow_password_change=രഹസ്യവാക്കു് മാറ്റാൻ ഉപയോക്താവിനോട് ആവശ്യപ്പെടുക (ശുപാർശിതം)
reset_password_mail_sent_prompt=<b>%s</b> ലേക്ക് ഒരു പുതിയ സ്ഥിരീകരണ ഇമെയിൽ അയച്ചു. അക്കൗണ്ട് വീണ്ടെടുക്കൽ പ്രക്രിയ പൂർത്തിയാക്കുന്നതിന് അടുത്ത %s നുള്ളിൽ നിങ്ങളുടെ ഇൻ‌ബോക്സ് പരിശോധിക്കുക.
active_your_account=നിങ്ങളുടെ അക്കൗണ്ട് സജീവമാക്കുക
account_activated=നിങ്ങളുടെ അക്കൗണ്ട് സജീവമാക്കി
prohibit_login=പ്രവേശനം നിരോധിച്ചിരിക്കുന്നു
prohibit_login_desc=നിങ്ങളുടെ അക്കൗണ്ടിലേയ്ക്കുള്ള പ്രവേശനം നിരോധിച്ചിരിക്കുന്നു, ദയവായി നിങ്ങളുടെ സൈറ്റ് അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക.
resent_limit_prompt=നിങ്ങൾ അടുത്തിടെ ഒരു സജീവമാക്കൽ ഇമെയിൽ അഭ്യർത്ഥിച്ചു. 3 മിനിറ്റ് കാത്തിരുന്ന് വീണ്ടും ശ്രമിക്കുക.
has_unconfirmed_mail=ഹായ് %s, നിങ്ങൾക്ക് സ്ഥിരീകരിക്കാത്ത ഇമെയിൽ വിലാസം (<b>%s</b>) ഉണ്ട്. നിങ്ങൾക്ക് ഒരു സ്ഥിരീകരണ ഇമെയിൽ ലഭിച്ചില്ലെങ്കിലോ പുതിയതൊന്ന് വീണ്ടും അയയ്‌ക്കേണ്ടതുണ്ടെങ്കിലോ, ചുവടെയുള്ള ബട്ടണിൽ ക്ലിക്കുചെയ്യുക.
resend_mail=നിങ്ങളുടെ സജീവമാക്കൽ ഇമെയിൽ വീണ്ടും അയയ്‌ക്കാൻ ഇവിടെ ക്ലിക്കുചെയ്യുക
email_not_associate=ഇമെയിൽ വിലാസം ഏതെങ്കിലും അക്കൗണ്ടുമായി ബന്ധപ്പെടുത്തിയിട്ടില്ല.
send_reset_mail=അക്കൗണ്ട് വീണ്ടെടുക്കൽ ഇമെയിൽ അയയ്‌ക്കുക
reset_password=അക്കൗണ്ട് വീണ്ടെടുക്കൽ
invalid_code=നിങ്ങളുടെ സ്ഥിരീകരണ കോഡ് അസാധുവാണ് അല്ലെങ്കിൽ കാലഹരണപ്പെട്ടു.
reset_password_helper=അക്കൗണ്ട് വീണ്ടെടുക്കുക
reset_password_wrong_user=നിങ്ങൾ %s ആയി സൈൻ ഇൻ ചെയ്‌തു, പക്ഷേ അക്കൗണ്ട് വീണ്ടെടുക്കൽ ലിങ്ക് %s എന്നതിനാണ്
password_too_short=പാസ്‌വേഡ് ദൈർഘ്യം %d അക്ഷരങ്ങളിലും കുറവായിരിക്കരുത്.
non_local_account=പ്രാദേശിക ഇതര ഉപയോക്താക്കൾക്ക് ഗിറ്റീ വെബ് വഴി പാസ്‌വേഡ് പുതുക്കാന്‍ ചെയ്യാൻ കഴിയില്ല.
verify=പ്രമാണീകരിയ്ക്കുക
scratch_code=സ്ക്രാച്ച് കോഡ്
use_scratch_code=ഒരു സ്ക്രാച്ച് കോഡ് ഉപയോഗിക്കുക
twofa_scratch_used=നിങ്ങളുടെ സ്ക്രാച്ച് കോഡ് ഉപയോഗിച്ചു. നിങ്ങളെ രണ്ട്-ഘടക ക്രമീകരണ പേജിലേക്ക് റീഡയറക്‌ട് ചെയ്‌തിരിക്കുന്നതിനാൽ നിങ്ങളുടെ ഉപകരണ എൻറോൾമെന്റ് നീക്കംചെയ്യാനോ പുതിയ സ്‌ക്രാച്ച് കോഡ് സൃഷ്‌ടിക്കാനോ കഴിയും.
twofa_passcode_incorrect=നിങ്ങളുടെ പാസ്‌കോഡ് തെറ്റാണ്. നിങ്ങളുടെ ഉപകരണം തെറ്റായി സ്ഥാപിച്ചിട്ടുണ്ടെങ്കിൽ, പ്രവേശിക്കാൻ നിങ്ങളുടെ സ്ക്രാച്ച് കോഡ് ഉപയോഗിക്കുക.
twofa_scratch_token_incorrect=നിങ്ങളുടെ സ്ക്രാച്ച് കോഡ് തെറ്റാണ്.
login_userpass=പ്രവേശിക്കുക
login_openid=OpenID
oauth_signup_tab=പുതിയ അക്കൗണ്ട് രജിസ്റ്റർ ചെയ്യുക
oauth_signup_submit=അക്കൗണ്ട് പൂർത്തിയാക്കുക
oauth_signin_tab=നിലവിലുള്ള അക്കൌണ്ടുമായി ബന്ധിപ്പിയ്ക്കുക
oauth_signin_title=അക്കൗണ്ട് ബന്ധിപ്പിയ്ക്കുന്നതു് അംഗീകരിക്കുന്നതിനായി സൈറ്റിലേയ്ക്കു് പ്രവേശിക്കുക
oauth_signin_submit=അക്കൌണ്ട് ബന്ധിപ്പിയ്ക്കുക
openid_connect_submit=ബന്ധിപ്പിക്കുക
openid_connect_title=നിലവിലുള്ള അക്കൗണ്ടുമായി ബന്ധിപ്പിയ്ക്കുക
openid_connect_desc=തിരഞ്ഞെടുത്ത ഓപ്പൺഐഡി യുആർഐ അജ്ഞാതമാണ്. ഇവിടെ നിന്നും ഒരു പുതിയ അക്കൗണ്ടുമായി ബന്ധപ്പെടുത്തുക.
openid_register_title=അംഗത്വമെടുക്കുക
openid_register_desc=തിരഞ്ഞെടുത്ത ഓപ്പൺഐഡി യുആർഐ അജ്ഞാതമാണ്. ഇവിടെ നിന്നും ഒരു പുതിയ അക്കൗണ്ടുമായി ബന്ധപ്പെടുത്തുക.
openid_signin_desc=നിങ്ങളുടെ OpenID URI നൽകുക. ഉദാഹരണത്തിന്: https://anne.me, bob.openid.org.cn അല്ലെങ്കിൽ gnusocial.net/carry.
email_domain_blacklisted=നിങ്ങളുടെ ഇമെയിൽ വിലാസത്തിൽ രജിസ്റ്റർ ചെയ്യാൻ കഴിയില്ല.
authorize_application=അപ്ലിക്കേഷനു് അംഗീകാരം നല്കുക
authorize_application_created_by=%s സൃഷ്‌ടിച്ച അപ്ലിക്കേഷൻ ആണ്.
authorize_application_description=നിങ്ങൾ പ്രവേശനം അനുവദിക്കുകയാണെങ്കിൽ, സ്വകാര്യ റിപ്പോകളും ഓർഗനൈസേഷനുകളും ഉൾപ്പെടെ നിങ്ങളുടെ എല്ലാ അക്കൌണ്ട് വിവരങ്ങള്‍ നേടാനും വേണമെങ്കില്‍‍ മാറ്റങ്ങള്‍ വരുത്താനും അതിന് കഴിയും.
authorize_title=നിങ്ങളുടെ അക്കൌണ്ടില്‍ പ്രവേശിയ്ക്കുന്നതിനു് "%s"നു് അംഗീകാരം നൽകണോ?
authorization_failed=അംഗീകാരം നല്‍കുന്നതില്‍ പരാജയപ്പെട്ടു
authorization_failed_desc=അസാധുവായ ഒരു അഭ്യർത്ഥന കണ്ടെത്തിയതിനാൽ ഞങ്ങൾ അംഗീകാരം പരാജയപ്പെടുത്തി. ദയവായി നിങ്ങൾ അംഗീകരിക്കാൻ ശ്രമിച്ച അപ്ലിക്കേഷന്റെ പരിപാലകനുമായി ബന്ധപ്പെടുക.
[mail]
activate_account=നിങ്ങളുടെ അക്കൗണ്ട് സജീവമാക്കുക
activate_email=ഇമെയില്‍ വിലാസം സ്ഥിരീകരിയ്ക്കുക
register_notify=ഗിറ്റീയിലേയ്ക്കു് സ്വാഗതം
reset_password=നിങ്ങളുടെ അക്കൗണ്ട് വീണ്ടെടുക്കുക
register_success=രജിസ്ട്രേഷൻ വിജയകരം
[modal]
yes=അതെ
no=ഇല്ല
modify=പുതുക്കുക
[form]
UserName=ഉപയോക്ത്രു നാമം
RepoName=കലവറയുടെ പേരു്
Email=ഇ-മെയില്‍ വിലാസം
Password=രഹസ്യവാക്കു്
Retype=രഹസ്യവാക്കു് വീണ്ടും നല്‍കുക
SSHTitle=SSH കീയുടെ പേരു്
HttpsUrl=HTTPS URL
PayloadUrl=പേലോഡ് URL
TeamName=ടീമിന്റെ പേരു്
AuthName=അംഗീകാരത്തിന്റെ പേരു്
AdminEmail=അഡ്‌മിൻ ഇമെയിൽ
NewBranchName=പുതിയ ശാഖയുടെ പേരു്
CommitSummary=നിയോഗത്തിന്റെ സംഗ്രഹം
CommitMessage=നിയോഗത്തിന്റെ സന്ദേശം
CommitChoice=നിയോഗത്തിന്റെ തിരഞ്ഞെടുക്കല്‍
TreeName=ഫയല്‍ പാത്ത്
Content=ഉള്ളടക്കം
require_error=`ശൂന്യമായിരിക്കരുത്.`
alpha_dash_error=`ആൽ‌ഫാന്യൂമെറിക്, ഡാഷ് ('-'), അടിവരയിട്ട ('_') എന്നീ ചിഹ്നങ്ങള്‍ മാത്രം അടങ്ങിയിരിക്കണം.`
alpha_dash_dot_error=`ആൽ‌ഫാന്യൂമെറിക്, ഡാഷ് ('-'), അടിവരയിടുക ('_'), ഡോട്ട് ('.') എന്നീ ച്ഹ്നങ്ങള്‍ മാത്രം അടങ്ങിയിരിക്കണം.`
git_ref_name_error=`നന്നായി രൂപപ്പെടുത്തിയ Git റഫറൻസ് നാമമായിരിക്കണം.`
size_error=`വലുപ്പം %s ആയിരിക്കണം.`
min_size_error=`കുറഞ്ഞത് %s അക്ഷരങ്ങള്‍ അടങ്ങിയിരിക്കണം.`
max_size_error=`പരമാവധി %s അക്ഷരങ്ങള്‍ അടങ്ങിയിരിക്കണം.`
email_error=സാധുവായ ഒരു ഈ-മെയിൽ വിലാസം അല്ല
include_error=`%s'എന്ന ഉപവാക്യം അടങ്ങിയിരിക്കണം.`
glob_pattern_error=ഗ്ലോബു് ശൃേണി തെറ്റാണു്: %s
unknown_error=അജ്ഞാതമായ പിശക്:
captcha_incorrect=ക്യാപ്ച കോഡ് തെറ്റാണ്.
password_not_match=രഹസ്യവാക്കുകള്‍ യോജിക്കുന്നില്ല.
username_been_taken=ഉപയോക്തൃനാമം ലഭ്യമല്ല.
repo_name_been_taken=കലവറയുടെ പേരു് ഇതിനോടകം ഉപയോഗിച്ചിട്ടുണ്ടു്.
visit_rate_limit=വിദൂര വിലാസം വിവരകൈമാറ്റത്തിനു് പരിധി നിശ്ചയിച്ചിട്ടുണ്ടു്.
2fa_auth_required=വിദൂര വിലാസം ഇരട്ട ഘടക പ്രാമാണീകരണം ആവശ്യപ്പെടുന്നുണ്ടു്.
org_name_been_taken=സംഘടനയുടെ പേര് ഇതിനകം എടുത്തിട്ടുണ്ട്.
team_name_been_taken=ടീമിന്റെ പേര് ഇതിനകം എടുത്തിട്ടുണ്ട്.
team_no_units_error=കുറഞ്ഞത് ഒരു കലവറ വിഭാഗത്തിലേക്ക് പ്രവേശനം അനുവദിക്കുക.
email_been_used=ഈ ഇമെയിൽ വിലാസം ഇതിനു മുന്നേ എടുത്തിട്ടുണ്ട്.
openid_been_used=%s എന്ന ഓപ്പണ്‍ഐഡി വിലാസം ഇതിനു മുന്നേ എടുത്തിട്ടുണ്ട്.
username_password_incorrect=ഉപഭോക്തൃനാമമോ രഹസ്യവാക്കോ തെറ്റാണ്.
enterred_invalid_repo_name=ഈ കവവറയുടെ പേരു് തെറ്റാണു്.
enterred_invalid_owner_name=പുതിയ ഉടമസ്ഥന്റെ പേരു് സാധുവല്ല.
enterred_invalid_password=താങ്കള്‍ നല്‍കിയ രഹസ്യവാക്കു് തെറ്റാണ്.
user_not_exist=ഉപയോക്താവ് നിലവിലില്ല.
cannot_add_org_to_team=ഒരു സംഘടനയെ ടീം അംഗമായി ചേർക്കാൻ കഴിയില്ല.
invalid_ssh_key=നിങ്ങളുടെ SSH കീ സ്ഥിരീകരിക്കാൻ കഴിയില്ല: %s
invalid_gpg_key=നിങ്ങളുടെ GPG കീ സ്ഥിരീകരിക്കാൻ കഴിയില്ല: %s
unable_verify_ssh_key=SSH കീ സ്ഥിരീകരിക്കാൻ കഴിയില്ല; തെറ്റുകളുണ്ടോയെന്നു് ഒന്നുകൂടി പരിശോധിക്കുക.
auth_failed=പ്രാമാണീകരണം പരാജയപ്പെട്ടു: %v
still_own_repo=നിങ്ങളുടെ അക്കൗണ്ടിന് ഒന്നോ അതിലധികമോ കലവറകള്‍ ഉണ്ട്; ആദ്യം അവ ഇല്ലാതാക്കുക അല്ലെങ്കിൽ കൈമാറുക.
still_has_org=നിങ്ങളുടെ അക്കൗണ്ട് ഒന്നോ അതിലധികമോ സംഘടനകളില്‍ അംഗമാണ്; ആദ്യം അവ വിടുക.
org_still_own_repo=നിങ്ങളുടെ സംഘടന ഇനിയും ഒന്നോ അതിലധികമോ കലവറകളുടെ ഉടമസ്ഥനാണു്; ആദ്യം അവ ഇല്ലാതാക്കുക അല്ലെങ്കിൽ കൈമാറുക.
target_branch_not_exist=ലക്ഷ്യമാക്കിയ ശാഖ നിലവിലില്ല.
[user]
change_avatar=നിങ്ങളുടെ അവതാർ മാറ്റുക…
join_on=ചേർന്നതു്
repositories=കലവറകള്‍
activity=പൊതുവായ പ്രവർത്തനങ്ങള്‍
followers=പിന്തുടരുന്നവര്‍‌
starred=നക്ഷത്രമിട്ട കലവറകള്‍
following=പിന്തുടരുന്നവര്‍
follow=പിന്തുടരൂ
unfollow=പിന്തുടരുന്നത് നിര്‍ത്തുക
heatmap.loading=ഹീറ്റ്മാപ്പ് ലോഡുചെയ്യുന്നു…
user_bio=ജീവചരിത്രം
form.name_reserved='%s' എന്ന ഉപയോക്തൃനാമം മറ്റാവശ്യങ്ങള്‍ക്കായി നീക്കിവച്ചിരിക്കുന്നു.
form.name_pattern_not_allowed=ഉപയോക്തൃനാമത്തിൽ '%s' എന്ന ശ്രേണി അനുവദനീയമല്ല.
[settings]
profile=പ്രൊഫൈൽ
account=അക്കൗണ്ട്
password=രഹസ്യവാക്കു്
security=സുരക്ഷ
avatar=അവതാര്‍
ssh_gpg_keys=SSH / GPG കീകള്‍
social=സോഷ്യൽ അക്കൗണ്ടുകൾ
applications=അപ്ലിക്കേഷനുകൾ
orgs=സംഘടനകളെ നിയന്ത്രിക്കുക
repos=കലവറകള്‍
delete=അക്കൗണ്ട് ഇല്ലാതാക്കുക
twofa=ഇരട്ട ഘടക പ്രാമാണീകരണം
account_link=ബന്ധിപ്പിച്ച അക്കൌണ്ടുകള്‍
organization=സംഘടനകള്‍
uid=Uid
public_profile=പരസ്യമായ പ്രൊഫൈൽ
profile_desc=അറിയിപ്പുകൾക്കും മറ്റ് പ്രവർത്തനങ്ങൾക്കുമായി നിങ്ങളുടെ ഇമെയിൽ വിലാസം ഉപയോഗിക്കും.
password_username_disabled=പ്രാദേശികമല്ലാത്ത ഉപയോക്താക്കൾക്ക് അവരുടെ ഉപയോക്തൃനാമം മാറ്റാൻ അനുവാദമില്ല. കൂടുതൽ വിവരങ്ങൾക്ക് നിങ്ങളുടെ സൈറ്റ് അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക.
full_name=പൂർണ്ണമായ പേര്
website=വെബ് സൈറ്റ്
location=സ്ഥലം
update_theme=പ്രമേയം പുതുക്കുക
update_profile=പ്രോഫൈല്‍ പരിഷ്കരിക്കുക
update_profile_success=നിങ്ങളുടെ പ്രൊഫൈൽ പരിഷ്കരിച്ചിരിക്കുന്നു.
change_username=നിങ്ങളുടെ ഉപയോക്തൃനാമം മാറ്റി.
change_username_prompt=കുറിപ്പ്: ഉപയോക്തൃനാമത്തിലെ മാറ്റം നിങ്ങളുടെ അക്കൗണ്ട് URLഉ മാറ്റുന്നു.
continue=തുടരുക
cancel=റദ്ദാക്കുക
language=ഭാഷ
ui=പ്രമേയങ്ങള്‍
lookup_avatar_by_mail=ഇമെയിൽ വിലാസം അനുസരിച്ച് അവതാർ കണ്ടെത്തുക
federated_avatar_lookup=കേന്ദ്രീക്രത അവതാര്‍ കണ്ടെത്തല്‍
enable_custom_avatar=ഇഷ്‌ടാനുസൃത അവതാർ ഉപയോഗിക്കുക
choose_new_avatar=പുതിയ അവതാർ തിരഞ്ഞെടുക്കുക
update_avatar=അവതാർ പുതുക്കുക
delete_current_avatar=നിലവിലെ അവതാർ ഇല്ലാതാക്കുക
uploaded_avatar_not_a_image=അപ്‌ലോഡുചെയ്‌ത ഫയൽ ഒരു ചിത്രമല്ല.
uploaded_avatar_is_too_big=അപ്‌ലോഡുചെയ്‌ത ഫയൽ പരമാവധി വലുപ്പം കവിഞ്ഞു.
update_avatar_success=നിങ്ങളുടെ അവതാര്‍ പരിഷ്കരിച്ചിരിക്കുന്നു.
change_password=പാസ്‌വേഡ് പുതുക്കുക
old_password=നിലവിലുള്ള രഹസ്യവാക്കു്
new_password=പുതിയ രഹസ്യവാക്കു്
retype_new_password=പുതിയ രഹസ്യവാക്കു് വീണ്ടും നല്‍കുക
password_incorrect=നിലവിലെ പാസ്‌വേഡ് തെറ്റാണ്.
change_password_success=നിങ്ങളുടെ പാസ്‌വേഡ് അപ്‌ഡേറ്റുചെയ്‌തു. ഇനി മുതൽ നിങ്ങളുടെ പുതിയ പാസ്‌വേഡ് ഉപയോഗിച്ച് പ്രവേശിക്കുക.
password_change_disabled=പ്രാദേശിക ഇതര ഉപയോക്താക്കൾക്ക് ഗിറ്റീ വെബ് വഴി പാസ്‌വേഡ് പുതുക്കാന്‍ ചെയ്യാൻ കഴിയില്ല.
emails=ഇ-മെയില്‍ വിലാസങ്ങള്‍
manage_emails=ഇമെയിൽ വിലാസങ്ങൾ നിയന്ത്രിക്കുക
manage_themes=സ്ഥിരസ്ഥിതി പ്രമേയം തിരഞ്ഞെടുക്കുക
manage_openid=ഓപ്പൺഐഡി വിലാസങ്ങൾ നിയന്ത്രിക്കുക
email_desc=അറിയിപ്പുകൾക്കും മറ്റ് പ്രവർത്തനങ്ങൾക്കുമായി നിങ്ങളുടെ പ്രാഥമിക ഇമെയിൽ വിലാസം ഉപയോഗിക്കും.
theme_desc=സൈറ്റിലുടനീളം ഇത് നിങ്ങളുടെ സ്ഥിരസ്ഥിതി പ്രമേയം ആയിരിക്കും.
primary=പ്രാഥമികം
primary_email=പ്രാഥമികമാക്കുക
delete_email=നീക്കം ചെയ്യുക
email_deletion=ഈ-മെയില്‍ വിലാസം നീക്കം ചെയ്യുക
email_deletion_desc=ഇമെയിൽ വിലാസവും അനുബന്ധ വിവരങ്ങളും നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് നീക്കംചെയ്യും. ഈ ഇമെയിൽ വിലാസം വഴിയുള്ള ഗിറ്റു് നിയോഗങ്ങളും മാറ്റമില്ലാതെ ഉണ്ടാകും. തുടരട്ടെ?
email_deletion_success=ഇമെയിൽ വിലാസം നീക്കംചെയ്‌തു.
theme_update_success=നിങ്ങളുടെ പ്രമേയം പുതുക്കി.
theme_update_error=തിരഞ്ഞെടുത്ത പ്രമേയം നിലവിലില്ല.
openid_deletion=OpenID വിലാസം നീക്കം ചെയ്യുക
openid_deletion_desc=നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് ഓപ്പൺഐഡി വിലാസം നീക്കംചെയ്യുന്നത് ഇതുപയോഗിച്ചു് ഇനി പ്രവേശിക്കുന്നതിൽ നിന്ന് നിങ്ങളെ തടയും. തുടരട്ടെ?
openid_deletion_success=ഓപ്പൺഐഡി വിലാസം നീക്കംചെയ്‌തു.
add_new_email=ഈ-മെയില്‍ വിലാസം ചേര്‍ക്കുക
add_new_openid=പുതിയ ഓപ്പണ്‍ ഐഡി വിലാസം ചേര്‍ക്കുക
add_email=ഈ-മെയില്‍ വിലാസം ചേര്‍ക്കുക
add_openid=ഓപ്പണ്‍ ഐഡി വിലാസം ചേര്‍ക്കുക
add_email_confirmation_sent=ഒരു സ്ഥിരീകരണ ഇമെയിൽ '%s' ലേക്ക് അയച്ചു. നിങ്ങളുടെ ഇമെയിൽ വിലാസം സ്ഥിരീകരിക്കുന്നതിന് അടുത്ത %s നുള്ളിൽ നിങ്ങളുടെ ഇൻ‌ബോക്സ് പരിശോധിക്കുക.
add_email_success=പുതിയ ഇമെയിൽ വിലാസം ചേര്‍ത്തു.
add_openid_success=പുതിയ ഓപ്പണ്‍ഐഡി വിലാസം ചേര്‍ത്തു.
keep_email_private=ഈ-മെയില്‍ വിലാസം മറയ്ക്കുക
keep_email_private_popup=നിങ്ങളുടെ ഇമെയിൽ വിലാസം മറ്റ് ഉപയോക്താക്കു് കാണാനാകില്ല.
openid_desc=ഒരു ബാഹ്യ ദാതാവിന് പ്രാമാണീകരണം നിയുക്തമാക്കാൻ ഓപ്പൺഐഡി നിങ്ങളെ അനുവദിക്കുന്നു.
manage_ssh_keys=​എസ്. എസ്. എച്ച് കീകള്‍ നിയന്ത്രിക്കുക
manage_gpg_keys=ജീ പീ. ജി കീകള്‍ നിയന്ത്രിക്കുക
add_key=കീ ചേര്‍ക്കുക
ssh_desc=ഇവയാണു് നിങ്ങളുടെ അക്കൗണ്ടുമായി ബന്ധപ്പെടുത്തിയിരിക്കുന്ന പൊതുവായ എസ്. എസ്. എച്ച് കീകൾ. ഇതിനോടനു ബന്ധിപ്പിച്ചിട്ടുള്ള സ്വകാര്യ കീകൾ നിങ്ങളുടെ കലവറകളിലേയ്ക്കു് പൂർണ്ണ ആക്സസ് അനുവദിക്കുന്നു.
gpg_desc=ഈ പൊതു GPG കീകൾ നിങ്ങളുടെ അക്കൗണ്ടുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു. കമ്മിറ്റുകളെ പരിശോധിച്ചുറപ്പിക്കാൻ നിങ്ങളുടെ സ്വകാര്യ കീകൾ അനുവദിക്കുന്നതിനാൽ അവ സുരക്ഷിതമായി സൂക്ഷിക്കുക.
ssh_helper=<strong>സഹായം ആവശ്യമുണ്ടോ?</strong> <a href="%s"> നിങ്ങളുടെ സ്വന്തം SSH കീകൾ സൃഷ്ടിക്കുക,</a> അല്ലെങ്കിൽ <a href="%s"> പൊതുവായ പ്രശ്നങ്ങൾ </a> എന്നിവയ്ക്കായുള്ള ഗിറ്റ്ഹബ്ബിന്റെ മാര്‍ഗദര്‍ശനങ്ങള്‍ ഉപയോഗിച്ചു് നിങ്ങൾക്ക് എസ്. എസ്. എച്ചുമായി ബന്ധപ്പെട്ട പ്രശ്നങ്ങള്‍ പരിഹരിക്കാം.
gpg_helper=<strong> സഹായം ആവശ്യമുണ്ടോ? </strong> ജിപിജിയെക്കുറിച്ച് ഗിറ്റ്ഹബിന്റെ മാര്‍ഗ്ഗനിര്‍ദ്ദേശങ്ങള്‍ <a href="%s"> പരിശോധിയ്ക്കുക</a>.
add_new_key=SSH കീ ചേർക്കുക
add_new_gpg_key=GPG കീ ചേർക്കുക
ssh_key_been_used=ഈ SSH കീ ഇതിനകം ചേർത്തു.
gpg_key_id_used=സമാന ഐഡിയുള്ള ഒരു പൊതു ജിപിജി കീ ഇതിനകം നിലവിലുണ്ട്.
subkeys=സബ് കീകള്‍
key_id=കീ ഐഡി
key_name=കീയുടെ പേരു്
key_content=ഉള്ളടക്കം
add_key_success='%s' എന്ന SSH കീ ചേർത്തു.
add_gpg_key_success='%s' എന്ന GPG കീ ചേർത്തു.
delete_key=നീക്കം ചെയ്യുക
ssh_key_deletion=SSH കീ നീക്കം ചെയ്യുക
gpg_key_deletion=GPG കീ നീക്കം ചെയ്യുക
ssh_key_deletion_desc=ഒരു SSH കീ നീക്കംചെയ്യുന്നത് നിങ്ങളുടെ അക്കൌണ്ടിലേക്കുള്ള പ്രവേശനം അസാധുവാക്കുന്നു. തുടരട്ടെ?
gpg_key_deletion_desc=ഒരു ജി‌പി‌ജി കീ നീക്കംചെയ്യുന്നത് അതിൽ ഒപ്പിട്ട കമ്മിറ്റുകളെ സ്ഥിരീകരിക്കില്ല. തുടരട്ടെ?
ssh_key_deletion_success=SSH കീ നീക്കംചെയ്‌തു.
gpg_key_deletion_success=GPG കീ നീക്കംചെയ്‌തു.
add_on=ചേര്‍ത്തതു്
valid_until=വരെ സാധുവാണ്
valid_forever=എന്നും സാധുവാണു്
last_used=അവസാനം ഉപയോഗിച്ചത്
no_activity=സമീപകാലത്തു് പ്രവർത്തനങ്ങളൊന്നുമില്ല
can_read_info=വായിയ്ക്കുക
can_write_info=എഴുതുക
key_state_desc=കഴിഞ്ഞ 7 ദിവസങ്ങളിൽ ഈ കീ ഉപയോഗിച്ചു
token_state_desc=ഈ ടോക്കൺ കഴിഞ്ഞ 7 ദിവസങ്ങളിൽ ഉപയോഗിച്ചു
show_openid=പ്രൊഫൈലിൽ കാണുക
hide_openid=പ്രൊഫൈലിൽ നിന്ന് മറയ്‌ക്കുക
ssh_disabled=SSH അപ്രാപ്‌തമാക്കി
manage_social=സഹവസിക്കുന്ന സോഷ്യൽ അക്കൗണ്ടുകളെ നിയന്ത്രിക്കുക
social_desc=ഈ സോഷ്യൽ അക്കൗണ്ടുകൾ നിങ്ങളുടെ ഗിറ്റീ അക്കൗണ്ടുമായി ലിങ്കുചെയ്‌തു. ഇവ നിങ്ങളുടെ ഗീറ്റീ അക്കൗണ്ടിലേക്ക് പ്രവേശിക്കാൻ ഉപയോഗിക്കാവുന്നതിനാൽ അവയെല്ലാം നിങ്ങൾ തിരിച്ചറിഞ്ഞുവെന്ന് ഉറപ്പാക്കുക.
unbind=അൺലിങ്ക് ചെയ്യുക
unbind_success=നിങ്ങളുടെ ഗീറ്റീ അക്കൗണ്ടിൽ നിന്ന് സോഷ്യൽ അക്കൗണ്ട് അൺലിങ്ക് ചെയ്തു.
manage_access_token=ആക്‌സസ്സ് ടോക്കണുകൾ നിയന്ത്രിക്കുക
generate_new_token=പുതിയ ടോക്കൺ സൃഷ്‌ടിക്കുക
tokens_desc=ഈ ടോക്കണുകൾ ഗിറ്റീ API ഉപയോഗിച്ച് നിങ്ങളുടെ അക്കൌണ്ടിലേക്ക് പ്രവേശനം നൽകുന്നു.
new_token_desc=ഒരു ടോക്കൺ ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകൾക്ക് നിങ്ങളുടെ അക്കൌണ്ടിലേക്ക് പൂർണ്ണ പ്രവേശനം ഉണ്ട്.
token_name=ടോക്കണിന്റെ പേരു്
generate_token=ടോക്കൺ സൃഷ്‌ടിക്കുക
generate_token_success=നിങ്ങളുടെ പുതിയ ടോക്കൺ ജനറേറ്റുചെയ്‌തു. ഇത് വീണ്ടും കാണിക്കാത്തതിനാൽ ഇപ്പോൾ തന്നെ പകർത്തുക.
delete_token=നീക്കം ചെയ്യുക
access_token_deletion=ആക്‌സസ്സ് ടോക്കണ്‍ നീക്കം ചെയ്യുക
delete_token_success=ടോക്കൺ ഇല്ലാതാക്കി. ഇനി ഇത് ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകൾക്ക് നിങ്ങളുടെ അക്കൌണ്ടിലേക്ക് പ്രവേശനം ഉണ്ടാകില്ല.
manage_oauth2_applications=OAuth2 അപ്ലിക്കേഷനുകൾ നിയന്ത്രിക്കുക
edit_oauth2_application=OAuth2 അപ്ലിക്കേഷൻ എഡിറ്റുചെയ്യുക
oauth2_applications_desc=നിങ്ങളുടെ മൂന്നാം കക്ഷി അപ്ലിക്കേഷനെ, ഈ ഗിറ്റീ ഇന്‍സ്റ്റാളേഷനുമായി സുരക്ഷിതമായി ഉപയോക്താക്കളെ പ്രാമാണീകരിക്കാൻ OAuth2 അപ്ലിക്കേഷനുകൾ പ്രാപ്തമാക്കുന്നു.
remove_oauth2_application=OAuth2 അപ്ലിക്കേഷനുകൾ നീക്കംചെയ്യുക
remove_oauth2_application_desc=ഒരു OAuth2 അപ്ലിക്കേഷൻ നീക്കംചെയ്യുന്നത് ഒപ്പിട്ട എല്ലാ ആക്സസ് ടോക്കണുകളിലേക്കും പ്രവേശനം റദ്ദാക്കും. തുടരട്ടെ?
remove_oauth2_application_success=അപ്ലിക്കേഷൻ ഇല്ലാതാക്കി.
create_oauth2_application=ഒരു പുതിയ OAuth2 അപ്ലിക്കേഷൻ സൃഷ്ടിക്കുക
create_oauth2_application_button=അപ്ലിക്കേഷൻ സൃഷ്ടിക്കുക
create_oauth2_application_success=നിങ്ങൾ വിജയകരമായി ഒരു പുതിയ OAuth2 അപ്ലിക്കേഷൻ സൃഷ്ടിച്ചു.
update_oauth2_application_success=നിങ്ങൾ വിജയകരമായി ഒരു പുതിയ OAuth2 അപ്ലിക്കേഷൻ പുതുക്കി.
oauth2_application_name=അപ്ലിക്കേഷന്റെ പേര്
oauth2_redirect_uri=URI റീഡയറക്‌ട് ചെയ്യുക
save_application=സംരക്ഷിയ്ക്കുക
oauth2_client_id=ക്ലൈന്റ് ഐഡി
oauth2_client_secret=ക്ലൈന്റു് രഹസ്യം
oauth2_regenerate_secret=രഹസ്യം പുനഃസൃഷ്ടിയ്ക്കുക
oauth2_regenerate_secret_hint=നിങ്ങളുടെ രഹസ്യം നഷ്ടപ്പെട്ടോ?
oauth2_client_secret_hint=നിങ്ങൾ ഈ പേജ് വീണ്ടും സന്ദർശിക്കുകയാണെങ്കിൽ രഹസ്യം ദൃശ്യമാകില്ല. നിങ്ങളുടെ രഹസ്യം സംരക്ഷിക്കുക.
oauth2_application_edit=ക്രമീകരിക്കുക
oauth2_application_create_description=OAuth2 ആപ്ലിക്കേഷനുകൾ നിങ്ങളുടെ മൂന്നാം കക്ഷി ആപ്ലിക്കേഷൻ ഉപയോക്തൃ അക്കൌണ്ടുകളിലേക്ക് ആക്സസ് നൽകുന്നു.
oauth2_application_remove_description=ഒരു OAuth2 ആപ്ലിക്കേഷൻ നീക്കംചെയ്യുന്നത് ഈ സന്ദർഭത്തിൽ അംഗീകൃത ഉപയോക്തൃ അക്കൌണ്ടുകളിലേക്ക് പ്രവേശിക്കുന്നത് തടയും. തുടരട്ടെ?
authorized_oauth2_applications=അംഗീകൃത OAuth2 അപ്ലിക്കേഷനുകൾ
authorized_oauth2_applications_description=ഈ മൂന്നാം കക്ഷി അപ്ലിക്കേഷനുകളിലേക്ക് നിങ്ങളുടെ സ്വകാര്യ ഗീറ്റീ അക്കൗണ്ടിലേക്ക് പ്രവേശനം അനുവദിച്ചു. അപ്ലിക്കേഷനുകൾക്കായുള്ള നിയന്ത്രണം ഇനി ആവശ്യമില്ല.
revoke_key=അസാധുവാക്കുക
revoke_oauth2_grant=നിയന്ത്രണം തിരിച്ചെടുക്കുക
revoke_oauth2_grant_description=ഈ മൂന്നാം കക്ഷി ആപ്ലിക്കേഷനായി ആക്സസ് അസാധുവാക്കുന്നത് നിങ്ങളുടെ ഡാറ്റ ആക്സസ് ചെയ്യുന്നതിൽ നിന്ന് ഈ ആപ്ലിക്കേഷനെ തടയും. നിങ്ങള്‍ക്ക് ഉറപ്പാണോ?
revoke_oauth2_grant_success=നിങ്ങൾ വിജയകരമായി പ്രവേശനം റദ്ദാക്കി.
twofa_desc=ഇരട്ട ഘടക പ്രാമാണീകരണം നിങ്ങളുടെ അക്കൗണ്ടിന്റെ സുരക്ഷ വർദ്ധിപ്പിക്കുന്നു.
twofa_is_enrolled=നിങ്ങളുടെ അക്കൗണ്ട് നിലവിൽ ഇരട്ട ഘടക പ്രമാണീകരണത്തിനു് <strong> എൻറോൾ ചെയ്തിട്ടുണ്ട്. </strong>.
twofa_not_enrolled=നിങ്ങളുടെ അക്കൗണ്ട് നിലവിൽ ഇരട്ട ഘടക പ്രമാണീകരണത്തിനു് <strong> എൻറോൾ ചെയ്തിട്ടില്ല.</strong>.
twofa_disable=ഇരട്ട ഘടക പ്രാമാണീകരണം റദ്ദാക്കി
twofa_scratch_token_regenerate=സ്ക്രാച്ച് ടോക്കൺ പുനഃനിര്‍മ്മിയ്ക്കുക
twofa_scratch_token_regenerated=%s ആണ് ഇപ്പോൾ നിങ്ങളുടെ സ്ക്രാച്ച് ടോക്കൺ. സുരക്ഷിതമായ സ്ഥലത്ത് സൂക്ഷിക്കുക.
twofa_enroll=ഇരട്ട ഘടക പ്രാമാണീകരണത്തില്‍ അംഗമാകുക
twofa_disable_note=ആവശ്യമെങ്കിൽ നിങ്ങൾക്ക് രണ്ട്-ഘടക പ്രാമാണീകരണം അപ്രാപ്തമാക്കാൻ കഴിയും.
twofa_disable_desc=രണ്ട്-ഘടക പ്രാമാണീകരണം അപ്രാപ്‌തമാക്കുന്നത് നിങ്ങളുടെ അക്കൗണ്ട് സുരക്ഷിതമല്ലാത്തതാക്കും. തുടരട്ടെ?
regenerate_scratch_token_desc=നിങ്ങളുടെ സ്ക്രാച്ച് ടോക്കൺ തെറ്റായി സ്ഥാപിക്കുകയോ അല്ലെങ്കിൽ സൈൻ ഇൻ ചെയ്യാൻ ഇതിനകം ഉപയോഗിക്കുകയോ ചെയ്തിട്ടുണ്ടെങ്കിൽ അത് ഇവിടെനിന്നു് പുനഃസജ്ജമാക്കാൻ കഴിയും.
twofa_disabled=രണ്ട്-ഘട്ട പ്രാമാണീകരണം അപ്രാപ്‌തമാക്കി.
scan_this_image=നിങ്ങളുടെ പ്രാമാണീകരണ ആപ്ലിക്കേഷൻ ഉപയോഗിച്ച് ഈ ചിത്രം സൂക്ഷ്‌മപരിശോധന നടത്തുക:
or_enter_secret=അല്ലെങ്കിൽ രഹസ്യ കോഡ് നൽകുക: %s
then_enter_passcode=അപ്ലിക്കേഷനിൽ കാണിച്ചിരിക്കുന്ന പാസ്‌കോഡ് നൽകുക:
passcode_invalid=പാസ്‌കോഡ് തെറ്റാണ്. വീണ്ടും ശ്രമിക്കുക.
twofa_enrolled=നിങ്ങളുടെ അക്കൌണ്ട് രണ്ട്-ഘട്ട പ്രാമാണീകരണത്തിലേക്ക് ചേർത്തിട്ടുണ്ട്. നിങ്ങളുടെ സ്ക്രാച്ച് ടോക്കൺ (%s) ഒരു തവണ മാത്രം കാണിക്കുന്നതിനാൽ അതു് സുരക്ഷിതമായ സ്ഥലത്ത് സൂക്ഷിക്കുക!
manage_account_links=ബന്ധിപ്പിച്ചിട്ടുള്ള അക്കൗണ്ടുകൾ നിയന്ത്രിക്കുക
manage_account_links_desc=ഈ ബാഹ്യ അക്കൗണ്ടുകൾ നിങ്ങളുടെ ഗിറ്റീ അക്കൗണ്ടുമായി ലിങ്കുചെയ്‌തു.
account_links_not_available=നിങ്ങളുടെ ഗിറ്റീ അക്കൌണ്ടുമായി നിലവിൽ മറ്റു് ബാഹ്യ അക്കൌണ്ടുകളൊന്നും ബന്ധിപ്പിച്ചിട്ടില്ല.
remove_account_link=ബന്ധിപ്പിച്ച അക്കൗണ്ട് നീക്കംചെയ്യുക
remove_account_link_desc=ഒരു ബന്ധിപ്പിച്ച അക്കൗണ്ട് നീക്കംചെയ്യുന്നത് നിങ്ങളുടെ ഗിറ്റീ അക്കൗണ്ടിലേക്കുള്ള പ്രവേശനം അസാധുവാക്കും. തുടരട്ടെ?
remove_account_link_success=ബന്ധിപ്പിച്ച അക്കൗണ്ട് നീക്കംചെയ്‌തു.
orgs_none=നിങ്ങൾ ഏതെങ്കിലും സംഘടനയില്‍ അംഗമല്ല.
repos_none=നിങ്ങൾക്ക് ഒരു കലവറയും സ്വന്തമായി ഇല്ല
delete_account=അക്കൗണ്ട് ഇല്ലാതാക്കുക
delete_prompt=ഈ പ്രവർത്തനം നിങ്ങളുടെ ഉപയോക്തൃ അക്കൗണ്ട് ശാശ്വതമായി ഇല്ലാതാക്കും. ഇത് <strong> പൂർ‌വ്വാവസ്ഥയിലാക്കാൻ‌ കഴിയില്ല.</strong>.
confirm_delete_account=ഇല്ലാതാക്കൽ സ്ഥിരീകരിക്കുക
delete_account_title=ഉപയോക്തൃ അക്കൗണ്ട് ഇല്ലാതാക്കുക
delete_account_desc=ഈ ഉപയോക്തൃ അക്കൗണ്ട് ശാശ്വതമായി ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?
email_notifications.enable=ഇമെയിൽ അറിയിപ്പുകൾ പ്രാപ്തമാക്കുക
email_notifications.onmention=ഇ-മെയിൽ പരാമര്‍ശിച്ചാൽ മാത്രം അയയ്ക്കുക
email_notifications.disable=ഇമെയിൽ അറിയിപ്പുകൾ അപ്രാപ്തമാക്കുക
email_notifications.submit=ഇ-മെയില്‍ മുൻഗണനകള്‍
[repo]
owner=ഉടമസ്ഥന്‍
repo_name=കലവറയുടെ പേരു്
repo_name_helper=നല്ല കലവറയുടെ പേരു് ഹ്രസ്വവും അവിസ്മരണീയവും അതുല്യവുമായ കീവേഡുകൾ ഉപയോഗിക്കുന്നു.
visibility=കാണാനാവുന്നതു്
visibility_description=ഉടമയ്‌ക്കോ ഓർഗനൈസേഷൻ അംഗങ്ങൾക്കോ അവകാശങ്ങളുണ്ടെങ്കിൽ മാത്രമേ കാണാൻ കഴിയൂ.
visibility_helper=കലവറ സ്വകാര്യമാക്കുക
visibility_helper_forced=നിങ്ങളുടെ സൈറ്റ് അഡ്മിനിസ്ട്രേറ്റർ പുതിയ കലവറകളെ സ്വകാര്യമാക്കാൻ നിർബന്ധിക്കുന്നു.
visibility_fork_helper=(മാറ്റം എല്ലാ ഫോർക്കുകളെയും ബാധിക്കും.)
clone_helper=ക്ലോണ്‍ ചെയ്യാന്‍ സഹായം വേണോ? <a target="_blank" rel="noopener noreferrer" href="%s">സഹായം</a> സന്ദര്‍ശിക്കുക.
fork_repo=കലവറ ഫോര്‍ക്കു് ചെയ്യുക
fork_from=ല്‍ നിന്നും ഫോര്‍ക്കു് ചെയ്യൂ
fork_visibility_helper=ഒരു കലവറയുടെ ഫോര്‍ക്കിന്റെ ദൃശ്യപരത മാറ്റാൻ കഴിയില്ല.
repo_desc=വിരരണം
repo_lang=ഭാഷ
repo_gitignore_helper=.gitignore ടെംപ്ലേറ്റുകൾ തിരഞ്ഞെടുക്കുക.
license=ലൈസൻസ്
license_helper=ഒരു ലൈസൻസ് ഫയൽ തിരഞ്ഞെടുക്കുക.
readme=റീഡ്‍മീ
readme_helper=ഒരു റീഡ്‍മീ ഫയൽ ടെംപ്ലേറ്റ് തിരഞ്ഞെടുക്കുക.
auto_init=കലവറ സമാരംഭിക്കുക (.gitignore, ലൈസൻസ്, റീഡ്‍മീ എന്നിവ ചേർക്കുന്നു)
create_repo=കലവറ സൃഷ്ടിക്കുക
default_branch=സ്ഥിരസ്ഥിതി ശാഖ
mirror_prune=വെട്ടിഒതുക്കുക
mirror_prune_desc=കാലഹരണപ്പെട്ട വിദൂര ട്രാക്കിംഗ് റഫറൻസുകൾ നീക്കംചെയ്യുക
mirror_interval_invalid=മിറർ ചെയ്യാനുള്ള ഇടവേള സാധുവല്ല.
mirror_address=URL- ൽ നിന്നുള്ള ക്ലോൺ
mirror_address_url_invalid=നൽകിയ url അസാധുവാണ്. നിങ്ങൾ url- ന്റെ എല്ലാ ഘടകങ്ങളും ശരിയായി നല്‍കണം.
mirror_address_protocol_invalid=നൽകിയ url അസാധുവാണ്. http(s):// അല്ലെങ്കിൽ git:// ലൊക്കേഷനുകൾ മാത്രമേ മിറർ ചെയ്യാൻ കഴിയൂ.
mirror_last_synced=അവസാനം സമന്വയിപ്പിച്ചതു്
watchers=നിരീക്ഷകർ
stargazers=സ്റ്റാർഗാസറുകൾ
forks=ശാഖകള്‍
pick_reaction=നിങ്ങളുടെ പ്രതികരണം തിരഞ്ഞെടുക്കുക
reactions_more=കൂടാതെ %d അധികം
archive.title=ഈ കലവറ ചരിത്രരേഖാപരമായി നിലനിര്‍ത്തിയിരിക്കുന്നു. നിങ്ങൾക്ക് ഫയലുകൾ കാണാനും ക്ലോൺ ചെയ്യാനും കഴിയും, പക്ഷേ പ്രശ്‌നങ്ങൾ / ലയന അഭ്യർത്ഥനകൾ ഉണ്ടാക്കാനോ തുറക്കാനോ കഴിയില്ല.
archive.issue.nocomment=ഈ കലവറ ചരിത്രപരമായി നിലനിര്‍ത്തിയിരിക്കുന്നതാണു്. നിങ്ങൾക്ക് പ്രശ്നങ്ങളിൽ അഭിപ്രായമിടാൻ കഴിയില്ല.
archive.pull.nocomment=ഈ കലവറ ചരിത്രപരമായി നിലനിര്‍ത്തിയിരിക്കുന്നതാണു്. നിങ്ങൾക്ക് ലയന അഭ്യർത്ഥനകളില്‍ അഭിപ്രായമിടാൻ കഴിയില്ല.
form.name_reserved='%s' എന്ന കലവറയുടെ പേരു് മറ്റാവശ്യങ്ങള്‍ക്കായി നീക്കിവച്ചിരിക്കുന്നു.
form.name_pattern_not_allowed=കലവറനാമത്തിൽ '%s' എന്ന ശ്രേണി അനുവദനീയമല്ല.
migrate_items=മൈഗ്രേഷൻ ഇനങ്ങൾ
migrate_items_wiki=വിക്കി
migrate_items_milestones=നാഴികക്കല്ലുകള്‍
migrate_items_labels=ലേബലുകള്‍
migrate_items_issues=പ്രശ്നങ്ങൾ
migrate_items_pullrequests=ലയന അഭ്യർത്ഥനകൾ
migrate_items_releases=പ്രസിദ്ധീകരണങ്ങള്‍
migrate_repo=കലവറ മൈഗ്രേറ്റ് ചെയ്യുക
migrate.clone_address=URL- ൽ നിന്ന് മൈഗ്രേറ്റ് / ക്ലോൺ ചെയ്യുക
migrate.clone_address_desc=നിലവിലുള്ള ഒരു കലവറയുടെ HTTP(S) അല്ലെങ്കിൽ ഗിറ്റു് 'ക്ലോൺ' URL
migrate.clone_local_path=അല്ലെങ്കിൽ ഒരു പ്രാദേശിക സെർവർ പാത
migrate.permission_denied=പ്രാദേശിക കലവറകള്‍ ഇറക്കുമതി ചെയ്യാൻ നിങ്ങള്‍ക്കു് അനുവാദമില്ല.
migrate.invalid_local_path=പ്രാദേശിക പാത അസാധുവാണ്. ഇത് നിലവിലില്ല അല്ലെങ്കിൽ ഒരു ഡയറക്ടറിയല്ല.
migrate.failed=മൈഗ്രേഷൻ പരാജയപ്പെട്ടു: %v
migrated_from=<a href="%[1]s">%[2]s</a> നിന്ന് മൈഗ്രേറ്റുചെയ്‌തു
migrated_from_fake=%[1]s നിന്ന് മൈഗ്രേറ്റുചെയ്തു
mirror_from=ന്റെ കണ്ണാടി
forked_from=ല്‍ നിന്നും വഴിപിരിഞ്ഞതു്
fork_from_self=നിങ്ങളുടെ ഉടമസ്ഥതയിലുള്ള ഒരു ശേഖരം നിങ്ങൾക്ക് ഫോര്‍ക്കു് ചെയ്യാൻ കഴിയില്ല.
fork_guest_user=ഈ ശേഖരം ഫോർക്ക് ചെയ്യുന്നതിന് സൈൻ ഇൻ ചെയ്യുക.
unwatch=ശ്രദ്ധിക്കാതിരിയ്ക്കുക
watch=ശ്രദ്ധിയ്ക്കുക
unstar=നക്ഷത്രം നീക്കുക
star=നക്ഷത്രം നല്‍ക്കുക
fork=ഫോര്‍ക്കു്
download_archive=കലവറ ഡൗൺലോഡുചെയ്യുക
no_desc=വിവരണം ലഭ്യമല്ല
quick_guide=ദ്രുത മാര്‍ഗദര്‍ശനം
clone_this_repo=ഈ കലവറ ക്ലോൺ ചെയ്യുക
create_new_repo_command=കമാൻഡ് ലൈന്‍ വഴി ഒരു പുതിയ കലവറ സൃഷ്ടിക്കുക
push_exist_repo=കമാൻഡ് ലൈനിൽ നിന്ന് നിലവിലുള്ള ഒരു കലവറ തള്ളിക്കയറ്റുക
empty_message=ഈ കലവറയില്‍ ഉള്ളടക്കമൊന്നും അടങ്ങിയിട്ടില്ല.
code=കോഡ്
code.desc=ഉറവിട കോഡ്, ഫയലുകൾ, കമ്മിറ്റുകളും ശാഖകളും പ്രവേശിയ്ക്കുക.
branch=ശാഖ
tree=മരം
filter_branch_and_tag=ശാഖ അല്ലെങ്കിൽ ടാഗ് അരിച്ചെടുക്കുക
branches=ശാഖകള്‍
tags=ടാഗുകള്‍
issues=പ്രശ്നങ്ങൾ
pulls=ലയന അഭ്യർത്ഥനകൾ
labels=ലേബലുകള്‍
milestones=നാഴികക്കല്ലുകള്‍
commits=കമ്മിറ്റുകള്‍
commit=കമ്മിറ്റ്
releases=പ്രസിദ്ധപ്പെടുത്തുക
file_raw=കലര്‍പ്പില്ലാത്തതു്
file_history=നാള്‍വഴി
file_view_raw=കലര്‍പ്പില്ലാതെ കാണുക
file_permalink=സ്ഥിരമായ കണ്ണി
file_too_large=ഈ ഫയൽ കാണിക്കാൻ കഴിയാത്തത്ര വലുതാണ്.
video_not_supported_in_browser=നിങ്ങളുടെ ബ്രൌസർ HTML5 'വീഡിയോ' ടാഗിനെ പിന്തുണയ്ക്കുന്നില്ല.
audio_not_supported_in_browser=നിങ്ങളുടെ ബ്ര browser സർ HTML5 'ഓഡിയോ' ടാഗിനെ പിന്തുണയ്ക്കുന്നില്ല.
stored_lfs=ഗിറ്റു് LFS ഉപയോഗിച്ച് സംഭരിച്ചു
commit_graph=കമ്മിറ്റ് ഗ്രാഫ്
blame=ചുമതല
normal_view=സാധാരണ കാഴ്ച
editor.new_file=പുതിയ ഫയൽ
editor.upload_file=ഫയൽ അപ്‌ലോഡ്
editor.edit_file=ഫയൽ തിരുത്തുക
editor.preview_changes=മാറ്റങ്ങൾ കാണുക
editor.cannot_edit_lfs_files=വെബ് ഇന്റർഫേസിൽ LFS ഫയലുകൾ എഡിറ്റുചെയ്യാൻ കഴിയില്ല.
editor.cannot_edit_non_text_files=വെബ് ഇന്റർഫേസിൽ ബൈനറി ഫയലുകൾ എഡിറ്റുചെയ്യാൻ കഴിയില്ല.
editor.edit_this_file=ഫയൽ തിരുത്തുക
editor.must_be_on_a_branch=ഈ ഫയലിൽ മാറ്റങ്ങൾ വരുത്താനോ നിർദ്ദേശിക്കാനോ നിങ്ങൾ ഏതെങ്കിലും ഒരു ശാഖയിൽ ആയിരിക്കണം.
editor.fork_before_edit=ഈ ഫയലിൽ മാറ്റങ്ങൾ വരുത്താനോ നിർദ്ദേശിക്കാനോ നിങ്ങൾ ഈ ശേഖരം ഫോര്‍ക്കു ചെയ്തിരിക്കണം.
editor.delete_this_file=ഫയൽ ഇല്ലാതാക്കുക
editor.must_have_write_access=ഈ ഫയലിൽ മാറ്റങ്ങൾ വരുത്താനോ നിർദ്ദേശിക്കാനോ നിങ്ങൾക്ക് എഴുതാനുള്ള അനുമതി ഉണ്ടായിരിക്കണം.
editor.file_delete_success=%s ഫയൽ ഇല്ലാതാക്കി.
editor.name_your_file=നിങ്ങളുടെ ഫയലിന് പേര് നൽകുക…
editor.filename_help=ഒരു ഡയറക്‌ടറിയുടെ പേര് ടൈപ്പുചെയ്‌ത് സ്ലാഷും ('/') ചേർത്ത് ചേർക്കുക. ഇൻപുട്ട് ഫീൽഡിന്റെ തുടക്കത്തിൽ ബാക്ക്‌സ്‌പെയ്‌സ് ടൈപ്പുചെയ്‌ത് ഒരു ഡയറക്‌ടറി നീക്കംചെയ്യുക.
editor.or=അഥവാ
editor.cancel_lower=റദ്ദാക്കുക
editor.commit_changes=മാറ്റങ്ങൾ വരുത്തുക
editor.add_tmpl='<ഫയല്‍>' ചേർക്കുക
editor.add=%s ചേര്‍ക്കുക
editor.update=%s പുതുക്കുക
editor.delete=%s നീക്കം ചെയ്യുക
editor.propose_file_change=ഫയലിനു് മാറ്റങ്ങള്‍ നിർദ്ദേശിക്കുക
editor.new_branch_name_desc=പുതിയ ശാഖയുടെ പേരു്…
editor.cancel=റദ്ദാക്കുക
editor.filename_cannot_be_empty=ഫയലിന്റെ പേരു് ശൂന്യമായിരിക്കരുത്.
editor.add_subdir=ഒരു ഡയറക്ടറി ചേർക്കുക…
editor.upload_files_to_dir=ഫയലുകൾ %s ലേക്ക് അപ്‌ലോഡുചെയ്യുക
issues.new.clear_labels=ലേബലുകൾ മായ്‌ക്കുക
issues.new.milestone=നാഴികക്കല്ല്
issues.new.no_milestone=നാഴികക്കല്ല് ഇല്ല
issues.new.clear_milestone=നാഴികക്കല്ല് എടുത്തു മാറ്റുക
issues.new.open_milestone=നാഴികക്കല്ലുകൾ തുറക്കുക
issues.new.closed_milestone=അടച്ച നാഴികക്കല്ലുകൾ
issues.new.assignees=നിശ്ചയിക്കുന്നവര്‍
issues.new.clear_assignees=നിശ്ചയിക്കുന്നവരെ നീക്കം ചെയ്യുക
issues.new.no_assignees=നിശ്ചയിക്കുന്നവര്‍ ഇല്ല
issues.no_ref=ശാഖാ അഥവാ ടാഗ് വ്യക്തമാക്കിയിട്ടില്ല
issues.create=പ്രശ്നം സൃഷ്ടിക്കുക
issues.new_label=പുതിയ അടയാളം
issues.new_label_placeholder=അടയാള നാമം
issues.new_label_desc_placeholder=വിരരണം
issues.create_label=അടയാളം സൃഷ്ടിക്കുക
issues.label_templates.title=മുൻ‌നിശ്ചയിച്ച ഒരു കൂട്ടം ലേബലുകൾ‌ നിറയ്‌ക്കുക
issues.label_templates.info=ലേബലുകളൊന്നും ഇതുവരെ നിലവിലില്ല. 'പുതിയ ലേബൽ' ഉപയോഗിച്ച് ഒരു ലേബൽ സൃഷ്ടിക്കുക അല്ലെങ്കിൽ മുൻ‌നിശ്ചയിച്ച ലേബൽ സെറ്റ് ഉപയോഗിക്കുക:
issues.label_templates.helper=ഒരു ലേബൽ സെറ്റ് തിരഞ്ഞെടുക്കുക
issues.label_templates.use=ലേബൽ സെറ്റ് ഉപയോഗിക്കുക
issues.deleted_milestone=`(ഇല്ലാതാക്കി)`
issues.filter_type.all_issues=എല്ലാ ഇഷ്യൂകളും
issues.label_open_issues=%d തുറന്നനിലയിലുള്ള ഇഷ്യൂകള്‍
issues.label_deletion_desc=ഒരു ലേബൽ ഇല്ലാതാക്കിയാല്‍, അതു് നിയുകതമാക്കിയ എല്ലാ ഇഷ്യൂകളില്‍ നിന്നും നീക്കംചെയ്യും. തുടരട്ടെ?
issues.dependency.issue_close_blocks=ഈ ഇഷ്യു അടയ്‌ക്കുന്നത് ഇനിപ്പറയുന്ന ഇഷ്യൂകള്‍ തടയുന്നു്
issues.dependency.pr_close_blocks=ഈ ഇഷ്യൂകള്‍ അടയ്‌ക്കുന്നത് ഈ ലയന അഭ്യര്‍ത്ഥന തടയുന്നു്
issues.dependency.issue_close_blocked=ഈ ഇഷ്യൂ അടയ്‌ക്കുന്നതിന് മുമ്പ് ഇതിനെ തടയുന്ന എല്ലാ ഇഷ്യൂകളും നിങ്ങൾ അടയ്‌ക്കേണ്ടതുണ്ട്.
issues.dependency.pr_close_blocked=ഈ ലയന അഭ്യര്‍ത്ഥന സ്ഥിരീകരിയ്ക്കുന്നതിനു മുമ്പ് ഇതിനെ തടയുന്ന എല്ലാ ഇഷ്യൂകളും നിങ്ങൾ അടയ്‌ക്കേണ്ടതുണ്ട്.
issues.dependency.setting=ലയന അഭ്യര്‍ത്ഥനകള്‍ക്കും ഇഷ്യൂകള്‍ക്കുമായി ആശ്രിതത്വം സജ്ജമാക്കുക
issues.dependency.add_error_cannot_create_circular=രണ്ട് ഇഷ്യൂകളും പരസ്പരം തടയുന്നതാകുന്നതിലൂടെ നിങ്ങൾക്ക് ഒരു ആശ്രയത്വം സൃഷ്ടിക്കാൻ കഴിയില്ല.
issues.dependency.add_error_dep_not_same_repo=രണ്ട് പ്രശ്നങ്ങളും ഒരേ കലവറയിലേതു് ആയിരിക്കണം.
; </summary><code>%[2]s<br>%[3]s</code></details>
milestones.filter_sort.most_issues=മിക്ക ഇഷ്യൂകളും
milestones.filter_sort.least_issues=കുറഞ്ഞ ഇഷ്യൂകളെങ്കിലും
activity.active_issues_count_n=<strong>%d</strong> സജ്ജീവ ഇഷ്യൂകള്‍
activity.closed_issues_count_n=അടച്ച ഇഷ്യൂകള്‍
activity.title.issues_n=%d ഇഷ്യൂകള്‍
activity.new_issues_count_n=പുതിയ ഇഷ്യൂകള്‍
settings.event_issues=ഇഷ്യൂകള്‍
[org]
[admin]
repos.issues=ഇഷ്യൂകള്‍
[action]
[tool]
[dropzone]
[notification]
[gpg]
[units]
[packages]

View file

@ -67,7 +67,7 @@ your_settings=Instellingen
all=Alles
sources=Bronnen
mirrors=Spiegels
mirrors=Mirrors
collaborative=Samenwerkend
forks=Forks
@ -158,6 +158,7 @@ filter.not_archived = Niet gearchiveerd
more_items = Meer items
invalid_data = Ongeldige data: %v
copy_generic = Kopieer naar klembord
test = Test
[aria]
navbar = Navigatiebalk
@ -189,6 +190,8 @@ buttons.enable_monospace_font = Lettertype monospace inschakelen
buttons.italic.tooltip = Schuingedrukte tekst toevoegen
buttons.list.task.tooltip = Een lijst met taken toevoegen
buttons.disable_monospace_font = Lettertype monospace uitschakelen
buttons.indent.tooltip = Items één niveau lager plaatsen
buttons.unindent.tooltip = Items één niveau hoger plaatsen
[filter]
string.asc = A - Z
@ -207,7 +210,7 @@ server_internal = Interne serverfout
app_desc=Een eenvoudige, self-hosted Git service
install=Makkelijk te installeren
platform=Cross-platform
platform_desc=Forgejo werkt op alles waar <a target="_blank" rel="noopener noreferrer" href="https://go.dev/">Go</a> op kan compileren: Windows, macOS, Linux, ARM, etc. Kies het platform dat bij je past!
platform_desc=Forgejo draait op libre-besturingssystemen zoals Linux en FreeBSD en op verschillende CPU-architecturen. Kies degene waar u van houdt!
lightweight=Lichtgewicht
lightweight_desc=Forgejo heeft hele lage systeemeisen, je kunt Forgejo al draaien op een goedkope Raspberry Pi!
license=Open Source
@ -232,7 +235,7 @@ path=Pad
sqlite_helper=Bestandspad voor de SQLite3-database.<br>Vul een volledig pad in als je Forgejo als een service uitvoert.
reinstall_error=U probeert te installeren in een bestaande Forgejo database
reinstall_confirm_message=Herinstalleren met een bestaande Forgejo-database kan meerdere problemen veroorzaken. In de meeste gevallen kun je het bestaande "app.ini" gebruiken om Forgejo te laten draaien. Als je weet wat je aan het doen bent, bevestig dan het volgende:
reinstall_confirm_check_1=De gegevens versleuteld door de SECRET_KEY in de app.ini kan verloren gaan: gebruikers kunnen mogelijk niet meer inloggen met 2FA/OTP & spiegels werken mogelijk niet meer. Door dit vakje aan te vinken bevestigt u dat het huidige app.ini bestand de juiste SECRET_KEY bevat.
reinstall_confirm_check_1=De gegevens versleuteld door de SECRET_KEY in de app.ini kan verloren gaan: gebruikers kunnen mogelijk niet meer inloggen met 2FA/OTP & mirrors werken mogelijk niet meer. Door dit vakje aan te vinken bevestigt u dat het huidige app.ini bestand de juiste SECRET_KEY bevat.
reinstall_confirm_check_2=De repositories en instellingen moeten mogelijk opnieuw worden gesynchroniseerd. Door dit vakje aan te vinken, bevestigt u dat u de hooks voor de repositories en authorized_keys bestand handmatig zult hersynchroniseren. U bevestigt dat u ervoor zult zorgen dat de instellingen van de repository en mirror correct zijn.
reinstall_confirm_check_3=Je bevestigt dat je er absoluut zeker van bent dat deze Forgejo draait met de juiste app. Geen locatie en dat je zeker weet dat je opnieuw moet installeren. Je bevestigt dat je de hierbovenstaande risico's erkent.
err_empty_db_path=SQLite3 database pad mag niet leeg zijn.
@ -274,20 +277,20 @@ register_confirm=E-mailbevestiging vereist bij registreren
mail_notify=Activeer e-mailnotificaties
server_service_title=Server en service-instellingen van derden
offline_mode=Lokale modus inschakelen
offline_mode.description=Schakel third-party content uit en gebruik alleen lokale middelen.
offline_mode.description=Schakel content delivery netwerken van derden uit en serveer alle middelen lokaal.
disable_gravatar=Gravatar uitschakelen
disable_gravatar.description=Gravatar en derden avatar bronnen uitschakelen. Een standaard avatar zal worden gebruikt, tenzij een gebruiker hun eigen avatar uploadt naar de instantie.
federated_avatar_lookup=Federated avatars toestaan
federated_avatar_lookup.description=Zoek avatars op met Libravatar.
disable_registration=Schakel zelf registratie uit
disable_registration.description=Schakel zelfregistratie uit, alleen admins kunnen accounts maken.
allow_only_external_registration.description=Registratie alleen via externe diensten toestaan
disable_registration.description=Alleen instantiebeheerders kunnen nieuwe gebruikersaccounts aanmaken. Het wordt sterk aangeraden om registratie uitgeschakeld te houden, tenzij je van plan bent om een publieke instantie voor iedereen te hosten en klaar bent om grote hoeveelheden spam-accounts te verwerken.
allow_only_external_registration.description=Gebruikers kunnen alleen nieuwe accounts aanmaken via geconfigureerde externe services.
openid_signin=OpenID-inloggen inschakelen
openid_signin.description=Gebruikerslogin via OpenID inschakelen.
openid_signin.description=Laat gebruikers zich aanmelden via OpenID.
openid_signup=OpenID zelf-registratie inschakelen
openid_signup.description=OpenID zelfregistratie inschakelen.
openid_signup.description=Sta gebruikers toe om accounts aan te maken via OpenID als zelfregistratie is ingeschakeld.
enable_captcha=Registratie CAPTCHA inschakelen
enable_captcha.description=Vereis captcha validatie voor zelf-registratie van gebruiker.
enable_captcha.description=Gebruikers verplichten om CAPTCHA te passeren om accounts aan te maken.
require_sign_in_view=Aanmelden vereist om inhoud van instantie te bekijken
admin_setting.description=Het creëren van een administrator-account is optioneel. De eerste geregistreerde gebruiker wordt automatisch de beheerder.
admin_title=Instellingen beheerdersaccount
@ -308,11 +311,11 @@ save_config_failed=Kan de configuratie niet opslaan: %v
invalid_admin_setting=Instelling van de administrator-account is ongeldig: %v
invalid_log_root_path=Ongeldig log-pad: %v
default_keep_email_private=Verberg standaard alle e-mailadressen
default_keep_email_private.description=Verberg standaard de email-adressen van nieuwe gebruikers.
default_keep_email_private.description=Schakel het verbergen van e-mailadressen standaard in voor nieuwe gebruikers, zodat deze informatie niet meteen na het aanmelden uitlekt.
default_allow_create_organization=Standaard toestaan om organisaties aan te maken
default_allow_create_organization.description=Standaard toestaan dat nieuwe gebruikers organisaties kunnen aanmaken.
default_allow_create_organization.description=Sta nieuwe gebruikers standaard toe om organisaties aan te maken. Als deze optie is uitgeschakeld, moet een beheerder nieuwe gebruikers toestemming geven om organisaties aan te maken.
default_enable_timetracking=Tijdregistratie standaard inschakelen
default_enable_timetracking.description=Tijdsregistratie voor nieuwe repositories standaard inschakelen.
default_enable_timetracking.description=Sta het gebruik van de tijd-tracking functie voor nieuwe repositories standaard toe.
no_reply_address=Verborgen e-maildomein
no_reply_address_helper=Domeinnaam voor gebruikers met een verborgen e-mailadres. Bijvoorbeeld zal de gebruikersnaam "joe" in Git worden geregistreerd als "joe@noreply.example.org" als het verborgen email domein is ingesteld op "noreply.example.org".
password_algorithm=Wachtwoord hash-algoritme
@ -324,7 +327,7 @@ enable_update_checker = Updatecontrole inschakelen
invalid_password_algorithm = Ongeldig wachtwoord hash-algoritme
password_algorithm_helper = Stel het hashing-algoritme voor wachtwoorden in. De algoritmes hebben verschillende vereisten en sterkte. Het argon2-algoritme is tamelijk veilig, maar gebruikt veel geheugen en kan ongeschikt zijn voor kleine systemen.
run_user_helper = De gebruikersnaam van het besturingssysteem waaronder Forgejo draait. Merk op dat deze gebruiker toegang moet hebben tot de hoofdmap van de repository.
require_sign_in_view.description = Beperk de toegang tot de pagina's tot ingelogde gebruikers. Bezoekers zien alleen de aanmeldings- en registratiepagina's.
require_sign_in_view.description = Beperk de inhoudstoegang tot aangemelde gebruikers. Bezoekers kunnen alleen de verificatiepagina's bezoeken.
enable_update_checker_helper_forgejo = Het zal periodiek controleren op nieuwe Forgejo-versies door een TXT DNS-record op release.forgejo.org te controleren.
smtp_from_invalid = Het adres "E-mails versturen als" is ongeldig
config_location_hint = Deze configuratieopties worden opgeslagen in:
@ -402,12 +405,12 @@ allow_password_change=Verplicht de gebruiker om zijn/haar wachtwoord te wijzigen
reset_password_mail_sent_prompt=Een bevestigingsmail is verstuurd naar <b>%s</b>. Controleer uw inbox in de volgende %s om het herstel van uw account te voltooien.
active_your_account=Activeer uw account
account_activated=Account is geactiveerd
prohibit_login=Inloggen niet toegestaan
prohibit_login=Account is geschorst
resent_limit_prompt=Sorry, je hebt te snel na elkaar een aanvraag gedaan voor een activatiemail. Wacht drie minuten voor je volgende aanvraag.
has_unconfirmed_mail=Beste %s, u heeft een onbevestigd e-mailadres (<b>%s</b>). Als u nog geen bevestiging heeft ontvangen, of u een nieuwe aanvraag wilt doen, klik dan op de onderstaande knop.
resend_mail=Klik hier om uw activatie mail nog een keer te verzenden
email_not_associate=Dit emailadres is niet gekoppeld aan een account.
send_reset_mail=Stuur account herstel e-mail
send_reset_mail=Verzend e-mail voor herstel
reset_password=Account herstel
invalid_code=Uw bevestigingscode is ongeldig of is verlopen.
reset_password_helper=Account herstellen
@ -446,7 +449,7 @@ authorize_title=Autoriseer "%s" voor toegang tot uw account?
authorization_failed=Autorisatie mislukt
sspi_auth_failed=SSPI-authenticatie mislukt
password_pwned_err=Kan het verzoek om HaveIBeenPwned niet voltooien
prohibit_login_desc = Het is verboden om aan te melden met dit account. Neem contact op met de beheerder van je site.
prohibit_login_desc = Uw account is geschorst voor interactie met de instantie. Neem contact op met de beheerder van de instantie om weer toegang te krijgen.
change_unconfirmed_email_error = Kan het e-mailadres niet wijzigen: %v
sign_up_successful = Account succesvol aangemaakt. Welkom!
change_unconfirmed_email = Als je tijdens de registratie een verkeerd e-mailadres hebt opgegeven, kun je dit hieronder wijzigen. Er wordt dan een bevestiging naar het nieuwe e-mailadres gestuurd.
@ -461,6 +464,11 @@ authorization_failed_desc = De autorisatie is mislukt omdat we een ongeldig verz
remember_me.compromised = De login-sleutel is niet meer geldig, dit kan wijzen op een gecompromitteerd account. Controleer uw account voor verdachte activiteiten.
tab_signin = Inloggen
tab_signup = Aanmelden
hint_login = Heb je al een account? <a href="%s">Nu aanmelden!</a>
hint_register = Heb je een account nodig? <a href="%s"> Registreer nu.</a>
sign_up_button = Registreer nu.
back_to_sign_in = Terug naar aanmelden
sign_in_openid = Ga verder met OpenID
[mail]
view_it_on=Bekijk het op %s
@ -475,7 +483,7 @@ activate_account.text_2=Klik op de volgende link om uw account te activeren binn
activate_email=Verifieer uw e-mailadres
activate_email.text=Klik op de volgende link om je e-mailadres te bevestigen in <b>%s</b>:
register_notify=Welkom bij Forgejo
register_notify_prev9=Welkom bij Forgejo
register_notify.title=%[1]s, welkom bij %[2]s
register_notify.text_1=dit is uw registratie bevestigingsemail voor %s!
register_notify.text_2=U kunt zich aanmelden bij uw account met uw gebruikersnaam: %s
@ -659,10 +667,10 @@ user_bio=Biografie
disabled_public_activity=Deze gebruiker heeft de publieke zichtbaarheid van de activiteit uitgeschakeld.
block_user = Blokkeer gebruiker
joined_on = Geregistreerd op %s
block_user.detail_1 = Deze gebruiker zal u ontvolgen.
block_user.detail = Begrijp alsjeblieft dat als u deze gebruiker blokkeert, er andere acties worden genomen. Zoals:
block_user.detail_2 = Deze gebruiker kan geen interactie hebben met repositories, gecreëerde issues en reacties.
block_user.detail_3 = Deze gebruiker kunt u niet toevoegen als samenwerker, noch kunt u hen toevoegen als samenwerker.
block_user.detail_1 = Jullie zullen elkaar niet meer volgen en zullen elkaar niet meer kunnen volgen.
block_user.detail = Merk op dat het blokkeren van een gebruiker andere effecten heeft, zoals:
block_user.detail_2 = Deze gebruiker kan geen interactie hebben met de repositories waarvan jij de eigenaar bent, of met de issues en berichten die je hebt aangemaakt.
block_user.detail_3 = Je zult elkaar niet kunnen toevoegen als samenwerker.
follow_blocked_user = U kunt deze gebruiker niet volgen, omdat u hen geblokkeerd heeft en of deze gebruiker heeft u geblokkeerd.
block = Blokkeren
unblock = Deblokkeren
@ -680,6 +688,10 @@ followers.title.few = Volgers
following.title.one = Volgend
following.title.few = Volgend
followers.title.one = Volger
public_activity.visibility_hint.self_public = Uw activiteiten zijn zichtbaar voor iedereen, behalve voor interacties in privéruimtes. <a href="%s">Configureer</a>.
public_activity.visibility_hint.admin_public = Deze activiteit is zichtbaar voor iedereen, maar als beheerder kun je ook interacties in privéruimtes zien.
public_activity.visibility_hint.self_private = Uw activiteiten zijn alleen zichtbaar voor jou en de beheerders van de instantie. <a href="%s">Configureer</a>.
public_activity.visibility_hint.admin_private = Deze activiteit is zichtbaar voor u omdat u een beheerder bent, maar de gebruiker wil dat het privé blijft.
[settings]
@ -692,11 +704,11 @@ avatar=Profielfoto
ssh_gpg_keys=SSH / GPG sleutels
social=Sociale netwerk-accounts
applications=Applicaties
orgs=Beheer organisaties
orgs=Organisaties
repos=Repositories
delete=Verwijder account
twofa=Twee-factor authenticatie (TOTP)
account_link=Gekoppelde Accounts
account_link=Gekoppelde accounts
organization=Organisaties
webauthn=Twee-factor authenticatie (Beveiligingssleutels)
@ -753,8 +765,8 @@ password_change_disabled=Niet-lokale gebruikers kunnen hun wachtwoord niet in de
emails=E-mailadressen
manage_emails=E-mailadressen beheren
manage_themes=Selecteer standaardthema
manage_openid=Beheer OpenID-adressen
manage_themes=Standaardthema
manage_openid=OpenID-adressen
theme_desc=Dit zal het standaardthema worden op de gehele site.
primary=Primair
activated=Geactiveerd
@ -794,7 +806,7 @@ add_new_key=SSH sleutel toevoegen
add_new_gpg_key=GPG sleutel toevoegen
key_content_ssh_placeholder=Begint met "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", of "sk-ssh-ed25519@openssh.com"
key_content_gpg_placeholder=Begint met "-----BEGIN PGP PUBLIC KEY BLOCK-----"
add_new_principal=Verantwoordelijke toevoegen
add_new_principal=Principaal toevoegen
ssh_key_been_used=Deze SSH-sleutel is al toegevoegd aan de server.
ssh_key_name_used=Er bestaat al een SSH sleutel met dezelfde naam in uw account.
ssh_principal_been_used=Deze verantwoordelijke is al toegevoegd aan de server.
@ -846,12 +858,12 @@ token_state_desc=Dit token werd gebruikt in de laatste 7 dagen
principal_state_desc=Deze verantwoordelijke werd gebruikt in de laatste 7 dagen
show_openid=Tonen op profiel
hide_openid=Verbergen van profiel
ssh_disabled=SSH uitgeschakeld
ssh_disabled=SSH is uitgeschakeld
ssh_externally_managed=Deze SSH sleutel wordt extern beheerd voor deze gebruiker
manage_social=Beheer gekoppelde sociale accounts
unbind=Ontkoppelen
manage_access_token=Beheer toegangstokens
manage_access_token=Toegangstokens
generate_new_token=Nieuw token genereren
tokens_desc=Deze tokens geven toegang tot je account via de API van Forgejo.
token_name=Tokennaam
@ -911,7 +923,7 @@ webauthn_nickname=Bijnaam
webauthn_delete_key=Verwijder beveiligingssleutel
webauthn_delete_key_desc=Als u een beveiligingssleutel verwijdert, kunt u er niet meer mee inloggen. Doorgaan?
manage_account_links=Gekoppelde accounts beheren
manage_account_links=Gekoppelde accounts
manage_account_links_desc=Deze externe accounts zijn gekoppeld aan je Forgejo-account.
account_links_not_available=Er zijn momenteel geen externe accounts aan je Forgejo-account gelinkt.
link_account=Account koppelen
@ -975,7 +987,7 @@ at_least_one_permission = Je moet minstens één machtiging kiezen om een token
permission_write = Lees en schrijf
oauth2_client_secret_hint = Dit geheim zal niet meer worden getoond nadat u deze pagina heeft verlaten of vernieuwd. Zorg ervoor dat u het heeft opgeslagen.
revoke_oauth2_grant_success = Toegang succesvol ingetrokken.
keep_email_private_popup = Dit zal uw e-mailadres verbergen van uw profielpagina en ook wanneer u een web-gebaseerde Git-operatie uitvoert. Gepushte commits zullen niet aangepast worden. Gebruik %s in commits om deze met uw account te associëren.
keep_email_private_popup = Dit zal je e-mailadres verbergen van uw profielpagina. Het zal niet langer de standaard zijn voor commits die via de webinterface gemaakt worden, zoals bestandsuploads en bewerkingen, en het zal niet gebruikt worden voor samenvoeg commits. In plaats daarvan kan een speciaal adres %s gebruikt worden om commits met je account te associëren. Merk op dat het veranderen van deze optie geen effect heeft op bestaande commits.
create_oauth2_application_success = U heeft met succes een OAuth2 applicatie gecreëerd.
permissions_access_all = Alle (publiek, privé en gelimiteerd)
oauth2_application_remove_description = Door een OAuth2-applicatie te verwijderen, krijgt deze geen toegang meer tot geautoriseerde gebruikersaccounts op deze instantie. Doorgaan?
@ -999,7 +1011,7 @@ hidden_comment_types.issue_ref_tooltip = Reacties waarbij de gebruiker de branch
oauth2_redirect_uris = Omleiding URI's. Gebruik een nieuwe regel voor elke URI.
oauth2_application_locked = Forgejo registreert sommige OAuth2 applicaties vooraf bij het opstarten als dit is ingeschakeld in de configuratie. Om onverwacht gedrag te voorkomen, kunnen deze niet bewerkt of verwijderd worden. Raadpleeg de OAuth2 documentatie voor meer informatie.
change_password = Wachtwoord bijwerken
additional_repo_units_hint = Stimuleer het inschakelen van extra repositorie units
additional_repo_units_hint = Stel voor om extra repositorie units in te schakelen
update_hints = Tips bijwerken
update_hints_success = Tips zijn bijgewerkt.
hints = Tips
@ -1008,6 +1020,9 @@ pronouns = Persoonlijke voornaamwoord
pronouns_custom = Aangepast
pronouns_unspecified = Ongedefinieerd
language.title = Standaard taal
keep_activity_private.description = Uw <a href="%s">publieke activiteit</a> zal alleen zichtbaar zijn voor u en de beheerders van de instantie.
language.description = Deze taal wordt opgeslagen in uw account en wordt als standaardtaal gebruikt nadat u zich heeft aangemeld.
language.localization_project = Help ons Forgejo in uw taal te vertalen! <a href="%s">Leer meer</a>.
[repo]
owner=Eigenaar
@ -1122,7 +1137,7 @@ form.reach_limit_of_creation_n=U heeft al uw limiet van %d repositories bereikt.
need_auth=Autorisatie
migrate_options=Migratie opties
migrate_service=Migratie service
migrate_options_mirror_helper=Deze repositorie zal een spiegel zijn
migrate_options_mirror_helper=Deze repositorie zal een mirror zijn
migrate_options_lfs=Migreer LFS bestanden
migrate_options_lfs_endpoint.label=LFS eindpunt
migrate_options_lfs_endpoint.description=Migratie zal proberen om je Git remote te gebruiken om <a target="_blank" rel="noopener noreferrer" href="%s">de LFS-server</a> te bepalen. Je kan ook een aangepast eindpunt opgeven als de LFS-gegevens ergens anders zijn opgeslagen.
@ -1221,8 +1236,8 @@ file_view_rendered=Weergave weergeven
file_view_raw=Weergave ruw bestand
file_permalink=Permalink
file_too_large=Dit bestand is te groot om te tonen.
invisible_runes_line=`Deze lijn heeft onzichtbare unicode karakters`
ambiguous_runes_line=`Deze lijn heeft dubbelzinnige unicode karakters`
invisible_runes_line=`Deze lijn heeft onzichtbare Unicode karakters`
ambiguous_runes_line=`Deze lijn heeft dubbelzinnige Unicode karakters`
ambiguous_character=`%[1]c [U+%04[1]X] is verwarrend met %[2]c [U+%04[2]X]`
escape_control_characters=Escape
@ -1232,6 +1247,7 @@ view_git_blame=Bekijk git blame
video_not_supported_in_browser=Uw browser ondersteunt de HTML5 "video" element niet.
audio_not_supported_in_browser=Uw browser ondersteunt de HTML5 "audio" element niet.
stored_lfs=Opgeslagen met Git LFS
stored_annex=Opgeslagen met Git Annex
symbolic_link=Symbolische link
commit_graph=Commit grafiek
commit_graph.select=Selecteer branches
@ -1250,6 +1266,7 @@ editor.upload_file=Upload bestand
editor.edit_file=Bewerk bestand
editor.preview_changes=Voorbeeld tonen
editor.cannot_edit_lfs_files=LFS-bestanden kunnen niet worden bewerkt in de webinterface.
editor.cannot_edit_annex_files=Annex-bestanden kunnen niet worden bewerkt in de webinterface.
editor.cannot_edit_non_text_files=Binaire bestanden kunnen niet worden bewerkt in de webinterface.
editor.edit_this_file=Bewerk bestand
editor.this_file_locked=Bestand is vergrendeld
@ -1266,7 +1283,7 @@ editor.commit_changes=Wijzigingen doorvoeren
editor.add_tmpl="<bestandsnaam>" toevoegen
editor.patch=Patch toepassen
editor.patching=Patchen:
editor.new_patch=Nieuwe Patch
editor.new_patch=Nieuwe patch
editor.commit_message_desc=Voeg een optionele uitgebreide omschrijving toe…
editor.signoff_desc=Voeg een Signed-off-by toe aan het einde van het commit logbericht.
editor.commit_directly_to_this_branch=Commit direct naar de branch '<strong class="branch-name">%s</strong>'.
@ -1474,7 +1491,7 @@ 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 een pull request %[4]s dat het issue zal sluiten</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.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>`
@ -1790,7 +1807,7 @@ wiki.last_commit_info=%s heeft deze pagina aangepast %s
wiki.edit_page_button=Bewerken
wiki.new_page_button=Nieuwe pagina
wiki.file_revision=Pagina revisie
wiki.wiki_page_revisions=Herzieningen wiki pagina
wiki.wiki_page_revisions=Pagina revisies
wiki.back_to_wiki=Terug naar wiki-pagina
wiki.delete_page_button=Verwijder pagina
wiki.page_already_exists=Er bestaat al een wiki-pagina met deze naam.
@ -1808,8 +1825,8 @@ activity.period.quarterly=3 maanden
activity.period.semiyearly=6 maanden
activity.period.yearly=1 jaar
activity.overview=Overzicht
activity.active_prs_count_1=<strong>%d</strong> actieve pull requests
activity.active_prs_count_n=<strong>%d</strong> Actieve pull requests
activity.active_prs_count_1=<strong>%d</strong> actieve pull request
activity.active_prs_count_n=<strong>%d</strong> actieve pull requests
activity.merged_prs_count_1=Samengevoegde pull request
activity.merged_prs_count_n=Samengevoegde pull requests
activity.opened_prs_count_1=Voorgestelde pull request
@ -1892,12 +1909,12 @@ settings.mirror_settings.direction=Richting
settings.mirror_settings.direction.pull=Pull
settings.mirror_settings.direction.push=Push
settings.mirror_settings.last_update=Laatst bijgewerkt
settings.mirror_settings.push_mirror.none=Geen spiegels geconfigureerd
settings.mirror_settings.push_mirror.none=Geen push mirrors geconfigureerd
settings.mirror_settings.push_mirror.add=Push mirror toevoegen
settings.sync_mirror=Nu synchroniseren
settings.site=Website
settings.update_settings=Instellingen bewerken
settings.update_settings=Instellingen opslaan
settings.branches.update_default_branch=Standaard branch bewerken
settings.advanced_settings=Geavanceerde instellingen
settings.wiki_desc=Repository-wiki inschakelen
@ -2080,7 +2097,7 @@ settings.protected_branch=Branch bescherming
settings.protected_branch_can_push=Push toestaan?
settings.protected_branch_can_push_yes=U mag pushen
settings.protected_branch_can_push_no=U mag niet pushen
settings.branch_protection=Branch bescherming voor branch "<b>%s</b>"
settings.branch_protection=Beschermingsregels voor branch “<b>%s</b>”
settings.protect_this_branch=Branch bescherming inschakelen
settings.protect_this_branch_desc=Voorkomt verwijdering en beperkt Git pushing en samenvoegen tot de branch.
settings.protect_disable_push=Push uitschakelen
@ -2145,7 +2162,7 @@ settings.archive.button=Repo archiveren
settings.archive.header=Archiveer deze repo
settings.archive.success=De repo is succesvol gearchiveerd.
settings.archive.error=Er is een fout opgetreden tijdens het archiveren van de repo. Zie het logboek voor meer informatie.
settings.archive.error_ismirror=U kunt geen gespiegelde repo archiveren.
settings.archive.error_ismirror=U kunt geen gespiegelde repository archiveren.
settings.archive.branchsettings_unavailable=Branch instellingen zijn niet beschikbaar als de repo is gearchiveerd.
settings.archive.tagsettings_unavailable=Labelinstellingen zijn niet beschikbaar als de repo is gearchiveerd.
settings.update_avatar_success=De repository avatar is bijgewerkt.
@ -2153,7 +2170,7 @@ settings.lfs=LFS
settings.lfs_filelist=LFS bestanden opgeslagen in deze repository
settings.lfs_no_lfs_files=Geen LFS bestanden opgeslagen in deze repository
settings.lfs_findcommits=Vind commits
settings.lfs_lfs_file_no_commits=Geen Commits gevonden voor dit LFS-bestand
settings.lfs_lfs_file_no_commits=Geen commits gevonden voor dit LFS-bestand
settings.lfs_noattribute=Dit pad heeft niet het vergrendelbare attribuut in de standaard branch
settings.lfs_delete=LFS-bestand met OID %s verwijderen
settings.lfs_delete_warning=Het verwijderen van een LFS bestand kan leiden tot "object bestaat niet" fouten bij het uitchecken. Weet u het zeker?
@ -2164,13 +2181,13 @@ settings.lfs_invalid_lock_directory=Kan map %s niet vergrendelen
settings.lfs_lock_already_exists=Vergrendeling bestaat al: %s
settings.lfs_lock=Vergrendel
settings.lfs_lock_path=Bestandspad om te vergrendelen...
settings.lfs_locks_no_locks=Geen Locks
settings.lfs_locks_no_locks=Geen locks
settings.lfs_lock_file_no_exist=Vergrendeld bestand bestaat niet in de standaard branch
settings.lfs_force_unlock=Forceer ontgrendelen
settings.lfs_pointers.found=%d blob-pointer(s) gevonden - %d gekoppeld, %d niet-gekoppeld (%d ontbreekt in de winkel)
settings.lfs_pointers.sha=Blob SHA
settings.lfs_pointers.sha=Blob hash
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=In Repository
settings.lfs_pointers.inRepo=In repository
settings.lfs_pointers.exists=Bestaat in opslag
settings.lfs_pointers.accessible=Toegankelijk voor gebruiker
settings.lfs_pointers.associateAccessible=Koppel toegankelijke %d OIDs
@ -2220,7 +2237,7 @@ diff.comment.add_single_comment=Één reactie toevoegen
diff.comment.add_review_comment=Voeg commentaar toe
diff.comment.start_review=Review starten
diff.comment.reply=Reageer
diff.review=Review
diff.review=Beoordeling voltooien
diff.review.header=Review versturen
diff.review.placeholder=Commentaar controleren
diff.review.comment=Opmerking
@ -2239,7 +2256,7 @@ release.detail=Release details
release.tags=Labels
release.new_release=Nieuwe release
release.draft=Concept
release.prerelease=Voorlopige versie
release.prerelease=Voorlopige release
release.stable=Stabiel
release.compare=Vergelijk
release.edit=bewerken
@ -2249,14 +2266,14 @@ release.source_code=Broncode
release.tag_name=Tagnaam
release.target=Doel
release.tag_helper=Kies een bestaande tag, of creëer een nieuwe tag bij publiceren.
release.prerelease_desc=Markeren als voorlopige versie
release.prerelease_desc=Markeren als voorlopige release
release.prerelease_helper=Markeer deze release als ongeschikt voor productiedoeleinden.
release.cancel=Annuleren
release.publish=Release publiceren
release.save_draft=Concept opslaan
release.edit_release=Update release
release.delete_release=Verwijder release
release.deletion=Verwijder release
release.edit_release=Release bijwerken
release.delete_release=Release verwijderen
release.deletion=Release verwijderen
release.deletion_success=De release is verwijderd.
release.tag_name_already_exist=Een versie met deze naam bestaat al.
release.tag_name_invalid=Tagnaam is niet geldig.
@ -2306,7 +2323,7 @@ fork_no_valid_owners = Deze repository kan niet geforkt worden omdat er geen gel
visibility_helper = Maak repository privé
clone_in_vscodium = Kloon in VSCodium
object_format = Objectformaat
object_format_helper = Objectformaat van de repository. Dit kan niet worden veranderd. SHA1 is het meest compatibel.
object_format_helper = Objectformaat van de repository. Kan later niet worden gewijzigd. SHA1 is het meest compatibel.
mirror_sync = gesynchroniseerd
branch.delete_branch_has_new_commits = Branch "%s" kan niet verwijderd worden omdat er nieuwe commits zijn toegevoegd na het samenvoegen.
branch.create_success = Branch "%s" is gecreëerd.
@ -2336,7 +2353,7 @@ branch.new_branch_from = Creëer nieuwe branch van "%s"
branch.renamed = Branch %s is hernoemd naar %s.
tag.create_success = Tag "%s" is gecreëerd.
topic.format_prompt = Onderwerpen moeten beginnen met een letter of cijfer, kunnen streepjes ("-") en puntjes (".") bevatten en mogen maximaal 35 tekens lang zijn. Letters moeten kleine letters zijn.
find_file.go_to_file = Ga naar bestand
find_file.go_to_file = Zoek een bestand
find_file.no_matching = Geen overeenkomstige bestanden gevonden
error.csv.too_large = Kan dit bestand niet renderen omdat het te groot is.
error.csv.unexpected = Kan dit bestand niet renderen omdat het een onverwacht karakter bevat in regel %d en kolom %d.
@ -2405,7 +2422,7 @@ issues.role.collaborator_helper = Deze gebruiker is uitgenodigd om mee te werken
issues.role.first_time_contributor = Eerste keer bijdrager
issues.role.first_time_contributor_helper = Dit is de eerste bijdrage van deze gebruiker aan de repository.
issues.role.contributor = Bijdrager
issues.role.contributor_helper = Deze gebruiker heeft al eerder gecommitteerd in de repository.
issues.role.contributor_helper = Deze gebruiker heeft al eerder gecommitteerd in deze repository.
issues.label_exclusive = Exclusief
issues.label_archive = Label archiveren
issues.label_exclusive_warning = Eventuele conflicterende scoped labels worden verwijderd bij het bewerken van de labels van een issue of pull request.
@ -2429,7 +2446,7 @@ tree_path_not_found_commit = Pad %[1]s bestaat niet in commit %[2]s
tree_path_not_found_tag = Pad %[1]s bestaat niet in tag %[2]s
transfer.no_permission_to_reject = Je hebt geen rechten om deze overdracht af te wijzen.
settings.transfer_owner = Nieuwe eigenaar
mirror_address_protocol_invalid = De opgegeven URL is ongeldig. Alleen http(s):// of git:// locaties kunnen gebruikt worden voor spiegeling.
mirror_address_protocol_invalid = De opgegeven URL is ongeldig. Alleen http(s):// of git:// locaties kunnen gebruikt worden voor spiegelen.
archive.title = Deze repo is gearchiveerd. Je kunt bestanden bekijken en klonen, maar geen issues of pull requests pushen of openen.
archive.title_date = Deze repository is gearchiveerd op %s. Je kunt bestanden bekijken en klonen, maar je kunt niet pushen of issues of pull requests openen.
migrate_options_lfs_endpoint.placeholder = Als dit leeg gelaten wordt, zal het eindpunt afgeleid worden van de kloon URL
@ -2485,7 +2502,7 @@ wiki.page_content = Pagine inhoud
wiki.cancel = Annuleren
settings.projects_desc = Repository projecten inschakelen
settings.admin_code_indexer = Code indexeerder
settings.admin_indexer_commit_sha = Laatst geïndexeerde SHA
settings.admin_indexer_commit_sha = Laatst geïndexeerde commit
settings.reindex_button = Toevoegen aan herindexeringswachtrij
settings.reindex_requested = Herindexering aangevraagd
settings.danger_zone = Gevaren zone
@ -2505,7 +2522,7 @@ editor.update = %s bijwerken
projects.column.unset_default_desc = Maak deze kolom ongedaan als standaard
pulls.showing_only_single_commit = Alleen veranderingen tonen van commit %[1]s
pulls.blocked_by_changed_protected_files_1 = Dit pull request is geblokkeerd omdat het een beveiligd bestand wijzigt:
signing.wont_sign.nokey = Er is geen sleutel beschikbaar om deze commit te ondertekenen.
signing.wont_sign.nokey = Deze instantie heeft geen sleutel om deze commmit mee te ondertekenen.
settings.admin_enable_close_issues_via_commit_in_any_branch = Sluit een issue via een commit gedaan in een niet standaard branch
stars_remove_warning = Hiermee worden alle sterren uit deze repository verwijderd.
tree_path_not_found_branch = Pad %[1]s bestaat niet in branch %[2]s
@ -2544,7 +2561,7 @@ 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.cmd_instruction_hint = `Bekijk <a class="show-instruction"> opdrachtregelinstructies</a>.`
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
pulls.reopen_failed.base_branch = De pull request kan niet worden heropend, omdat de base branch niet meer bestaat.
@ -2573,9 +2590,9 @@ release.tag_helper_existing = Bestaande tag.
release.title = Releasetitel
release.title_empty = Titel kan niet leeg zijn.
release.message = Beschrijf deze release
release.delete_tag = Verwijder Tag
release.delete_tag = Tag verwijderen
release.add_tag_msg = Gebruik de titel en inhoud van de release als bericht.
release.add_tag = Alleen Tag Aanmaken
release.add_tag = Tag aanmaken
release.releases_for = Releases voor %s
release.tags_for = Tags voor %s
branch.delete = Branch "%s" verwijderen
@ -2606,7 +2623,7 @@ settings.tracker_issue_style.regexp_pattern_desc = De eerste groep wordt gebruik
settings.admin_indexer_unindexed = Niet-geïndexeerd
settings.admin_enable_health_check = Repository gezondheidscontroles inschakelen (git fsck)
settings.admin_settings = Beheerdersinstellingen
settings.actions_desc = Repository acties inschakelen
settings.actions_desc = Geïntegreerde CI/CD-pijplijnen met Forgejo Actions inschakelen
settings.releases_desc = Repository releases inschakelen
settings.pulls.default_delete_branch_after_merge = Verwijder standaard pull request branch na samenvoegen
settings.pulls.allow_rebase_update = Het bijwerken van een pull request branch door rebase inschakelen
@ -2616,7 +2633,7 @@ settings.trust_model.default.desc = Gebruik de standaard repository vertrouwensm
settings.signing_settings = Instellingen voor verificatie van ondertekening
settings.wiki_branch_rename_success = De branch naam van de repository wiki is succesvol genormaliseerd.
settings.wiki_rename_branch_main_notices_1 = Deze bewerking <strong>KAN NIET</strong> ongedaan worden gemaakt.
settings.wiki_rename_branch_main_desc = Hernoem de branch die intern door de Wiki wordt gebruikt naar "%s". Dit is permanent en kan niet ongedaan gemaakt worden.
settings.wiki_rename_branch_main_desc = Hernoem de branch die intern door de Wiki wordt gebruikt naar "%s". Deze verandering is permanent en kan niet ongedaan worden gemaakt.
settings.add_collaborator_owner = Kan geen eigenaar toevoegen als samenwerker.
settings.update_settings_no_unit = De repository moet op zijn minst enige vorm van interactie toestaan.
settings.authorization_header = Autorisatie-header
@ -2711,7 +2728,7 @@ commits.search_branch = Deze branch
pulls.merged_title_desc_one = heeft %[1]d commit van <code>%[2]s</code> samengevoegd in <code>%[3]s</code> %[4]s
pulls.ready_for_review = Klaar voor een beoordeling?
editor.push_out_of_date = De push lijkt verouderd.
editor.commit_id_not_matching = De commit ID komt niet overeen met degene die je aan het bewerken was. Committeer naar een nieuwe branch en voeg dan samen.
editor.commit_id_not_matching = Het bestand is gewijzigd terwijl je het aan het bewerken was. Committeer naar een nieuwe branch en voeg dan samen.
settings.rename_branch_failed_protected = Kan branch %s niet hernoemen omdat het een beschermde branch is.
stars = Sterren
n_commit_few = %s commits
@ -2737,8 +2754,8 @@ settings.federation_following_repos = URLs van de volgende repositories. Geschei
settings.federation_settings = Federatie instellingen
settings.federation_apapiurl = Federatie URL van deze repository. Kopiër en plak dit in de federatie instellingen van een andere repository als een URL van de volgende repository.
settings.federation_not_enabled = Federatie is niet ingeschakeld voor deze instantie.
subscribe.issue.guest.tooltip = Log in om dit issue te volgen.
subscribe.pull.guest.tooltip = Log in om dit pull request te volgen.
subscribe.issue.guest.tooltip = Log in om deze issue te volgen.
subscribe.pull.guest.tooltip = Log in om deze pull request te volgen.
settings.transfer.modal.title = Eigendom overdragen
settings.transfer.button = Eigendom overdragen
settings.graphql_url = GraphQL URL
@ -2750,6 +2767,17 @@ settings.sourcehut_builds.visibility = Job zichtbaarheid
settings.sourcehut_builds.manifest_path = Bouw manifestpad
n_release_one = %s release
n_release_few = %s releases
issues.author.tooltip.issue = Deze gebruiker is de auteur van deze issue.
issues.author.tooltip.pr = Deze gebruiker is de auteur van deze pull request.
settings.matrix.room_id_helper = De kamer-ID kan worden opgehaald uit de Element webclient > Kamerinstellingen > Geavanceerd > Interne ruimte ID. Voorbeeld: %s.
issues.edit.already_changed = Kan wijzigingen in deze issue niet opslaan. Het lijkt erop dat de inhoud al is gewijzigd door een andere gebruiker. Vernieuw de pagina en probeer opnieuw te bewerken om te voorkomen dat hun wijzigingen worden overschreven
pulls.edit.already_changed = Kan wijzigingen in deze pull request niet opslaan. Het lijkt erop dat de inhoud al is gewijzigd door een andere gebruiker. Vernieuw de pagina en probeer opnieuw te bewerken om te voorkomen dat hun wijzigingen worden overschreven
comments.edit.already_changed = Kan wijzigingen in deze reactie niet opslaan. Het lijkt erop dat de inhoud al is gewijzigd door een andere gebruiker. Vernieuw de pagina en probeer opnieuw te bewerken om te voorkomen dat hun wijzigingen worden overschreven
settings.sourcehut_builds.secrets_helper = Geef de job toegang tot de bouwgeheimen (SECRETS:RO toekenning vereist)
settings.add_webhook.invalid_path = Het pad mag geen deel bevatten dat "." of ".." of de lege tekenreeks is. Het kan niet beginnen of eindigen met een schuine streep.
settings.matrix.access_token_helper = Het is aanbevolen om hiervoor een speciale Matrix-account in te stellen. Het toegangstoken kan worden opgehaald via de Element webclient (in een besloten/incognito tabblad) > Gebruikersmenu (linksboven) > Instellingen > Hulp & Info > Geavanceerd > Toegangstoken (onder de Homeserver URL). Sluit het privé/incognito tabblad (uitloggen maakt de token ongeldig).
settings.sourcehut_builds.access_token_helper = Toegangstoken met JOBS:RW toekenning. Genereer een <a target="_blank" rel="noopener noreferrer" href="%s">builds.sr.ht token</a> of een <a target="_blank" rel="noopener noreferrer" href="%s">builds.sr.ht token met toegang voor geheimen</a> op meta.sr.ht.
activity.commit = Commit activiteit
@ -2807,9 +2835,9 @@ settings.labels_desc=Voeg labels toe die kunnen worden gebruikt bij problemen vo
members.membership_visibility=Zichtbaarheid lidmaatschap:
members.public=Zichtbaar
members.public_helper=verborgen maken
members.public_helper=Verborgen maken
members.private=Verborgen
members.private_helper=maak zichtbaar
members.private_helper=Maak zichtbaar
members.member_role=Rol van lid:
members.owner=Eigenaar
members.member=Lid
@ -2865,8 +2893,8 @@ form.name_pattern_not_allowed = Het patroon "%s' is niet toegestaan in een organ
settings.email = Contact e-mail
settings.change_orgname_redirect_prompt = De oude naam zal worden omgeleid tot het wordt geclaimd.
members.remove.detail = %[1]s van %[2]s verwijderen?
members.leave.detail = %s verlaten?
teams.leave.detail = %s verlaten?
members.leave.detail = Weet u zeker dat je organisatie "%s" wilt verlaten?
teams.leave.detail = Weet u zeker dat je team “%s” wilt verlaten?
teams.general_access_helper = De machtigingen van de leden zullen worden vastgesteld door middel van de onderstaande tabel.
teams.write_access = Schrijf
teams.invite_team_member = Uitnodigen tot %s
@ -2973,7 +3001,7 @@ users.repos=Repos
users.created=Aangemaakt
users.last_login=Laatste keer ingelogd
users.never_login=Nooit ingelogd
users.send_register_notify=Stuur gebruikersregistratie notificatie
users.send_register_notify=Via e-mail informeren over registratie
users.edit=Bewerken
users.auth_source=Authenticatiebron
users.local=Lokaal
@ -2983,10 +3011,10 @@ users.update_profile_success=Het gebruikersaccount is bijgewerkt.
users.edit_account=Wijzig gebruikers account
users.max_repo_creation=Maximale aantal repositories
users.max_repo_creation_desc=(Zet op -1 om de globale limiet te gebruiken)
users.is_activated=Gebruikersaccount is geactiveerd
users.prohibit_login=Inloggen uitschakelen
users.is_admin=Is beheerder
users.is_restricted=Is beperkt
users.is_activated=Geactiveerd account
users.prohibit_login=Geschorst account
users.is_admin=Beheerdersaccount
users.is_restricted=Beperkte account
users.allow_git_hook=Mag Git hooks maken
users.allow_git_hook_tooltip=Git hooks worden uitgevoerd als de OS-gebruiker die Forgejo uitvoert en zal hetzelfde niveau van host toegang hebben. Als gevolg daarvan hebben gebruikers met dit speciale Git hook privilege toegang tot alle Forgejo repositories en de door Forgejo gebruikte database. Zij zijn dus ook in staat om Forgejo beheerdersprivileges te verkrijgen.
users.allow_import_local=Mag lokale repositories importeren
@ -3022,7 +3050,7 @@ orgs.new_orga=Nieuwe organisatie
repos.repo_manage_panel=Repositories beheren
repos.unadopted=Niet-geadopteerde repositories
repos.unadopted.no_more=Geen niet-geadopteerde repositories meer gevonden
repos.unadopted.no_more=Geen niet-geadopteerde repositories gevonden
repos.owner=Eigenaar
repos.name=Naam
repos.private=Prive
@ -3232,7 +3260,7 @@ config.git_max_diff_lines=Max diff regels per bestand
config.git_max_diff_files=Max. getoonde diff-bestanden
config.git_gc_args=GC-argumenten
config.git_migrate_timeout=Migratie time-out
config.git_mirror_timeout=Time-out spiegelupdate
config.git_mirror_timeout=Time-out mirror update
config.git_clone_timeout=Kloon operatie timeout
config.git_pull_timeout=Pull operatie timeout
config.git_gc_timeout=GC operatie timeout
@ -3308,7 +3336,7 @@ users.list_status_filter.not_prohibit_login = Inloggen toestaan
users.list_status_filter.is_2fa_enabled = 2FA ingeschakeld
users.details = Gebruikersgegevens
emails.change_email_text = Weet je zeker dat je dit e-mailadres wilt bijwerken?
repos.lfs_size = LFS Grootte
repos.lfs_size = LFS grootte
packages.package_manage_panel = Pakketten beheren
packages.total_size = Totale grootte: %s
packages.unreferenced_size = Grootte waarnaar niet wordt verwezen: %s
@ -3344,17 +3372,17 @@ dashboard.sync_repo_tags = Tags synchroniseren van git data naar database
dashboard.cleanup_hook_task_table = Tabel hook_task opschonen
dashboard.cleanup_packages = Verlopen pakketten opschonen
dashboard.cleanup_actions = Verlopen logs en artefacten van actions opschonen
dashboard.delete_old_actions.started = Het verwijderen van alle oude acties uit de database is gestart.
dashboard.delete_old_actions.started = Het verwijderen van alle oude activiteiten uit de database is gestart.
dashboard.update_checker = Update checker
dashboard.stop_zombie_tasks = Zombietaken stoppen
dashboard.stop_endless_tasks = Eindeloze taken stoppen
dashboard.start_schedule_tasks = Start geplande taken
dashboard.sync_branch.started = Branches synchroniseren is gestart
dashboard.sync_tag.started = Tags synchroniseren is gestart
dashboard.sync_branch.started = Branch synchronisatie is gestart
dashboard.sync_tag.started = Tag synchronisatie is gestart
auths.attribute_avatar = Avatar attribuut
auths.enable_ldap_groups = LDAP-groepen inschakelen
auths.ms_ad_sa = MS AD zoekattributen
dashboard.delete_old_actions = Verwijder alle oude acties uit de database
dashboard.delete_old_actions = Verwijder alle oude activiteiten uit de database
identity_access = Identiteit & toegang
assets = Code assets
auths.helo_hostname_helper = Hostnaam verzonden met HELO. Laat leeg om huidige hostnaam te versturen.
@ -3423,6 +3451,16 @@ config.open_with_editor_app_help = De "Openen met" editors voor het kloonmenu. A
auths.tip.gitlab_new = Registreer een nieuwe applicatie op https://gitlab.com/-/profile/applications
config.app_slogan = Instantie slogan
auths.default_domain_name = Standaarddomeinnaam die voor het e-mailadres wordt gebruikt
config.cache_test = Test cache
config.cache_test_succeeded = Cache test succesvol, kreeg een antwoord in %s.
users.activated.description = Voltooiing van e-mailverificatie. De eigenaar van een niet-geactiveerd account kan zich pas aanmelden nadat de e-mailverificatie is voltooid.
users.block.description = Blokkeer deze gebruiker voor interactie met deze service via zijn account en verbied het aanmelden.
users.admin.description = Geef deze gebruiker volledige toegang tot alle beheerfuncties die beschikbaar zijn via de web UI en de API.
users.restricted.description = Sta alleen interactie toe met de repositories en organisaties waar deze gebruiker als samenwerker is toegevoegd. Dit voorkomt toegang tot openbare repositories op deze instantie.
users.local_import.description = Sta het importeren van repositories vanaf het lokale bestandssysteem van de server toe. Dit kan een beveiligingsprobleem zijn.
users.organization_creation.description = Sta het aanmaken van nieuwe organisaties toe.
config.cache_test_failed = Het is niet gelukt om de cache te peilen: %v.
config.cache_test_slow = Cache-test geslaagd, maar reactie is traag: %s.
[action]
@ -3438,13 +3476,13 @@ comment_issue = `gaf reactie op issue <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull = `gaf reactie op pull request <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request = `pull request samengevoegd <a href="%[1]s">%[3]s#%[2]s</a>`
push_tag = tag <a href="%[2]s">%[3]s</a> gepusht naar <a href="%[1]s">%[4]s</a>
mirror_sync_create = nieuwe referentie gesynchroniseerd naar <a href="%[2]s">%[3]s</a> op <a href="%[1]s">%[4]s</a> van spiegel
mirror_sync_create = nieuwe referentie gesynchroniseerd naar <a href="%[2]s">%[3]s</a> op <a href="%[1]s">%[4]s</a> van mirror
approve_pull_request = `goedgekeurd <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request = `heropend pull request <a href="%[1]s">%[3]s#%[2]s</a>`
close_pull_request = `sloot pull request <a href="%[1]s">%[3]s#%[2]s</a>`
mirror_sync_delete = gesynchroniseerde en verwijderde referentie <code>%[2]s</code> op <a href="%[1]s">%[3]s</a> van spiegel
mirror_sync_delete = gesynchroniseerde en verwijderde referentie <code>%[2]s</code> op <a href="%[1]s">%[3]s</a> van mirror
auto_merge_pull_request = `pull request automatisch samengevoegd <a href="%[1]s">%[3]s#%[2]s</a>`
mirror_sync_push = commits gesynchroniseerd naar <a href="%[2]s">%[3]s</a> op <a href="%[1]s">%[4]s</a> van spiegel
mirror_sync_push = commits gesynchroniseerd naar <a href="%[2]s">%[3]s</a> op <a href="%[1]s">%[4]s</a> van mirror
review_dismissed_reason = Reden:
commit_repo = gepusht naar <a href="%[2]s">%[3]s</a> bij <a href="%[1]s">%[4]s</a>
create_issue = `opent issue <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3455,7 +3493,7 @@ reject_pull_request = `stelde wijzigingen voor <a href="%[1]s">%[3]s#%[2]s</a>`
review_dismissed = `heeft beoordeling van <b>%[4]s</b> voor <a href="%[1]s">%[3]s#%[2]s</a> afgewezen`
create_branch = heeft de branch <a href="%[2]s">%[3]s</a> gemaakt in <a href="%[1]s">%[4]s</a>
watched_repo = begon te kijken naar <a href="%[1]s">%[2]s</a>
publish_release = `released <a href="%[2]s"> "%[4]s" </a> op <a href="%[1]s">%[3]s</a>`
publish_release = `released <a href="%[2]s"> %[4]s </a> op <a href="%[1]s">%[3]s</a>`
starred_repo = heeft <a href="%[1]s">%[2]s</a> een star gegeven
[tool]
@ -3608,7 +3646,7 @@ owner.settings.cargo.rebuild = Index herbouwen
owner.settings.cargo.rebuild.description = Heropbouwen kan nuttig zijn als de index niet is gesynchroniseerd met de opgeslagen Cargo pakketten.
owner.settings.cargo.rebuild.error = Mislukt om Cargo index te herbouwen: %v
owner.settings.cargo.rebuild.success = De Cargo index is met succes opnieuw opgebouwd.
owner.settings.cleanuprules.title = Opschoonregels beheren
owner.settings.cleanuprules.title = Opschoonregels
owner.settings.cleanuprules.add = Regel voor opschonen toevoegen
owner.settings.cleanuprules.edit = Regel voor opschonen bewerken
owner.settings.cleanuprules.preview = Voorbeeld opruimregel
@ -3761,7 +3799,7 @@ runs.actors_no_select = Alle acteurs
runs.status_no_select = Alle statussen
runs.no_results = Geen resultaten gevonden.
runs.no_workflows = Er zijn nog geen workflows.
unit.desc = Beheer actions
unit.desc = Beheer geïntegreerde CI/CD-pijplijnen met Forgejo Actions
runs.no_workflows.documentation = Voor meer informatie over Forgejo acties, zie <a target="_blank" rel="noopener noreferrer" href="%s">de documentatie</a>.
workflow.disable_success = Workflow "%s" is succesvol uitgeschakeld.
variables.none = Er zijn nog geen variabelen.
@ -3774,6 +3812,13 @@ runs.no_matching_online_runner_helper = Geen overeenkomende online runner met la
runs.workflow = Workflow
runs.no_job_without_needs = De workflow moet ten minste één taak zonder afhankelijkheden bevatten.
runs.no_job = De workflow moet minimaal één job bevatten
workflow.dispatch.trigger_found = Deze workflow heeft een <c>workflow_dispatch</c> event trigger.
workflow.dispatch.success = Workflow-run is met succes aangevraagd.
workflow.dispatch.use_from = Gebruik workflow van
workflow.dispatch.run = Workflow uitvoeren
workflow.dispatch.warn_input_limit = Alleen de eerste %d invoeren worden weergegeven.
workflow.dispatch.invalid_input_type = Ongeldig invoertype “%s”.
workflow.dispatch.input_required = Waarde vereist voor invoer “%s”.
@ -3829,6 +3874,8 @@ exact = Exact
exact_tooltip = Bevat alleen resultaten die de exacte zoekterm bevatten
issue_kind = Zoek issues...
pull_kind = Zoek pulls...
union = Trefwoorden
union_tooltip = Neem resultaten op die overeenkomen met een van de trefwoorden gescheiden door spaties
[munits.data]
b = B
@ -3843,3 +3890,7 @@ pib = PiB
filepreview.line = Lijn %[1]d in %[2]s
filepreview.lines = Lijnen %[1]d naar %[2]d in %[3]s
filepreview.truncated = Voorbeeld is ingekort
[translation_meta]
test = Oké

View file

@ -157,6 +157,7 @@ filter.is_archived = Zarchiwizowane
filter.is_mirror = Kopie lustrzane
more_items = Więcej elementów
filter.is_fork = Forki
test = Test
[aria]
navbar = Pasek nawigacji
@ -466,7 +467,7 @@ activate_account.text_2=Kliknij poniższy link, aby aktywować swoje konto w ci
activate_email=Potwierdź swój adres e-mail
activate_email.text=Aby zweryfikować swój adres e-mail, w ciągu następnych <b>%s</b> kliknij poniższy link:
register_notify=Witamy w Forgejo
register_notify_prev9=Witamy w Forgejo
register_notify.title=%[1]s, witaj w %[2]s
register_notify.text_1=to jest Twój e-mail z potwierdzeniem rejestracji dla %s!
register_notify.text_2=Możesz teraz zalogować się za pomocą nazwy użytkownika: %s
@ -523,6 +524,7 @@ yes=Tak
no=Nie
cancel=Anuluj
modify=Aktualizuj
confirm = Potwierdź
[form]
UserName=Nazwa użytkownika
@ -613,6 +615,7 @@ follow=Obserwuj
unfollow=Przestań obserwować
user_bio=Biografia
disabled_public_activity=Ten użytkownik wyłączył publiczne wyświetlanie jego aktywności.
code = Kod
[settings]
@ -845,6 +848,17 @@ visibility=Widoczność użytkownika
visibility.public=Publiczny
visibility.limited=Ograniczony
visibility.private=Prywatny
uid = UID
comment_type_group_label = Etykieta
comment_type_group_milestone = Kamień milowy
comment_type_group_assignee = Przypisanie
comment_type_group_branch = Gałąź
comment_type_group_deadline = Termin
comment_type_group_project = Projekt
comment_type_group_reference = Odniesienie
webauthn_nickname = Pseudonim
comment_type_group_dependency = Zależność
permissions_list = Uprawnienia:
[repo]
owner=Właściciel
@ -1046,6 +1060,7 @@ file_copy_permalink=Kopiuj bezpośredni odnośnik
video_not_supported_in_browser=Twoja przeglądarka nie obsługuje znacznika HTML5 "video".
audio_not_supported_in_browser=Twoja przeglądarka nie obsługuje znacznika HTML5 "audio".
stored_lfs=Przechowane za pomocą Git LFS
stored_annex=Przechowane za pomocą Git Annex
symbolic_link=Dowiązanie symboliczne
commit_graph=Wykres commitów
commit_graph.select=Wybierz gałęzie
@ -1063,6 +1078,7 @@ editor.upload_file=Wyślij plik
editor.edit_file=Edytuj plik
editor.preview_changes=Podgląd zmian
editor.cannot_edit_lfs_files=Pliki LFS nie mogą być edytowane poprzez interfejs przeglądarkowy.
editor.cannot_edit_annex_files=Pliki Annex nie mogą być edytowane poprzez interfejs przeglądarkowy.
editor.cannot_edit_non_text_files=Pliki binarne nie mogą być edytowane poprzez interfejs przeglądarkowy.
editor.edit_this_file=Edytuj plik
editor.this_file_locked=Plik jest zablokowany
@ -2025,6 +2041,39 @@ topic.count_prompt=Nie możesz wybrać więcej, niż 25 tematów
error.csv.too_large=Nie można wyświetlić tego pliku, ponieważ jest on zbyt duży.
error.csv.unexpected=Nie można renderować tego pliku, ponieważ zawiera nieoczekiwany znak w wierszu %d i kolumnie %d.
error.csv.invalid_field_count=Nie można renderować tego pliku, ponieważ ma nieprawidłową liczbę pól w wierszu %d.
settings.admin_indexer_unindexed = Nieindeksowane
settings.web_hook_name_forgejo = Forgejo
issues.filter_poster = Autor
issues.content_history.options = Opcje
issues.content_history.deleted = usunięto
issues.content_history.created = utworzono
editor.patching = Łatanie:
settings.web_hook_name_gogs = Gogs
desc.sha256 = SHA256
commitstatus.failure = Awaria
settings.protect_status_check_matched = Dopasowano
settings.web_hook_name_slack = Slack
settings.web_hook_name_dingtalk = DingTalk
commitstatus.success = Sukces
wiki.cancel = Anuluj
settings.web_hook_name_packagist = Packagist
settings.web_hook_name_telegram = Telegram
settings.event_package = Pakiet
settings.web_hook_name_discord = Discord
settings.web_hook_name_matrix = Matrix
settings.protect_patterns = Szablony
default_branch_label = domyślnie
issues.author = Autor
commit.operations = Operacje
commit.revert = Odwróć
pull.deleted_branch = (usunięto):%s
diff.vendored = dostarczono
from_comment = (komentarz)
issues.filter_project = Projekt
mirror_sync = zsynchronizowano
settings.web_hook_name_gitea = Gitea
packages = Pakiety
actions = Akcje
[graphs]
@ -2133,6 +2182,8 @@ teams.all_repositories_helper=Zespół ma dostęp do wszystkich repozytoriów. W
teams.all_repositories_read_permission_desc=Ten zespół nadaje uprawnienie <strong>Odczytu</strong> do <strong>wszystkich repozytoriów</strong>: jego członkowie mogą wyświetlać i klonować repozytoria.
teams.all_repositories_write_permission_desc=Ten zespół nadaje uprawnienie <strong>Zapisu</strong> do <strong>wszystkich repozytoriów</strong>: jego członkowie mogą odczytywać i przesyłać do repozytoriów.
teams.all_repositories_admin_permission_desc=Ten zespół nadaje uprawnienia <strong>Administratora</strong> do <strong>wszystkich repozytoriów</strong>: jego członkowie mogą odczytywać, przesyłać oraz dodawać innych współtwórców do repozytoriów.
teams.write_access = Zapis
code = Kod
[admin]
dashboard=Pulpit
@ -2553,6 +2604,20 @@ notices.type_2=Zadanie
notices.desc=Opis
notices.op=Operacja
notices.delete_success=Powiadomienia systemu zostały usunięte.
monitor.last_execution_result = Wynik
monitor.process.children = Dzieci
integrations = Integracje
users.bot = Bot
users.list_status_filter.menu_text = Filtr
packages.version = Wersja
packages.creator = Twórca
users.list_status_filter.not_active = Nieaktywne
notices.operations = Operacje
config.send_test_mail_submit = Wyślij
packages.published = Opublikowane
config.mailer_protocol = Protokół
monitor.stats = Statystyki
users.remote = Zdalnie
[action]
@ -2603,6 +2668,7 @@ pin=Przypnij powiadomienie
mark_as_read=Oznacz jako przeczytane
mark_as_unread=Oznacz jak nieprzeczytane
mark_all_as_read=Oznacz wszystkie jako przeczytane
subscriptions = Subskrybcje
[gpg]
default_key=Podpisano domyślnym kluczem
@ -2618,6 +2684,7 @@ error.probable_bad_default_signature=OSTRZEŻENIE! Pomimo, że domyślny klucz p
[units]
error.no_unit_allowed_repo=Nie masz uprawnień do żadnej sekcji tego repozytorium.
error.unit_not_allowed=Nie masz uprawnień do tej sekcji repozytorium.
unit = Jednostka
[packages]
filter.type=Typ
@ -2625,6 +2692,23 @@ alpine.repository.branches=Gałęzie
alpine.repository.repositories=Repozytoria
conan.details.repository=Repozytorium
owner.settings.cleanuprules.enabled=Włączone
alpine.repository.architectures = Architektury
container.details.platform = Platforma
requirements = Wymagania
keywords = Słowa kluczowe
versions = Wersje
dependency.id = ID
dependency.version = Wersja
details.author = Autor
filter.type.all = Wszystko
filter.container.tagged = Oznaczone
details.license = Licencja
installation = Instalacja
composer.dependencies = Zależności
filter.container.untagged = Nieoznaczone
title = Pakiety
dependencies = Zależności
details = Szczegóły
[secrets]

View file

@ -24,7 +24,7 @@ signed_in_as=Sessão iniciada como
enable_javascript=Este site requer JavaScript.
toc=Índice
licenses=Licenças
return_to_forgejo=Volte para Forgejo
return_to_forgejo=Retornar ao Forgejo
username=Nome de usuário
email=Endereço de e-mail
@ -89,7 +89,7 @@ add=Adicionar
add_all=Adicionar todos
remove=Remover
remove_all=Excluir todos
remove_label_str=`Remover item "%s"`
remove_label_str=Remover item "%s"
edit=Editar
enabled=Habilitado
@ -157,7 +157,7 @@ filter.not_archived = Não arquivado
filter.not_fork = Sem forks
filter.not_mirror = Sem espelhos
filter.not_template = Sem modelos
copy_generic = Copiar para área de transferência
copy_generic = Copiar para a área de transferência
[aria]
navbar=Barra de navegação
@ -456,9 +456,9 @@ password_pwned=A senha que você escolheu faz parte de uma <a target="_blank" re
password_pwned_err=Não foi possível concluir a requisição ao HaveIBeenPwned
change_unconfirmed_email_error = Erro ao alterar o endereço de e-mail: %v
change_unconfirmed_email_summary = Alterar o endereço de e-mail que o e-mail de ativação será enviado para.
last_admin = Não é possível remover o último administrador. Deve haver ao menos um usuário administrador.
last_admin = Não é possível remover o último administrador. Deve existir ao menos um usuário administrador.
change_unconfirmed_email = Se você colocou o endereço de e-mail errado durante o cadastro, você pode alterá-lo abaixo, e uma confirmação será enviada para o novo endereço.
remember_me.compromised = O token de login foi invalidado, o que pode indicar que a sua conta foi comprometida. Verifique se não há atividades suspeitas em sua conta.
remember_me.compromised = O identificador de sessão foi invalidado, o que pode indicar que a sua conta foi comprometida. Verifique se não há atividades suspeitas em sua conta.
tab_signin = Iniciar sessão
tab_signup = Inscrever-se
@ -477,7 +477,7 @@ activate_email=Verifique seu endereço de e-mail
activate_email.title=%s, por favor verifique o seu endereço de e-mail
activate_email.text=Por favor clique no link a seguir para verificar o seu endereço de e-mail em <b>%s</b>:
register_notify=Bem-vindo ao Forgejo
register_notify_prev9=Bem-vindo ao Forgejo
register_notify.title=%[1]s, bem-vindo(a) a %[2]s
register_notify.text_1=este é o seu e-mail de confirmação de registro para %s!
register_notify.text_2=Você pode fazer login em sua conta utilizando o usuário: %s
@ -631,7 +631,7 @@ target_branch_not_exist=O branch de destino não existe.
username_error_no_dots = ` pode conter apenas caracteres alfanuméricos ("0-9, "a-z", "A-Z"), hífens ("-") e traços inferiores ("_"). Não é permitido conter caracteres não alfanuméricos no início ou fim. Caracteres não alfanuméricos consecutivos também não são permitidos.`
admin_cannot_delete_self = Você não pode excluir a si mesmo quando você é um administrador. Por favor, remova suas permissões de administrador primeiro.
AccessToken = Token de acesso
To = Nome do Branch
To = Nome do ramo
Website = Site
Pronouns = Pronomes
Biography = Biografia
@ -671,7 +671,7 @@ block_user = Bloquear usuário
unblock = Desbloquear
block = Bloquear
block_user.detail_2 = Este usuário não poderá interagir com seus repositórios, questões criadas e comentários.
follow_blocked_user = Você não pode seguir este usuário, pois você o bloqueou ou foi bloqueado por ele.
follow_blocked_user = Você não pode seguir este usuário porque você o bloqueou ou foi bloqueado por ele.
block_user.detail_3 = Este(a) usuário(a) não poderá adicioná-lo(a) como colaborador(a), nem você poderá adicioná-lo(a) como colaborador(a).
block_user.detail = Por favor, entenda que se você bloquear este usuário, outras ações serão tomadas. Tais como:
followers_one = %d seguidor
@ -755,14 +755,14 @@ update_user_avatar_success=O avatar do usuário foi atualizado.
update_password=Modificar senha
old_password=Senha atual
new_password=Nova senha
retype_new_password=Confirmar nova senha
retype_new_password=Confirme a nova senha
password_incorrect=A senha atual está incorreta.
change_password_success=Sua senha foi atualizada. Acesse usando sua nova senha de agora em diante.
password_change_disabled=Contas não-locais não podem alterar sua senha através da interface web do Forgejo.
emails=Endereços de e-mail
manage_emails=Gerenciar endereços de e-mail
manage_themes=Tema Padrão
manage_themes=Tema padrão
manage_openid=Endereços OpenID
email_desc=Seu endereço de e-mail principal será usado para notificações, recuperação de senha e, desde que não esteja oculto, para operações do Git baseadas na Web.
theme_desc=Este será o seu tema padrão em todo o site.
@ -770,7 +770,7 @@ primary=Principal
activated=Ativado
requires_activation=Requer ativação
primary_email=Tornar primário
activate_email=Enviar ativação
activate_email=Enviar e-mail de ativação
activations_pending=Ativações pendentes
can_not_add_email_activations_pending=Há uma ativação pendente, tente novamente em alguns minutos se quiser adicionar um novo e-mail.
delete_email=Remover
@ -986,7 +986,7 @@ visibility.limited_tooltip=Visível apenas para usuários autenticados
visibility.private=Privada
visibility.private_tooltip=Visível apenas para membros das organizações às quais você se associou
blocked_users = Usuários bloqueados
blocked_since = Bloqueado desde %s
blocked_since = Bloqueado(a) desde %s
user_unblock_success = O usuário foi desbloqueado.
user_block_success = O usuário foi bloqueado.
twofa_recovery_tip = Caso perca o seu dispositivo, você poderá usar uma chave de uso único para recuperar o acesso à sua conta.
@ -1254,6 +1254,7 @@ view_git_blame=Ver Git Blame
video_not_supported_in_browser=Seu navegador não suporta a tag 'video' do HTML5.
audio_not_supported_in_browser=Seu navegador não suporta a tag 'audio' do HTML5.
stored_lfs=Armazenado com Git LFS
stored_annex=Armazenado com Git Annex
symbolic_link=Link simbólico
executable_file=Arquivo executável
commit_graph=Gráfico de commits
@ -1277,6 +1278,7 @@ editor.upload_file=Enviar arquivo
editor.edit_file=Editar arquivo
editor.preview_changes=Pré-visualizar alterações
editor.cannot_edit_lfs_files=Arquivos LFS não podem ser editados na interface web.
editor.cannot_edit_annex_files=Arquivos Annex não podem ser editados na interface web.
editor.cannot_edit_non_text_files=Arquivos binários não podem ser editados na interface web.
editor.edit_this_file=Editar arquivo
editor.this_file_locked=Arquivo está bloqueado
@ -1770,8 +1772,8 @@ pulls.nothing_to_compare=Estes branches são iguais. Não há nenhuma necessidad
pulls.nothing_to_compare_and_allow_empty_pr=Estes branches são iguais. Este PR ficará vazio.
pulls.has_pull_request=`Um pull request entre esses branches já existe: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Criar pull request
pulls.title_desc_few=quer aplicar o merge de %[1]d commits de <code>%[2]s</code> em <code id="branch_target">%[3]s</code>
pulls.merged_title_desc_few=aplicou merge dos %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code> %[4]s
pulls.title_desc_few=quer mesclar %[1]d commits de <code>%[2]s</code> em <code id="branch_target">%[3]s</code>
pulls.merged_title_desc_few=mesclou %[1]d commits de <code>%[2]s</code> em <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`mudou o branch de destino de <b>%s</b> para <b>%s</b> %s`
pulls.tab_conversation=Conversação
pulls.tab_commits=Commits
@ -2119,7 +2121,7 @@ settings.convert_fork_desc=Você pode converter este fork em um repositório nor
settings.convert_fork_notices_1=Esta operação irá converter o fork em um repositório normal e não pode ser desfeita.
settings.convert_fork_confirm=Converter repositório
settings.convert_fork_succeed=O fork foi convertido em um repositório normal.
settings.transfer.title=Transferir propriedade
settings.transfer.title=Transferir titularidade
settings.transfer.rejected=A transferência do repositório foi rejeitada.
settings.transfer.success=A transferência do repositório foi bem sucedida.
settings.transfer_abort=Cancelar transferência
@ -2584,7 +2586,7 @@ issues.role.collaborator = Colaborador(a)
issues.label_archived_filter = Mostrar etiquetas arquivadas
pulls.status_checks_hide_all = Esconder todas as verificações
pulls.status_checks_show_all = Mostrar todas as verificações
pulls.cmd_instruction_hint = `Ver as <a class="show-instruction">instruções da linha de comando</a>.`
pulls.cmd_instruction_hint = `Ver as instruções da linha de comando.`
wiki.cancel = Cancelar
settings.unarchive.success = O repositório foi desarquivado.
settings.unarchive.button = Desarquivar repositório
@ -2592,13 +2594,13 @@ settings.unarchive.header = Desarquivar este repositório
diff.comment.add_line_comment = Adicionar comentário na linha
new_repo_helper = Um repositório contém todos os arquivos de projeto, incluindo o histórico de revisões. Já hospeda um repositório em outra plataforma? <a href="%s">Migrar repositório</a>
blame.ignore_revs.failed = Falha ao ignorar as revisões em <a href="%s">.git-blame-ignore-revs</a>.
migrate.forgejo.description = Migrar dados do codeberg.org ou outras instâncias Forgejo.
migrate.forgejo.description = Migrar dados do codeberg.org ou outras servidores Forgejo.
commits.browse_further = Ver mais
issues.role.first_time_contributor = Primeira vez contribuindo
issues.role.first_time_contributor_helper = Esta é a primeira contribuição deste usuário para o repositório.
issues.role.contributor = Contribuidor(a)
issues.role.member_helper = Este usuário é membro da organização proprietária deste repositório.
issues.role.collaborator_helper = Este usuário foi convidado para colaborar neste repositório.
issues.role.collaborator_helper = Este(a) usuário(a) foi convidado(a) para colaborar neste repositório.
pulls.cmd_instruction_checkout_title = Checkout
settings.wiki_globally_editable = Permitir que qualquer pessoa possa editar a wiki
settings.transfer_abort_success = A transferência de repositório para %s foi cancelada.
@ -2612,12 +2614,12 @@ admin.manage_flags = Gerenciar sinalizadores
admin.enabled_flags = Sinalizadores habilitados para o repositório:
admin.update_flags = Atualizar sinalizadores
admin.flags_replaced = Os sinalizadores do repositório foram substituídos
all_branches = Todas as branches
all_branches = Todos os ramos
fork_branch = Branch a ser clonada para o fork
object_format_helper = O formato utilizado para armazenar os objetos do repositório, sendo SHA1 o mais compatível. Esta ação é <strong>IRREVERSÍVEL</strong>.
object_format = Formato dos objetos
tree_path_not_found_branch = Caminho %[1]s não existe na branch %[2]s
tree_path_not_found_tag = Caminho %[1]s não existe na etiqueta %[2]s
tree_path_not_found_branch = O caminho %[1]s não existe no ramo %[2]s
tree_path_not_found_tag = O caminho %[1]s não existe na etiqueta %[2]s
commits.view_path = Ver neste ponto do histórico
commits.renamed_from = Renomeado de %s
admin.failed_to_replace_flags = Falha ao substituir os sinalizadores do repositório
@ -2639,7 +2641,7 @@ settings.units.units = Funcionalidades
vendored = Externo
issues.num_participants_one = %d participante
issues.archived_label_description = (arquivada) %s
n_branch_few = %s branches
n_branch_few = %s ramos
stars = Favoritos
n_commit_one = %s commit
n_tag_few = %s etiquetas
@ -3358,6 +3360,7 @@ dashboard.task.cancelled = Tarefa: %[1]s cancelada: %[3]s
dashboard.sync_branch.started = Sincronização de ramos iniciada
dashboard.sync_repo_branches = Sincronizar ramos perdidos do Git para o banco de dados
packages.cleanup.success = Os dados expirados foram limpos com sucesso
monitor.queue.activeworkers = Processos ativos
[action]
@ -3567,10 +3570,10 @@ settings.delete.notice=Você está prestes a excluir %s (%s). Esta operação é
settings.delete.success=O pacote foi excluído.
settings.delete.error=Falha ao excluir o pacote.
owner.settings.cargo.title=Índice do Registro Cargo
owner.settings.cargo.initialize=Iniciar Índice
owner.settings.cargo.initialize=Inicializar índice
owner.settings.cargo.initialize.error=Falha ao inicializar índice Cargo: %v
owner.settings.cargo.initialize.success=O índice Cargo foi criado com sucesso.
owner.settings.cargo.rebuild=Reconstruir Índice
owner.settings.cargo.rebuild=Reconstruir índice
owner.settings.cargo.rebuild.error=Falha ao reconstruir índice Cargo: %v
owner.settings.cargo.rebuild.success=O índice Cargo foi reconstruído com sucesso.
owner.settings.cleanuprules.title=Gerenciar Regras de Limpeza
@ -3613,7 +3616,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=Gerenciamento de Segredos
management=Gerenciar segredos
[actions]
actions=Ações
@ -3649,7 +3652,7 @@ runners.task_list.repository=Repositório
runners.task_list.commit=Commit
runners.task_list.done_at=Realizada em
runners.edit_runner=Editar Runner
runners.update_runner=Atualizar as Alterações
runners.update_runner=Salvar alterações
runners.update_runner_success=Runner atualizado com sucesso
runners.update_runner_failed=Falha ao atualizar runner
runners.delete_runner=Deletar esse runner
@ -3741,8 +3744,8 @@ match_tooltip = Inclui apenas os resultados que correspondem exatamente aos term
repo_kind = Buscar repositórios...
type_tooltip = Tipo de busca
code_search_by_git_grep = Os resultados atuais da pesquisa de código são fornecidos por "git grep". Pode haver melhores resultados se o administrador do site ativar o indexador de código.
branch_kind = Pesquisar branches…
commit_kind = Pesquisar commits…
branch_kind = Buscar ramos…
commit_kind = Buscar commits…
runner_kind = Pesquisar runners...
code_search_unavailable = A pesquisa de código não está disponível no momento. Entre em contato com o administrador do site.

View file

@ -158,6 +158,7 @@ filter.not_template = Não modelos
toggle_menu = Comutar menu
filter = Filtro
copy_generic = Copiar para a área de transferência
test = Testar
[aria]
navbar=Barra de navegação
@ -189,6 +190,8 @@ buttons.ref.tooltip=Referenciar uma questão ou um pedido de integração
buttons.switch_to_legacy.tooltip=Usar o editor clássico
buttons.enable_monospace_font=Habilitar tipo de letra mono-espaçado
buttons.disable_monospace_font=Desabilitar tipo de letra mono-espaçado
buttons.indent.tooltip = Empacotar itens num nível
buttons.unindent.tooltip = Desempacotar itens por um nível
[filter]
string.asc=A - Z
@ -245,7 +248,7 @@ err_admin_name_is_invalid=O nome de utilizador do administrador é inválido
general_title=Configurações gerais
app_name=Título do sítio
app_name_helper=Pode escrever aqui o nome da sua companhia.
app_name_helper=Escreva aqui o nome da sua instância. Será mostrado em todas as páginas.
repo_path=Localização dos repositórios
repo_path_helper=Os repositórios Git remotos serão guardados nesta pasta.
lfs_path=Localização do Git LFS
@ -461,6 +464,11 @@ change_unconfirmed_email_summary = Mudar o endereço de email para onde a mensag
tab_signin = Iniciar sessão
tab_signup = Criar conta
change_unconfirmed_email_error = Não foi possível mudar o endereço de email: %v
hint_login = Já tem uma conta? <a href="%s">Inicie a sessão agora!</a>
hint_register = Precisa de uma conta? <a href="%s">Faça uma inscrição agora.</a>
sign_up_button = Faça uma inscrição agora.
back_to_sign_in = Voltar ao iniciar a sessão
sign_in_openid = Prosseguir com OpenID
[mail]
view_it_on=Ver em %s
@ -477,7 +485,7 @@ activate_email=Valide o seu endereço de email
activate_email.title=%s, por favor valide o seu endereço de email
activate_email.text=Por favor clique na seguinte ligação para validar o seu endereço de email dentro de <b>%s</b>:
register_notify=Bem-vindo(a) ao Forgejo
register_notify_prev9=Bem-vindo(a) ao Forgejo
register_notify.title=%[1]s, bem-vindo(a) a %[2]s
register_notify.text_1=este é o seu email de confirmação de registo para %s!
register_notify.text_2=Pode iniciar a sessão usando o seu nome de utilizador: %s
@ -671,12 +679,20 @@ block = Bloquear
unblock = Desbloquear
followers_one = %d seguidor
following_one = %d seguindo
block_user.detail = Note que se bloquear este utilizador, serão executadas outras operações, tais como:
block_user.detail_1 = Está a deixar de ser seguido/a por este utilizador.
block_user.detail_2 = Este utilizador não pode interagir com os seus repositórios, questões criadas e comentários.
block_user.detail_3 = Este/a utilizador/a não o/a pode adicionar como colaborador/a nem você pode o/a adicionar como colaborador/a.
block_user.detail = Repare que bloquear um utilizador tem outros efeitos, tais como:
block_user.detail_1 = Irão deixar de seguir um ao outro e deixarão de poder seguir um ao outro.
block_user.detail_2 = Este/a utilizador/a deixará de poder interagir com os seus repositórios ou com as questões e comentários criados por si.
block_user.detail_3 = Não poderão adicionar um ao outro como colaboradores do repositório.
follow_blocked_user = Não pode seguir este/a utilizador/a porque você o/a bloqueou ou este/a utilizador/a bloqueou-o/a a si.
block_user = Bloquear utilizador
followers.title.one = Seguidor
followers.title.few = Seguidores
following.title.one = Seguindo
following.title.few = Seguindo
public_activity.visibility_hint.self_public = O seu trabalho está visível para todos, salvo o que é feito em espaços privados. <a href="%s">Configurar</a>.
public_activity.visibility_hint.admin_public = Este trabalho está visível para todos, mas como administrador/a pode também ver o que consta em espaços privados.
public_activity.visibility_hint.self_private = O seu trabalho apenas está visível para si e para os administradores da instância. <a href="%s">Configurar</a>.
public_activity.visibility_hint.admin_private = Este trabalho está visível para si porque é um/a administrador/a, mas o/a utilizador/a quer permanecer privado/a.
[settings]
profile=Perfil
@ -1004,6 +1020,7 @@ update_hints_success = As sugestões foram modificadas.
blocked_users_none = Não há utilizadores bloqueados.
user_unblock_success = O utilizador foi desbloqueado com sucesso.
language.title = Idioma predefinido
keep_activity_private.description = O seu <a href="%s">trabalho público</a> apenas estará visível para si e para os administradores da instância.
[repo]
new_repo_helper=Um repositório contém todos os ficheiros do trabalho, incluindo o histórico das revisões. Já tem um hospedado noutro sítio? <a href="%s">Migre o repositório</a>.
@ -1266,6 +1283,7 @@ view_git_blame=Ver git blame
video_not_supported_in_browser=O seu navegador não suporta a etiqueta "video" do HTML5.
audio_not_supported_in_browser=O seu navegador não suporta a etiqueta "audio" do HTML5.
stored_lfs=Armazenado com Git LFS
stored_annex=Armazenado com Git Annex
symbolic_link=Ligação simbólica
executable_file=Ficheiro executável
vendored=Externo
@ -1291,6 +1309,7 @@ editor.upload_file=Carregar ficheiro
editor.edit_file=Editar ficheiro
editor.preview_changes=Pré-visualizar modificações
editor.cannot_edit_lfs_files=Ficheiros LFS não podem ser editados na interface web.
editor.cannot_edit_annex_files=Ficheiros Annex não podem ser editados na interface web.
editor.cannot_edit_non_text_files=Ficheiros binários não podem ser editados na interface da web.
editor.edit_this_file=Editar ficheiro
editor.this_file_locked=Ficheiro bloqueado
@ -1887,7 +1906,7 @@ 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.cmd_instruction_hint=`Ver <a class="show-instruction">instruções para a linha de comandos</a>.`
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.
pulls.cmd_instruction_merge_title=Integrar
@ -2756,6 +2775,8 @@ settings.federation_following_repos = URLs de repositórios que estão a ser seg
settings.federation_not_enabled = A federação não está a habilitada na sua instância.
n_release_one = %s lançamento
n_release_few = %s lançamentos
issues.author.tooltip.issue = Este/a utilizador/a é o/a autor/a desta questão.
issues.author.tooltip.pr = Este/a utilizador/a é o/a autor/a deste pedido de integração.
[graphs]
component_loading=A carregar %s...
@ -3435,6 +3456,16 @@ config.open_with_editor_app_help = Os editores da opção "Abrir com" do menu da
config.allow_dots_in_usernames = Permitir que os utilizadores usem pontos no seu nome de utilizador. Não altera as contas existentes.
auths.default_domain_name = Nome de domínio predefinido usado para o endereço de email
config.app_slogan = Lema da instância
config.cache_test = Testar a cache
config.cache_test_slow = O teste da cache foi bem sucedido, mas a resposta é lenta: %s.
config.cache_test_succeeded = O teste da cache foi bem sucedido, o tempo de resposta foi de %s.
config.cache_test_failed = Falhou a sondagem da cache: %v.
users.block.description = Impedir que este utilizador interaja com este serviço através da sua conta e proibi-lo de iniciar sessão.
users.admin.description = Atribuir acesso total a este utilizador a todos os recursos administrativos disponíveis através da interface web e da API.
users.local_import.description = Permitir a importação de repositórios a partir do sistema de ficheiros local do servidor. Isto poderá ser um problema de segurança.
users.organization_creation.description = Permitir a criação de novas organizações.
users.activated.description = Finalização da verificação do email. O proprietário de uma conta não habilitada não poderá iniciar a sessão enquanto a verificação do email não estiver finalizada.
users.restricted.description = Permitir que este/a utilizador/a interaja apenas com os repositórios e as organizações onde tenha sido adicionado/a como colaborador/a. Isto impede o acesso a repositórios públicos nesta instância.
[action]
create_repo=criou o repositório <a href="%s">%s</a>
@ -3788,6 +3819,13 @@ runs.no_workflows.quick_start = Não sabe como começar com o Forgejo Action? Ve
runs.no_job_without_needs = A sequência de trabalho tem de conter pelo menos um trabalho sem dependências.
runs.workflow = Sequência de trabalho
runs.no_job = A sequência de trabalho tem de conter pelo menos um trabalho
workflow.dispatch.use_from = Usar sequência de trabalho de
workflow.dispatch.run = Executar sequência de trabalho
workflow.dispatch.input_required = Exigir valor para a entrada "%s".
workflow.dispatch.warn_input_limit = Apresentando apenas as %d primeiras entradas.
workflow.dispatch.trigger_found = Esta sequência de trabalho é despoletada pelo evento <c>workflow_dispatch</c>.
workflow.dispatch.success = A execução da sequência de trabalho foi pedida com sucesso.
workflow.dispatch.invalid_input_type = Tipo de entrada "%s" inválido.
[projects]
type-1.display_name=Planeamento individual
@ -3826,6 +3864,12 @@ user_kind = Pesquisar utilizadores...
team_kind = Pesquisar equipas...
code_kind = Pesquisar código...
code_search_unavailable = A pesquisa de código não está disponível, neste momento. Entre em contacto com o administrador.
exact = Fiel
exact_tooltip = Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
issue_kind = Procurar questões...
pull_kind = Procurar puxadas...
union = Palavras-chave
union_tooltip = Incluir resultados correspondentes a qualquer das palavras-chave separadas por espaços em branco
[munits.data]
kib = KiB
@ -3839,4 +3883,7 @@ b = B
[markup]
filepreview.lines = Linhas %[1]d até %[2]d em %[3]s
filepreview.line = Linha %[1]d em %[2]s
filepreview.truncated = A previsão foi truncada
filepreview.truncated = A previsão foi truncada
[translation_meta]
test = ok

View file

@ -152,12 +152,13 @@ filter.is_mirror = Зеркала
filter.is_template = Шаблоны
filter.not_template = Не шаблоны
filter.public = Публичные
filter.private = Приватные
filter.private = Частные
filter.is_archived = Архивированные
filter.not_mirror = Не зеркала
more_items = Больше элементов
invalid_data = Неверные данные: %v
copy_generic = Копировать в буфер обмена
test = Проверить
[aria]
navbar=Панель навигации
@ -189,6 +190,8 @@ buttons.ref.tooltip=Сослаться на задачу или запрос с
buttons.switch_to_legacy.tooltip=Использовать старый редактор
buttons.enable_monospace_font=Включить моноширинный шрифт
buttons.disable_monospace_font=Выключить моноширинный шрифт
buttons.unindent.tooltip = Уменьшить вложенность на 1
buttons.indent.tooltip = Увеличить вложенность на 1
[filter]
string.asc=A - Я
@ -291,7 +294,7 @@ enable_captcha=CAPTCHA для регистрации
enable_captcha.description=Требовать прохождение CAPTCHA для регистрации учётных записей.
require_sign_in_view=Требовать авторизацию для просмотра содержимого
require_sign_in_view.description=Требовать наличие учётной записи для просмотра содержимого сервера. Посетители увидят лишь страницы входа и регистрации.
admin_setting.description=Создание учётной записи администратора необязательно. Первый зарегистрированный пользователь автоматически становится администратором.
admin_setting.description=Создание учётной записи администратора необязательно. Первый зарегистрировавшийся пользователь автоматически станет администратором.
admin_title=Учётная запись администратора
admin_name=Логин администратора
admin_password=Пароль
@ -335,7 +338,7 @@ app_slogan_helper = Укажите лозунг вашего сервера, л
[home]
uname_holder=Логин или адрес эл. почты
password_holder=Пароль
switch_dashboard_context=Переключить контекст панели управления
switch_dashboard_context=Сменить просматриваемое пространство
my_repos=Репозитории
show_more_repos=Показать больше репозиториев…
collaborative_repos=Совместные репозитории
@ -352,7 +355,7 @@ show_both_archived_unarchived=Показаны архивированные и
show_only_archived=Показаны только архивированные
show_only_unarchived=Показаны только разархивированные
show_private=Приватный
show_private=Частные
show_both_private_public=Показаны как публичные, так и частные
show_only_private=Показаны только приватные
show_only_public=Показаны только публичные
@ -394,7 +397,7 @@ disable_register_mail=Подтверждение регистрации по э
manual_activation_only=Обратитесь к администратору сайта для завершения активации.
remember_me=Запомнить это устройство
remember_me.compromised=Токен входа более не действителен, что может указывать на компрометацию учётной записи. Пожалуйста, проверьте свою учётную запись на необычные действия.
forgot_password_title=Восстановить пароль
forgot_password_title=Восстановление пароля
forgot_password=Забыли пароль?
sign_up_now=Нужна учётная запись? Зарегистрируйтесь.
sign_up_successful=Учётная запись успешно создана. Добро пожаловать!
@ -402,7 +405,7 @@ confirmation_mail_sent_prompt=Новое письмо для подтвержд
must_change_password=Обновите пароль
allow_password_change=Требовать смену пароля пользователем (рекомендуется)
reset_password_mail_sent_prompt=Письмо с подтверждением отправлено на <b>%s</b>. Пожалуйста, проверьте входящую почту в течение %s, чтобы завершить процесс восстановления учётной записи.
active_your_account=Активируйте свою учётную запись
active_your_account=Активация учётной записи
account_activated=Учётная запись активирована
prohibit_login=Вход запрещён
prohibit_login_desc=Вход в вашу учётную запись запрещен. Свяжитесь с администратором сайта.
@ -410,7 +413,7 @@ resent_limit_prompt=Недавно вы уже запрашивали письм
has_unconfirmed_mail=Здравствуйте, %s! У вас есть неподтвержденный адрес эл. почты (<b>%s</b>). Если вам не приходило письмо с подтверждением или нужно выслать новое письмо, нажмите на кнопку ниже.
resend_mail=Нажмите здесь, чтобы отправить письмо для активации ещё раз
email_not_associate=Этот адрес эл. почты не связан ни с одной учётной записью.
send_reset_mail=Отправить письмо для восстановления учётной записи
send_reset_mail=Отправить восстановление пароля
reset_password=Восстановление учётной записи
invalid_code=Код подтверждения недействителен или истёк.
invalid_code_forgot_password=Ваш код подтверждения недействителен или истек. Нажмите <a href="%s">здесь</a> для начала новой сессии.
@ -430,9 +433,9 @@ tab_signin = Войти
tab_signup = Зарегистрироваться
tab_openid=OpenID
oauth_signup_tab=Зарегистрировать новую учётную запись
oauth_signup_title=Полная новая учётная запись
oauth_signup_submit=Полная учётная запись
oauth_signin_tab=Ссылка на существующую учётную запись
oauth_signup_title=Завершение регистрации учётной записи
oauth_signup_submit=Завершить регистрацию
oauth_signin_tab=Привязать существующую уч. запись
oauth_signin_title=Войдите, чтобы авторизовать связанную учётную запись
oauth_signin_submit=Привязать учётную запись
oauth.signin.error=Произошла ошибка при обработке запроса авторизации. Если эта ошибка повторяется, обратитесь к администратору сайта.
@ -461,6 +464,11 @@ change_unconfirmed_email_summary = Измените адрес эл. почты,
change_unconfirmed_email_error = Невозможно изменить адрес почты: %v
last_admin = Невозможно удалить единственного администратора. Всегда должен оставаться хотя бы один администратор.
change_unconfirmed_email = Если при регистрации был введён неправильный адрес, его можно изменить ниже, и письмо с подтверждением будет выслано на исправленный адрес.
hint_register = Нет учётной записи? <a href="%s">Зарегистрируйтесь.</a>
sign_up_button = Зарегистрироваться.
back_to_sign_in = Назад ко входу
sign_in_openid = Продолжить с OpenID
hint_login = Уже есть учётная запись? <a href="%s">Войдите!</a>
[mail]
view_it_on=Посмотреть на %s
@ -477,7 +485,7 @@ activate_email=Подтвердите свой адрес эл. почты
activate_email.title=%s, пожалуйста, подтвердите свой адрес эл. почты
activate_email.text=Для подтверждения эл. почты перейдите по следующей ссылке в течение <b>%s</b>:
register_notify=Добро пожаловать в Forgejo
register_notify_prev9=Добро пожаловать в Forgejo
register_notify.title=%[1]s, добро пожаловать в %[2]s
register_notify.text_1=это письмо с вашим подтверждением регистрации в %s!
register_notify.text_2=Теперь вы можете войти в учётную запись, используя логин: %s
@ -696,7 +704,7 @@ avatar=Аватар
ssh_gpg_keys=Ключи SSH / GPG
social=Учётные записи в соцсетях
applications=Приложения
orgs=Управление организациями
orgs=Организации
repos=Репозитории
delete=Удалить учётную запись
twofa=Двухфакторная аутентификация (TOTP)
@ -707,7 +715,7 @@ webauthn=Двухфакторная аутентификация (ключами
public_profile=Публичный профиль
biography_placeholder=Расскажите немного о себе! (Можно использовать Markdown)
location_placeholder=Поделитесь своим приблизительным местоположением с другими
location_placeholder=Пусть все знают, откуда вы
profile_desc=Как ваш профиль будет отображаться для других пользователей. Ваш основной адрес эл. почты будет использоваться для уведомлений, восстановления пароля и веб-операций с Git.
password_username_disabled=Нелокальным пользователям запрещено изменение их имени пользователя. Для получения более подробной информации обратитесь к администратору сайта.
full_name=Полное имя
@ -745,7 +753,7 @@ comment_type_group_pull_request_push=Добавленные коммиты
comment_type_group_project=Проект
comment_type_group_issue_ref=Ссылка на задачу
saved_successfully=Ваши настройки успешно сохранены.
privacy=Приватность
privacy=Конфиденциальность
keep_activity_private=Скрыть активность со страницы профиля
keep_activity_private_popup=Ваша активность будет видна только вам и администраторам сервера
@ -770,8 +778,8 @@ password_change_disabled=Нелокальные учётные записи не
emails=Адреса эл. почты
manage_emails=Управление адресами эл. почты
manage_themes=Выберите тему по умолчанию
manage_openid=Управление адресами OpenID
manage_themes=Тема по умолчанию
manage_openid=Адреса OpenID
email_desc=Ваш основной адрес эл. почты будет использоваться для уведомлений, восстановления пароля и, если он не скрыт, для действий с Git в веб-интерфейсе.
theme_desc=Это будет темой по умолчанию для всего сайта.
primary=Основной
@ -779,7 +787,7 @@ activated=Активирован
requires_activation=Требуется активация
primary_email=Сделать основным
activate_email=Отправить активацию
activations_pending=Ожидает активации
activations_pending=Ожидают активации
can_not_add_email_activations_pending=Ожидается активация. Если хотите добавить новый почтовый ящик, попробуйте еще раз через несколько минут.
delete_email=Удалить
email_deletion=Удалить адрес эл. почты
@ -791,7 +799,7 @@ openid_deletion=Удалить OpenID URI
openid_deletion_desc=После удаления адреса OpenID вы не сможете войти в вашу учётную запись с его помощью. Вы уверены?
openid_deletion_success=Адрес OpenID удален.
add_new_email=Добавить адрес эл. почты
add_new_openid=Добавить новый OpenID URI
add_new_openid=Добавить новый URI OpenID
add_email=Добавить адрес эл. почты
add_openid=Добавить адрес OpenID
add_email_confirmation_sent=Письмо для подтверждения отправлено на «%s». Пожалуйста, проверьте ваш почтовый ящик в течение %s, чтобы завершить процесс подтверждения.
@ -881,7 +889,7 @@ social_desc=Эти учётные записи социальных сетей
unbind=Удалить связь
unbind_success=Учётная запись социальной сети успешно удалена.
manage_access_token=Управление токенами
manage_access_token=Токены доступа
generate_new_token=Создать новый токен
tokens_desc=Эти токены предоставляют доступ к вашей учётной записи с помощью Forgejo API.
token_name=Имя токена
@ -916,7 +924,7 @@ create_oauth2_application_button=Создать приложение
create_oauth2_application_success=Вы успешно создали новое приложение OAuth2.
update_oauth2_application_success=Изменения настроек приложения OAuth2 успешно применены.
oauth2_application_name=Имя приложения
oauth2_redirect_uris=URI для перенаправления. Используйте новую строку для каждого URI.
oauth2_redirect_uris=URI перенаправлений. Размещайте URI на отдельных строках.
save_application=Сохранить
oauth2_client_id=ИД клиента
oauth2_client_secret=Клиентский ключ
@ -959,11 +967,11 @@ webauthn_delete_key=Удалить ключ безопасности
webauthn_delete_key_desc=Если удалить ключ безопасности, его больше не выйдет использовать для входа. Продолжить?
webauthn_key_loss_warning=Потеря ключей безопасности приведёт к утрате доступа к учётной записи.
manage_account_links=Управление привязанными учётными записями
manage_account_links=Привязанные учетные записи
manage_account_links_desc=Эти сторонние учётные записи привязаны к вашей учётной записи Forgejo.
account_links_not_available=У вас нет привязанных сторонних учётных записей.
link_account=Привязать учётную запись
remove_account_link=Удалить привязанный аккаунт
remove_account_link=Удалить привязанную учётную запись
remove_account_link_desc=Удаление привязанной учётной записи отменит её доступ к вашей учётной записи Forgejo. Продолжить?
remove_account_link_success=Привязанная учётная запись удалена.
@ -972,7 +980,7 @@ orgs_none=Вы не состоите ни в одной организации.
repos_none=Вы не владеете ни одним репозиторием.
delete_account=Удаление учётной записи
delete_prompt=Эта операция навсегда удалит вашу учётную запись. Это <strong>НЕВОЗМОЖНО</strong> будет отменить.
delete_prompt=Эта операция навсегда удалит вашу учётную запись. Её <strong>НЕВОЗМОЖНО</strong> отменить.
delete_with_all_comments=Ваша учётная запись младше %s. Чтобы избежать комментариев к плану, все комментарии к ней будут удалены.
confirm_delete_account=Подтвердить удаление
delete_account_title=Удалить эту учётную запись
@ -984,13 +992,13 @@ email_notifications.disable=Отключить уведомления по по
email_notifications.submit=Задать настройку уведомлений
email_notifications.andyourown=И ваши собственные уведомления
visibility=Видимость пользователя
visibility=Видимость профиля
visibility.public=Публичный
visibility.public_tooltip=Видимый для всех
visibility.public_tooltip=Виден всем, кто может открыть этот сайт
visibility.limited=Ограниченный
visibility.limited_tooltip=Виден только выполнившим вход пользователям
visibility.private=Приватный
visibility.private_tooltip=Видно только участникам организаций, к которым вы присоединились
visibility.limited_tooltip=Виден только зарегистрированным пользователям сайта
visibility.private=Частный
visibility.private_tooltip=Виден только участникам организаций, в которых вы состоите
blocked_users_none = Заблокированных пользователей нет.
user_block_success = Пользователь заблокирован.
oauth2_application_locked = Forgejo предварительно регистрирует некоторые приложения OAuth2 при запуске, если это включено в конфигурации. Для избежания неожиданного поведения их нельзя удалять или редактировать. Ознакомиться с подробностями можно в документации OAuth2.
@ -1012,6 +1020,9 @@ pronouns_custom = Другие
pronouns = Местоимения
pronouns_unspecified = Не указаны
language.title = Язык по умолчанию
keep_activity_private.description = Ваша <a href="%s">публичная активность</a> будет видна только вам и администраторам сервера.
language.description = Выбранный язык будет сохранён в вашей уч. записи и будет использован по умолчанию после входа.
language.localization_project = Помогите с переводом Forgejo на свой язык! <a href="%s">Подробнее</a>.
[repo]
owner=Владелец
@ -1109,7 +1120,7 @@ transfer.accept_desc=Переместить в «%s»
transfer.reject=Отказаться от передачи
transfer.reject_desc=Отменить перемещение в «%s»
desc.private=Приватный
desc.private=Частный
desc.public=Публичный
desc.template=Шаблон
desc.internal=Внутренний
@ -1257,6 +1268,7 @@ view_git_blame=Показать git blame
video_not_supported_in_browser=Ваш браузер не поддерживает тэг HTML5 «video».
audio_not_supported_in_browser=Ваш браузер не поддерживает тэг HTML5 «audio».
stored_lfs=Хранится Git LFS
stored_annex=Хранится Git Annex
symbolic_link=Символическая ссылка
executable_file=Исполняемый файл
commit_graph=Граф коммитов
@ -1280,6 +1292,7 @@ editor.upload_file=Загрузить файл
editor.edit_file=Редактировать файл
editor.preview_changes=Просмотр изменений
editor.cannot_edit_lfs_files=LFS файлы невозможно редактировать в веб-интерфейсе.
editor.cannot_edit_annex_files=Annex файлы невозможно редактировать в веб-интерфейсе.
editor.cannot_edit_non_text_files=Двоичные файлы нельзя редактировать в веб-интерфейсе.
editor.edit_this_file=Редактировать файл
editor.this_file_locked=Файл заблокирован
@ -1298,10 +1311,10 @@ editor.add_tmpl=Добавить «<filename>»
editor.add=Добавить %s
editor.update=Обновить %s
editor.delete=Удалить %s
editor.patch=Применить патч
editor.patch=Применить правку
editor.patching=Исправление:
editor.fail_to_apply_patch=Невозможно применить патч «%s»
editor.new_patch=Новый патч
editor.new_patch=Новая правка
editor.commit_message_desc=Добавьте необязательное расширенное описание…
editor.signoff_desc=Добавить трейлер Signed-off-by с автором коммита в конце сообщения коммита.
editor.commit_directly_to_this_branch=Сделайте коммит напрямую в ветку <strong class="branch-name">%s</strong>.
@ -1329,7 +1342,7 @@ editor.fail_to_update_file=Не удалось обновить/создать
editor.fail_to_update_file_summary=Ошибка:
editor.push_rejected_no_message=Изменение отклонено сервером без сообщения. Пожалуйста, проверьте Git-хуки.
editor.push_rejected=Изменение отклонено сервером. Пожалуйста, проверьте Git-хуки.
editor.push_rejected_summary=Полное сообщение об отклонении:
editor.push_rejected_summary=Причина отклонения:
editor.add_subdir=Добавить каталог…
editor.unable_to_upload_files=Не удалось загрузить файлы в «%s» из-за ошибки: %v
editor.upload_file_is_locked=Файл «%s» заблокирован %s.
@ -1423,25 +1436,25 @@ issues.filter_milestones=Фильтр этапов
issues.filter_projects=Фильтровать проекты
issues.filter_labels=Фильтр меток
issues.filter_reviewers=Фильтр рецензентов
issues.new=Добавить задачу
issues.new=Создать задачу
issues.new.title_empty=Заголовок не может быть пустым
issues.new.labels=Метки
issues.new.no_label=Нет меток
issues.new.clear_labels=Очистить метки
issues.new.projects=Проекты
issues.new.clear_projects=Очистить проекты
issues.new.clear_projects=Удалить из проектов
issues.new.no_projects=Нет проекта
issues.new.open_projects=Открытые проекты
issues.new.closed_projects=Закрытые проекты
issues.new.no_items=Нет элементов
issues.new.milestone=Этап
issues.new.no_milestone=Нет этапа
issues.new.clear_milestone=Очистить этап
issues.new.clear_milestone=Удалить из этапа
issues.new.open_milestone=Открытые этапы
issues.new.closed_milestone=Завершённые этапы
issues.new.assignees=Назначенные
issues.new.clear_assignees=Убрать ответственных
issues.new.no_assignees=Нет назначенных лиц
issues.new.clear_assignees=Снять назначения
issues.new.no_assignees=Нет назначенных
issues.new.no_reviewers=Нет рецензентов
issues.choose.get_started=Начать
issues.choose.open_external_link=Открыть
@ -1449,7 +1462,7 @@ issues.choose.blank=По умолчанию
issues.choose.blank_about=Создать запрос из шаблона по умолчанию.
issues.choose.ignore_invalid_templates=Некорректные шаблоны были проигнорированы
issues.choose.invalid_templates=Найден(ы) %v неверный(х) шаблон(ов)
issues.choose.invalid_config=Конфигурация задачи содержит ошибки:
issues.choose.invalid_config=Ошибки в конфигурации задачи:
issues.no_ref=Нет связанной ветки или тега
issues.create=Создать задачу
issues.new_label=Новая метка
@ -1494,7 +1507,7 @@ issues.filter_milestone_open=Открытые этапы
issues.filter_milestone_closed=Завершённые этапы
issues.filter_project=Проект
issues.filter_project_all=Все проекты
issues.filter_project_none=Нет проекта
issues.filter_project_none=Без проекта
issues.filter_assignee=Назначено
issues.filter_assginee_no_select=Все назначения
issues.filter_assginee_no_assignee=Нет ответственного
@ -1525,9 +1538,9 @@ issues.action_open=Открыть
issues.action_close=Закрыть
issues.action_label=Метка
issues.action_milestone=Этап
issues.action_milestone_no_select=Нет этапа
issues.action_assignee=Ответственный
issues.action_assignee_no_select=Нет ответственного
issues.action_milestone_no_select=Без этапа
issues.action_assignee=Назначенный
issues.action_assignee_no_select=Без назначенного
issues.action_check=Выбрать/отменить выбор
issues.action_check_all=Выбрать/отменить выбор всех элементов
issues.opened_by=открыта %[1]s <a href="%[2]s">%[3]s</a>
@ -1563,8 +1576,8 @@ issues.reopened_at=`задача была открыта снова <a id="%[1]s
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.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.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`
@ -1756,7 +1769,7 @@ pulls.desc=Включить запросы на слияние и проверк
pulls.new=Создать запрос
pulls.view=Просмотр запроса на слияние
pulls.compare_changes=Новый запрос на слияние
pulls.allow_edits_from_maintainers=Разрешить редактирование сопровождающими
pulls.allow_edits_from_maintainers=Разрешить правки от сопровождающих
pulls.allow_edits_from_maintainers_desc=Пользователи с доступом на запись в основную ветку могут отправлять изменения и в эту ветку
pulls.allow_edits_from_maintainers_err=Не удалось обновить
pulls.compare_changes_desc=Сравнить две ветки и создать запрос на слияние для изменений.
@ -1866,7 +1879,7 @@ pulls.outdated_with_base_branch=Эта ветка отстает от базов
pulls.close=Закрыть запрос на слияние
pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`переоткрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=`Показать <a class="show-instruction">инструкции для командной строки</a>.`
pulls.cmd_instruction_hint=Показать инструкции для командной строки
pulls.cmd_instruction_merge_title=Слейте изменения
pulls.cmd_instruction_merge_desc=Слейте изменения и отправьте их обратно.
pulls.clear_merge_message=Очистить сообщение о слиянии
@ -2087,13 +2100,13 @@ settings.use_internal_wiki=Использовать встроенную вик
settings.use_external_wiki=Использовать внешнюю вики
settings.external_wiki_url=Ссылка на внешнюю вики
settings.external_wiki_url_error=URL внешней вики не является корректным URL.
settings.external_wiki_url_desc=Посетители будут перенаправлены на URL, когда они кликнут по вкладке.
settings.external_wiki_url_desc=Посетители будут перенаправлены по указанному адресу вики при открытии вкладки.
settings.issues_desc=Включить систему задач
settings.use_internal_issue_tracker=Использовать встроенную систему задач
settings.use_external_issue_tracker=Использовать внешнюю систему задач
settings.external_tracker_url=Ссылка на внешнюю систему отслеживания задач
settings.external_tracker_url_error=URL внешнего баг-трекера не является корректным URL.
settings.external_tracker_url_desc=Посетители будут перенаправлены на URL, когда они кликнут по вкладке.
settings.external_tracker_url_desc=Посетители будут перенаправлены по указанному адресу трекера задач при открытии вкладки.
settings.tracker_url_format=Формат ссылки внешней системы отслеживания задач
settings.tracker_url_format_error=Формат URL внешнего баг-трекера некорректен.
settings.tracker_issue_style=Формат нумерации во внешней системе задач
@ -2447,7 +2460,7 @@ settings.lfs_locks_no_locks=Нет блокировки
settings.lfs_lock_file_no_exist=Заблокированный файл не существует в ветке по умолчанию
settings.lfs_force_unlock=Принудительная разблокировка
settings.lfs_pointers.found=Найдено %d указатель(ей) блоков - присоединено %d, %d не привязано (%d отсутствует в хранилище)
settings.lfs_pointers.sha=Blob SHA
settings.lfs_pointers.sha=Хеш blob'а
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=В репозитории
settings.lfs_pointers.exists=Существуют в хранилище
@ -2611,7 +2624,7 @@ topic.done=Сохранить
topic.count_prompt=Нельзя выбрать более 25 тем
topic.format_prompt=Темы должны начинаться с буквы или цифры и могут содержать дефисы («-») и точки («.»). Длина темы не должна превышать 35 символов. Все буквы должны быть строчными.
find_file.go_to_file=Перейти к файлу
find_file.go_to_file=Найти файл
find_file.no_matching=Совпадающих файлов не найдено
error.csv.too_large=Не удается отобразить этот файл, потому что он слишком большой.
@ -2647,7 +2660,7 @@ archive.title = Этот репозиторий архивирован. Вы м
archive.title_date = С %s этот репозиторий архивирован. Вы можете просматривать его содержимое или клонировать, но не добавлять новые комиты, открывать задачи или запросы на слияние.
migrate.forgejo.description = Перенести данные с codeberg.org или другого сервера Forgejo.
generated = Сгенерированный
pulls.review_only_possible_for_full_diff = Отзыв возможен только при просмотре всех различий
pulls.review_only_possible_for_full_diff = Оставить отзыв можно только при просмотре всех различий
diff.comment.add_line_comment = Добавить комментарий к строке
tree_path_not_found_tag = Путь %[1]s отсутствует в теге %[2]s
migrate_options_lfs_endpoint.placeholder = Если не заполнено, конечная точка будет определена из URL клонирования
@ -2767,6 +2780,9 @@ n_release_one = %s выпуск
n_release_few = %s выпусков
subscribe.issue.guest.tooltip = Войдите, чтобы подписаться на эту задачу.
subscribe.pull.guest.tooltip = Войдите, чтобы подписаться на это слияние.
issues.author.tooltip.issue = Автор этой задачи.
issues.author.tooltip.pr = Автор этого запроса слияния.
activity.commit = Кол-во коммитов
[graphs]
@ -3018,14 +3034,14 @@ users.update_profile_success=Профиль учётной записи обно
users.edit_account=Изменение учётной записи
users.max_repo_creation=Ограничение количества репозиториев
users.max_repo_creation_desc=(Установите -1 для использования стандартного глобального значения предела)
users.is_activated=Эта учётная запись активирована
users.prohibit_login=Вход запрещён
users.is_admin=Является администратором
users.is_restricted=Ограниченная
users.allow_git_hook=Может создавать Git-хуки
users.is_activated=Подтверждённая уч. запись
users.prohibit_login=Замороженная уч. запись
users.is_admin=Уч. запись администратора
users.is_restricted=Ограниченная уч. запись
users.allow_git_hook=Разрешено создание Git-хуков
users.allow_git_hook_tooltip=Git hooks выполняются от пользователя ОС, под которым работает Forgejo. Они будут иметь такой же доступ к хосту. Из-за этого пользователи с правами на Git hook будут иметь возможность получать доступ и модифицировать все репозитории в Forgejo, а также базу данных Forgejo. Следовательно, они также могут получить права администратора Forgejo.
users.allow_import_local=Может импортировать локальные репозитории
users.allow_create_organization=Может создавать организации
users.allow_import_local=Разрешён импорт локальных репозиториев
users.allow_create_organization=Разрешено создание организаций
users.update_profile=Обновить учётную запись
users.delete_account=Удалить эту учётную запись
users.cannot_delete_self=Вы не можете удалить свою учётную запись
@ -3071,7 +3087,7 @@ orgs.new_orga=Новая организация
repos.repo_manage_panel=Управление репозиториями
repos.unadopted=Непринятые репозитории
repos.unadopted.no_more=Больше непринятых репозиториев не найдено
repos.unadopted.no_more=Непринятые репозитории не найдены.
repos.owner=Владелец
repos.name=Название
repos.private=Частный
@ -3401,7 +3417,7 @@ notices.system_notice_list=Системные оповещения
notices.view_detail_header=Подробности уведомления
notices.operations=Операции
notices.select_all=Выбрать всё
notices.deselect_all=Отменить выделение
notices.deselect_all=Снять выделение
notices.inverse_selection=Инверсия выделения
notices.delete_selected=Удалить выбранные
notices.delete_all=Удалить все уведомления
@ -3438,6 +3454,16 @@ auths.tip.gitlab_new = Создайте новое приложение в https
monitor.queue.review_add = Подробности / добавить обработчики
auths.default_domain_name = Домен по умолчанию для адресов эл. почты
config.app_slogan = Лозунг сервера
config.cache_test = Проверить кэш
config.cache_test_slow = Кэш проверен успешно, но ответ был медленным: %s.
config.cache_test_failed = Не удалось проверить кэш: %v.
config.cache_test_succeeded = Кэш был проверен успешно, ответ получен за %v.
users.activated.description = Подтверждение учётной записи по эл. почте. Пользователь неподтверждённой уч. записи не сможет войти, не выполнив подтверждение.
users.block.description = Заблокировать учётную запись, чтобы препятствовать её использованию и запретить вход.
users.organization_creation.description = Разрешить создание новых организаций на сервере.
users.local_import.description = Разрешить импортировать репозитории из локальной ФС сервера. Это может нести угрозу безопасности.
users.admin.description = Предоставить полный доступ к административному функционалу веб-интерфейса и API.
users.restricted.description = Разрешить взаимодействие с лишь репозиториями и организациями, в которых этот пользователь состоит в качестве соучастника. Предотвращает доступ к публичным репозиториям на этом сервере.
[action]
@ -3503,7 +3529,7 @@ pib = ПиБ
eib = ЭиБ
[dropzone]
default_message=Перетащите файл или кликните сюда для загрузки.
default_message=Перетащите сюда файлы или нажмите для загрузки.
invalid_input_type=Вы не можете загружать файлы этого типа.
file_too_big=Размер файла ({{filesize}} МБ) больше чем максимальный размер ({{maxFilesize}} МБ).
remove_file=Удалить файл
@ -3525,7 +3551,7 @@ no_subscriptions=Нет подписок
[gpg]
default_key=Подписано ключом по умолчанию
error.extract_sign=Не удалось извлечь подпись
error.generate_hash=Не удалось создать хэш коммита
error.generate_hash=Не удалось создать хеш коммита
error.no_committer_account=Учётная запись с эл. почтой этого коммитера не найдена
error.no_gpg_keys_found=Не найден ключ, соответствующий данной подписи
error.not_signed_commit=Неподписанный коммит
@ -3803,6 +3829,13 @@ runs.status_no_select = Любое состояние
runs.no_matching_online_runner_helper = Нет работающего исполнителя с меткой: %s
runs.no_job_without_needs = Рабочий поток должен содержать хотя бы одну задачу без зависимостей.
runs.no_job = Рабочий поток должен включать хотя бы одну задачу
workflow.dispatch.trigger_found = Этот рабочий поток срабатывает на события <c>workflow_dispatch</c>.
workflow.dispatch.use_from = Использовать рабочий поток из
workflow.dispatch.run = Выполнить рабочий поток
workflow.dispatch.success = Выполнение рабочего потока запрошено успешно.
workflow.dispatch.input_required = Требовать значение для поля «%s».
workflow.dispatch.invalid_input_type = Неизвестный тип поля «%s».
workflow.dispatch.warn_input_limit = Отображаются только первые %d полей.
[projects]
type-1.display_name=Индивидуальный проект
@ -3832,7 +3865,7 @@ recent_commits.what = недавние коммиты
[search]
search = Поиск...
fuzzy_tooltip = Включать результаты, достаточно похожие на запрос
fuzzy_tooltip = Включает результаты, достаточно похожие на запрос, даже при наличии неточностей
type_tooltip = Тип поиска
fuzzy = Приблизительный
match = Точный
@ -3852,12 +3885,17 @@ code_search_unavailable = Поиск по коду сейчас недоступ
runner_kind = Поиск исполнителей...
code_search_by_git_grep = Эти результаты получены через «git grep». Результатов может быть больше, если администратор сервера включит индексатор кода.
exact = Точный
exact_tooltip = Включать только результаты, точно соответствующие запросу
exact_tooltip = Включает только результаты, в точности соответствующие запросу
issue_kind = Поиск задач...
pull_kind = Поиск слияний...
union_tooltip = Включает результаты с совпавшими ключевыми словами, разделёнными пробелами
union = Обычный
[markup]
filepreview.line = Строка %[1]d в %[2]s
filepreview.lines = Строки с %[1]d по %[2]d в %[3]s
filepreview.truncated = Предпросмотр был обрезан
filepreview.truncated = Предпросмотр был обрезан
[translation_meta]
test = хи-хи

View file

@ -324,7 +324,7 @@ activate_account.text_2=<b>%s</b>තුළ ඔබගේ ගිණුම සක
activate_email=ඔබගේ විද්යුත් තැපැල් ලිපිනය සත්යාපනය කරන්න
activate_email.text=තුළ ඔබගේ විද්යුත් තැපැල් ලිපිනය සත්යාපනය කිරීමට පහත සබැඳිය ක්ලික් කරන්න <b>%s</b>:
register_notify=ගිටියා වෙත සාදරයෙන් පිළිගනිමු
register_notify_prev9=ගිටියා වෙත සාදරයෙන් පිළිගනිමු
register_notify.title=%[1]s, %[2]s වෙත සාදරයෙන් පිළිගනිමු
register_notify.text_1=මෙය %sසඳහා ඔබගේ ලියාපදිංචි තහවුරු කිරීමේ විද්යුත් තැපෑලයි!
register_notify.text_2=ඔබට දැන් පරිශීලක නාමය හරහා පිවිසිය හැකිය: %s.
@ -890,6 +890,7 @@ file_copy_permalink=පිටපත් මාමලින්ක්
video_not_supported_in_browser=ඔබගේ බ්රව්සරය HTML5 'වීඩියෝ' ටැගය සඳහා සහය නොදක්වයි.
audio_not_supported_in_browser=ඔබගේ බ්රව්සරය HTML5 'ශ්රව්ය' ටැගය සඳහා සහය නොදක්වයි.
stored_lfs=Git LFS සමඟ ගබඩා
stored_annex=Git Annex සමඟ ගබඩා
symbolic_link=සංකේතාත්මක සබැඳිය
commit_graph=ප්රස්තාරය කැප
commit_graph.select=ශාඛා තෝරන්න
@ -907,6 +908,7 @@ editor.upload_file=ගොනුව උඩුගත කරන්න
editor.edit_file=ගොනුව සංස්කරණය
editor.preview_changes=වෙනස්කම් පෙරදසුන
editor.cannot_edit_lfs_files=LFS ගොනු වෙබ් අතුරු මුහුණත තුළ සංස්කරණය කළ නොහැක.
editor.cannot_edit_annex_files=Annex ගොනු වෙබ් අතුරු මුහුණත තුළ සංස්කරණය කළ නොහැක.
editor.cannot_edit_non_text_files=ද්විමය ගොනු වෙබ් අතුරු මුහුණත තුළ සංස්කරණය කළ නොහැක.
editor.edit_this_file=ගොනුව සංස්කරණය
editor.this_file_locked=ගොනුවට අගුළු ලා ඇත

View file

@ -425,7 +425,7 @@ activate_account.text_2=Pre aktiváciu vašeho účtu kliknite, prosím, na nasl
activate_email=Overte svoju e-mailovú adresu
activate_email.text=Pre overenie vašej e-mailovej adresy kliknite, prosím, na nasledovný odkaz do <b>%s</b>:
register_notify=Vitajte v Forgejo
register_notify_prev9=Vitajte v Forgejo
register_notify.title=%[1]s, vitajte v %[2]s
register_notify.text_1=toto je e-mail potvrdzujúci vašu registráciu pre %s!
register_notify.text_2=Teraz sa môžete prihlásiť s používateľským menom: %s.
@ -1011,6 +1011,7 @@ view_git_blame=Zobraziť Git Blame
video_not_supported_in_browser=Váš prehliadač nepodporuje HTML5 tag 'video'.
audio_not_supported_in_browser=Váš prehliadač nepodporuje HTML5 tag 'audio'.
stored_lfs=Uložené pomocou Git LFS
stored_annex=Uložené pomocou Git Annex
symbolic_link=Symbolický odkaz
commit_graph=Graf commitov
line=riadok

View file

@ -537,7 +537,7 @@ activate_account.text_1 = Pozdravljeni <b>%[1]s</b>, hvala za registracijo na %[
admin.new_user.subject = Prijavil se je nov uporabnik %s
admin.new_user.user_info = Informacije o uporabniku
admin.new_user.text = Prosimo, da <a href="%s">klikni tukaj</a> za upravljanje tega uporabnika iz upraviteljske plošče.
register_notify = Dobrodošli v Forgejo
register_notify_prev9 = Dobrodošli v Forgejo
register_notify.title = %[1]s, dobrodošli v %[2]s
register_notify.text_2 = V svoj račun se lahko prijavite z uporabniškim imenom: %s
register_notify.text_3 = Če je ta račun namesto vas ustvaril nekdo drug, boste morali najprej <a href="%s">nastaviti svoje geslo</a>.

View file

@ -0,0 +1,732 @@
[common]
home=Почетна
dashboard=Контролни панел
explore=Преглед
help=Помоћ
sign_in=Пријавите Се
sign_out=Одјава
register=Регистрација
website=Веб-страница
version=Верзија
page=Страница
template=Шаблон
language=Језик
signed_in_as=Пријављени сте као
username=Корисничко име
password=Лозинка
repository=Спремиште
organization=Организација
mirror=Огледало
new_repo=Ново спремиште
new_migrate=Нова миграција
new_mirror=Ново огледало
new_org=Нова организација
manage_org=Управљање организацијама
account_settings=Подешавања налога
settings=Подешавања
activities=Активности
pull_requests=Захтеви за спајање
issues=Дискусије
cancel=Откажи
[error]
[startpage]
[install]
install=Инсталација
db_title=Подешавања базе
db_type=Тип базе података
host=Хост
password=Лозинка
db_name=Име базе података
path=Пут
repo_path=Пут до корена спремишта
log_root_path=Пут до журнала
optional_title=Напредна подешавања
smtp_host=SMTP сервер
federated_avatar_lookup_popup=Омогућите federated avatars lookup да би сте користили федеративни сервис помоћу libravatar.
enable_captcha_popup=Тражи Captcha приликом регистрације корисника.
admin_password=Лозинка
confirm_password=Потврдите лозинку
install_btn_confirm=Успостави Gitea
test_git_failed=Команда 'git' није успела: %v
[home]
password_holder=Лозинка
switch_dashboard_context=Пребаците контекст контролној панели
collaborative_repos=Заједничка спремишта
my_orgs=Моје организације
my_mirrors=Моја огледала
view_home=Прикажи %s
issues.in_your_repos=У вашим спремиштима
[explore]
repos=Спремишта
users=Корисници
search=Претрага
[auth]
register_helper_msg=Већ имате налог? Пријавите се!
active_your_account=Активирајте ваш налог
has_unconfirmed_mail=Здраво, %s! Имате непотврђену адресу е-поште (<b>%s</b>). Ако вам није стигло писмо са потврдом или морате да пошаљете нову поруку, притисните на пратеће дугме.
resend_mail=Кликните овде да поново пошаљете писмо
[mail]
activate_account=Молимо вас активирајте ваш налог
activate_email=Потврдите вашу адресу е-поште
[modal]
yes=Да
no=Не
[form]
UserName=Корисничко име
RepoName=Име спремишта
Email=Адреса ел. поште
Password=Лозинка
SSHTitle=Име SSH кључа
HttpsUrl=HTTPS URL адреса
PayloadUrl=URL адреса за слање
TeamName=Име тима
AuthName=Ауторизацијско име
AdminEmail=Адреса е-поште администратора
NewBranchName=Име нове гране
CommitSummary=Опис за ревизију
CommitMessage=Ревизни текст
CommitChoice=Избор ревизије
TreeName=Пут до датотеке
Content=Садржај
require_error=` не може бити празно.`
size_error=` мора бити величине %s.`
min_size_error=` мора да садржи најмање %s карактера.`
max_size_error=` мора да садржи највише %s карактера.`
email_error=` није важећа адреса е-поште.`
url_error=` није исправна URL адреса.`
include_error=` мора да садржи текст '%s'.`
unknown_error=Непозната грешка:
auth_failed=Грешка идентитета: %v
target_branch_not_exist=Ова грана не постоји.
[user]
join_on=Регистриран
repositories=Спремишта
activity=Активности
followers=Пратиоци
following=Пратим
follow=Прати
unfollow=Престани да пратиш
[settings]
profile=Профил
password=Лозинка
avatar=Аватар
social=Налози на друштвеним мрежама
delete=Уклоните налог
public_profile=Јавни профил
full_name=Име и презиме
website=Веб страница
location=Локација
update_profile=Ажурирај профил
continue=Настави
cancel=Откажи
federated_avatar_lookup=Federated Avatar претрага
enable_custom_avatar=Укључи ваш аватар
choose_new_avatar=Изаберите нови аватар
delete_current_avatar=Обришите тренутни аватар
old_password=Тренутна лозинка
new_password=Нова лозинка
emails=Адреса ел. поште
email_desc=Ваша главна адреса ће се користити за обавештења и других операција.
primary=Главно
manage_ssh_keys=Управљање SSH кључева
add_key=Додај кључ
add_new_key=Додај SSH кључ
key_name=Име кључа
key_content=Садржај
add_on=Додато
last_used=Задње корршћено
no_activity=Нема недавних активности
manage_social=Управљање прикључених друштвеним мрежама
generate_new_token=Генериши нови токен
token_name=Име токена
generate_token=Генериши токен
delete_token=Уклони
delete_account=Уклоните ваш налог
confirm_delete_account=Потврдите брисање
[repo]
owner=Власник
repo_name=Име спремишта
visibility=Видљивост
fork_repo=Креирај огранак спремишта
fork_from=Огранак од
repo_desc=Опис
repo_lang=Језик
license=Лиценца
create_repo=Ново спремиште
default_branch=Главна грана
mirror_prune=Очисти
watchers=Посматрачи
stargazers=Пратиоци
forks=Огранци
migrate_repo=Мигрирајте спремиште
migrate.permission_denied=Немате права на увезете локално спремиште.
migrate.failed=Миграција није успела: %v
mirror_from=огледало од
forked_from=изданак од
unwatch=Престани пратити
watch=Прати
unstar=Улкони звезду
star=Волим
fork=Креирај огранак
no_desc=Нема описа
quick_guide=Кратак водич
clone_this_repo=Клонирај спремиште
code=Код
branch=Грана
tree=Дрво
filter_branch_and_tag=Профилтрирај по грани или ознаци
branches=Гране
tags=Ознаке
issues=Дискусије
pulls=Захтеви за спајање
labels=Лабеле
milestones=Фазе
commits=Комити
releases=Издања
file_raw=Датотека
file_history=Историја
file_view_raw=Прегледај саму датотеку
file_permalink=Пермалинк
editor.preview_changes=Преглед промена
editor.or=или
editor.commit_changes=Изврши комит промена
editor.add=Додај '%s'
editor.update=Ажурирај '%s'
editor.delete=Уклони '%s'
editor.commit_directly_to_this_branch=Изврши комит директно на <strong class="branch-name">%s</strong> грану.
editor.create_new_branch=Креирај <strong>нову грану</strong> за овај комит и поднеси захтев за спајање.
editor.cancel=Откажи
editor.branch_already_exists=Грана '%s' већ постоји за ово спремиште.
editor.no_changes_to_show=Нема никаквих промена.
editor.unable_to_upload_files=Учитање датотеке '%s' није успело са грешкном: %v
editor.upload_files_to_dir=Пошаљи датотеке на '%s'
commits.commits=Комити
commits.author=Аутор
commits.message=Порука
commits.date=Датум
commits.older=Старије
commits.newer=Новије
issues.new=Нови задатак
issues.new.labels=Лавеле
issues.new.no_label=Нема лабеле
issues.new.clear_labels=Уклони лабеле
issues.new.milestone=Фаза
issues.new.no_milestone=Нема фазе
issues.new.clear_milestone=Уклони фазу
issues.new.open_milestone=Отворене фазе
issues.new.closed_milestone=Затворене фазе
issues.create=Додај задатак
issues.new_label=Нова лабела
issues.create_label=Креирај лабелу
issues.label_templates.title=Преузмите унапред дефинисани скуп лабела
issues.label_templates.helper=Изаберите скуп лабела
issues.label_templates.fail_to_load_file=Није могуће преузети датотеку '%s': %v
issues.open_tab=%d отворено
issues.close_tab=%d затворено
issues.filter_label=Лабела
issues.filter_milestone=Фаза
issues.filter_assignee=Одговорни
issues.filter_type=Тип
issues.filter_type.all_issues=Сви задаци
issues.filter_type.assigned_to_you=Заказано вама
issues.filter_type.created_by_you=креирано од вас
issues.filter_type.mentioning_you=Помењује вас
issues.filter_sort=Сортирај
issues.filter_sort.latest=Најновије
issues.filter_sort.oldest=Најстарије
issues.filter_sort.recentupdate=Недавно ажурирано
issues.filter_sort.leastupdate=Давно ажуриано
issues.filter_sort.mostcomment=Највише коментара
issues.filter_sort.leastcomment=Најмање коментара
issues.opened_by=отворено %[1]s од <a href="%[2]s">%[3]s</a>
issues.previous=Претходна
issues.next=Следеће
issues.open_title=Отворено
issues.closed_title=Затворено
issues.num_comments=%d коментара
issues.commented_at=`коментирира <a href="#%s">%s</a>`
issues.delete_comment_confirm=Да ли желите да избришете овај коментар?
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.poster=Аутор
issues.collaborator=Коаутор
issues.owner=Власник
issues.sign_in_require_desc=<a href="%s">Пријавите се</a> да се прикључе у овом разговору.
issues.edit=Уреди
issues.cancel=Откажи
issues.save=Сачувај
issues.label_title=Име лабеле
issues.label_color=Боја лабеле
issues.label_count=%d лабела
issues.label_open_issues=%d отворених задатака
issues.label_edit=Уреди
issues.label_delete=Уклони
issues.num_participants=%d учесника
issues.attachment.open_tab=`Кликните "%s" да видите у новом прозору`
issues.attachment.download=`Кликните да преузмете "%s"`
pulls.new=Нови захтев за спајање
pulls.filter_branch=Филтер по грани
pulls.no_results=Нема резултата.
pulls.create=Поднеси захтев за спајање
pulls.merged_title_desc=споји(ла) %[1]d комит(е) из <code>%[2]s</code> у <code>%[3]s</code> %[4]s
pulls.tab_conversation=Дискусија
pulls.tab_commits=Комити
pulls.merged=Спојено
pulls.can_auto_merge_desc=Овај захтев за спајање може бити обављен аутоматски.
; </summary><code>%[2]s<br>%[3]s</code></details>
milestones.new=Нова фаза
milestones.open_tab=%d отворено
milestones.close_tab=%d затворено
milestones.closed=Затворено %s
milestones.no_due_date=Рок није наведен
milestones.open=Отвори
milestones.close=Затвори
milestones.create=Креирај фазу
milestones.title=Наслов
milestones.desc=Опис
milestones.due_date=Датум завршетка (опционо)
milestones.clear=Уклони
milestones.edit=Ажурирај фазу
milestones.cancel=Откажи
wiki=Вики
wiki.page=Страница
wiki.filter_page=Филтер странице
wiki.save_page=Сачувај страницу
wiki.last_commit_info=%s урећивао ову страницу %s
wiki.edit_page_button=Уреди
wiki.new_page_button=Нова страница
wiki.delete_page_button=Уклони страницу
wiki.page_already_exists=Страница са овим именом већ постоји.
wiki.pages=Странице
wiki.last_updated=Последње ажурирано %s
settings=Подешавања
settings.collaboration.write=За писање
settings.collaboration.read=Читање
settings.collaboration.undefined=Није дефинисано
settings.githooks=Git хуки
settings.basic_settings=Основна подешавања
settings.mirror_settings=Подешавања огледала
settings.update_settings=Примени промене
settings.advanced_settings=Напредна подешавања
settings.external_wiki_url=URL адреса спољног Вики
settings.tracker_url_format=Спољни формат везе система за праћење грешака
settings.tracker_issue_style.numeric=Нумерично
settings.tracker_issue_style.alphanumeric=Алфанумерично
settings.danger_zone=Опасна зона
settings.new_owner_has_same_repo=Нови власник већ има спремиште по истим називом. Молимо вас изаберите друго име.
settings.transfer=Пренеси власништво
settings.transfer_owner=Нови власник
settings.delete=Уклони ово спремиште
settings.delete_notices_1=- Ова операција <strong>НЕЋЕ МОЧИ</strong> бити укинута.
settings.add_webhook=Додај Webhook
settings.webhook.test_delivery=Провери испоруку
settings.webhook.request=Захтев
settings.webhook.response=Одговор
settings.webhook.headers=Наслови
settings.webhook.body=Тело
settings.githook_edit_desc=о Webhook није активан, примерни садржај ће бити представљен. Ако оставите празно, Webhook ће бити онемогућен.
settings.githook_name=Име Hook-а
settings.githook_content=Садржај Hook-а
settings.update_githook=Ажурирај Hook
settings.secret=Тајна
settings.slack_username=Корисничко име
settings.slack_icon_url=URL адреса иконице
settings.event_create=Креирај
settings.event_pull_request=Захтев за спајање
settings.update_webhook=Ажурирај Webhook
settings.recent_deliveries=Недавне испоруке
settings.hook_type=Тип Hook-а
settings.slack_token=Токен
settings.slack_domain=Домен
settings.slack_channel=Канал
settings.deploy_keys=Кључеви за распоређивање
settings.add_deploy_key=Додај кључ за распоређивање
settings.title=Наслов
settings.deploy_key_content=Садржај
diff.browse_source=Преглед изворни кода
diff.parent=родитељ
diff.commit=комит
diff.show_split_view=Подељен поглед
diff.show_unified_view=Један поглед
diff.stats_desc=<strong> %d измењених фајлова</strong> са <strong>%d додато</strong> и <strong>%d уклоњено</strong>
diff.view_file=Прегледај датотеку
diff.file_suppressed=Разлика између датотеке није приказан због своје велике величине
release.releases=Издања
release.new_release=Ново издање
release.draft=Нацрт
release.prerelease=Пред-верзија
release.stable=Стабилно
release.edit=уреди
release.source_code=Изворни код
release.tag_name=Име ознаке
release.target=Циљ
release.title=Наслов
release.content=Садржај
release.cancel=Откажи
release.publish=Објави издање
release.save_draft=Сачувај нацрт
release.downloads=Преузимања
[org]
org_name_holder=Име организације
org_full_name_holder=Пун назив организације
create_org=Створи Организацију
repo_updated=Ажурирано
people=Особе
teams=Тимови
lower_members=чланови
lower_repositories=спремишта
org_desc=Опис
team_name=Име тима
team_desc=Опис
settings=Подешавања
settings.full_name=Пуно име
settings.website=Саит
settings.location=Локација
settings.update_settings=Ажурирај подешавања
settings.delete=Уклони организацију
settings.delete_account=Уклони ову организацију
settings.confirm_delete_account=Потврди брисање
members.membership_visibility=Видљивост:
members.member_role=Улога учесника:
members.owner=Власник
members.member=Члан
members.remove=Уклони
members.leave=Изађи
members.invite_desc=Додја новог члана %s:
members.invite_now=Позовите сада
teams.join=Придружи се
teams.leave=Изаћи
teams.no_desc=Овај тим нема описа
teams.settings=Подешавања
teams.members=Чланови тима
teams.update_settings=Примени промене
teams.add_team_member=Додај члан тиму
teams.repositories=Тимска спремишта
teams.add_nonexistent_repo=Овакво спремиште не постоји, молим вас прво да га направите.
[admin]
dashboard=Контролни панел
organizations=Организације
repositories=Спремишта
config=Подешавања
notices=Системска обавештења
monitor=Праћење
first_page=Први
last_page=Последњи
total=Укупно: %d
dashboard.operation_name=Име операције
dashboard.operation_switch=Пребаци
dashboard.operation_run=Покрени
dashboard.server_uptime=Време непрекидног рада сервера
dashboard.current_goroutine=Тренутнe Goroutine
dashboard.current_memory_usage=Тренутна употреба меморије
dashboard.total_memory_allocated=Укупно меморије алоцирано
dashboard.memory_obtained=Коришћена меморија
dashboard.pointer_lookup_times=Захтева показивача
dashboard.current_heap_usage=Тренутна употреба динамичке меморије
dashboard.heap_memory_obtained=Слободно динамичке меморије
dashboard.heap_memory_idle=Неактиво динамичке меморије
dashboard.heap_memory_in_use=Динамичка меморија у употреби
dashboard.heap_memory_released=Ослобођено динамичке меморије
dashboard.heap_objects=Објекти динамичке меморије
dashboard.bootstrap_stack_usage=Коришћење стек меморије
dashboard.stack_memory_obtained=Слободно стек меморије
dashboard.mspan_structures_usage=Употреба структуре MSpan
dashboard.mspan_structures_obtained=Добијено структуре MSpan
dashboard.mcache_structures_usage=Употреба структурa MCache
dashboard.mcache_structures_obtained=Добијено структурa MCache
dashboard.profiling_bucket_hash_table_obtained=Хеш-таблеа постигнуто за Profiling Bucket
dashboard.gc_metadata_obtained=Добијених метаподатака cакупљању смећа
dashboard.other_system_allocation_obtained=Добијено друга системска меморија
dashboard.next_gc_recycle=Следећа рециклажа cакупљању смећа
dashboard.last_gc_time=Времена од прошлог cакупљању смећа
dashboard.total_gc_time=Укупно време cакупљању смећа
dashboard.total_gc_pause=Укупно време cакупљању смећа
dashboard.last_gc_pause=Задња пауза у cакупљању смећа
dashboard.gc_times=Времена cакупљању смећа
users.activated=Активиран
users.admin=Администратор
users.repos=Спремишта
users.created=Креирано
users.edit=Уреди
users.auth_source=Извор аутентикације
users.local=Локално
orgs.name=Име
orgs.teams=Тимови
orgs.members=Чланови
repos.owner=Власник
repos.name=Име
repos.private=Приватно
repos.stars=Фаворити
repos.issues=Задаци
auths.name=Име
auths.type=Тип
auths.enabled=Омогућено
auths.updated=Ажурирано
auths.auth_type=Врста провере аутентичности
auths.auth_name=Име провере аутентичности
auths.security_protocol=Протокол безбедности
auths.domain=Домен
auths.host=Хост
auths.port=Порт
auths.bind_password=Bind лозинкa
auths.user_base=База претраживање корисника
auths.user_dn=DN корисника
auths.filter=Филтер корисника
auths.admin_filter=Филтер администратора
auths.smtp_auth=Тип SMTP аутентикације
auths.smtphost=SMTP хост
auths.smtpport=SMTP порт
auths.allowed_domains=Дозвољени домени
auths.skip_tls_verify=Прескочи TLS проверу
auths.pam_service_name=Назив PAM сервиса
auths.enable_auto_register=Омогући аутоматску регистрацију
auths.tips=Савети
config.server_config=Конфигурација сервера
config.disable_router_log=Онемогући журнал рутера
config.run_mode=Режим извршавања
config.repo_root_path=Пут до корена спремишта
config.static_file_root_path=Пут до статичке датотеке
config.script_type=Врста скрипта
config.reverse_auth_user=Корисничко име при обрнуту аутентикацију
config.ssh_config=SSH конфигурација
config.ssh_enabled=Омогућено
config.ssh_port=Порт
config.ssh_listen_port=Порт за слушање
config.ssh_root_path=Основни пут
config.ssh_key_test_path=Пут до кључу
config.ssh_keygen_path=Пут до генератор кључева ('ssh-keygen')
config.ssh_minimum_key_size_check=Минимална величина провера кључа
config.ssh_minimum_key_sizes=Минимална величина кључева
config.db_config=Конфигурација базе података
config.db_type=Тип
config.db_host=Хост
config.db_name=Име
config.db_path=Пут
config.service_config=Подешавања сервиса
config.show_registration_button=Прикажи дугме за регистрацију
config.disable_key_size_check=Онемогући проверу на минималној величини кључа
config.active_code_lives=Дужина живота активних кодова
config.webhook_config=Подешавања Webhook
config.queue_length=Дужина реда
config.deliver_timeout=Време до отказивање слања
config.mailer_enabled=Омогућено
config.mailer_disable_helo=Онемогући HELO
config.mailer_name=Име
config.mailer_host=Хост
config.mailer_user=Корисник
config.oauth_config=Подешавања OAuth
config.oauth_enabled=Укључено
config.cache_config=Подешавања кеша
config.cache_adapter=Кеш адаптер
config.cache_interval=Кеш интервал
config.cache_conn=Кеш на вези
config.session_config=Подешавања сесије
config.session_provider=Добављач сесија
config.provider_config=Конфигурација на добављачу
config.cookie_name=Име датотеке cookie
config.gc_interval_time=Интервал cакупљања смећа
config.session_life_time=Дужина живота сесјие
config.https_only=Само HTTPS
config.cookie_life_time=Дужина живота датотеке cookie
config.picture_service=Услуга за слике
config.disable_gravatar=Онемогући Gravatar
config.enable_federated_avatar=Омогући Federated Avatars
config.git_config=Git конфигурација
config.git_disable_diff_highlight=Онемогући бојење синтаксе када гледате разлике
config.git_max_diff_lines=Максималан број различитих редова (у датотеци)
config.git_max_diff_line_characters=Максималан број различитих карактера (у реду)
config.git_max_diff_files=Максималан број измењених датотека (приказаних)
config.git_gc_args=Аргументи на cакупљање смећа
config.git_migrate_timeout=Време до отказања миграције
config.git_mirror_timeout=Време до отазање синхронизацији огледала
config.git_clone_timeout=Време до отказивања клонирањем
config.git_pull_timeout=Време до отказивања pull операцији
config.git_gc_timeout=Време до отказивања cакупљање смећа
config.log_config=Kонфигурација журнала
config.log_mode=Режим журналовања
monitor.cron=Cron задаци
monitor.name=Име
monitor.schedule=Распоред
monitor.next=Следећи пут
monitor.previous=Претходни пут
monitor.process=Покренути процеси
monitor.desc=Опис
monitor.start=Почетно време
monitor.execute_time=Време извршивања
notices.system_notice_list=Системска обавештавања
notices.actions=Акције
notices.select_all=Изабери све
notices.deselect_all=Уклоните избор свих
notices.inverse_selection=Обрна селекција
notices.delete_selected=Избриши изабране
notices.delete_all=Уклони сва обавештења
notices.type=Тип
notices.type_1=Спремиште
notices.desc=Опис
notices.op=Oп.
[action]
create_repo=креира спремиште <a href="%s">%s</a>
rename_repo=преимензје спремиште од <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
transfer_repo=преноси спремиште <code>%s</code> на <a href="%s">%s</a>
[tool]
ago=пре %s
from_now=од сада %s
now=сада
1s=1 секунд
1m=1 минут
1h=1 час
1d=1 дан
1w=1 недеља
1mon=1 месец
1y=1 година
seconds=%d секунди
minutes=%d минута
hours=%d часа
days=%d дана
weeks=%d недеља
months=%d месеци
years=%d година
raw_seconds=секунди
raw_minutes=минута
[dropzone]
remove_file=Уклони датотеку
[notification]
[gpg]
[units]

View file

@ -305,7 +305,7 @@ activate_account=Vänligen aktivera ditt konto
activate_email=Verifiera din epostaddress
register_notify=Välkommen till Forgejo
register_notify_prev9=Välkommen till Forgejo
reset_password=Återställ ditt konto
@ -755,6 +755,7 @@ file_too_large=Filen är för stor för att visas.
video_not_supported_in_browser=Din webbläsare stödjer ej HTML5-taggen 'video'.
audio_not_supported_in_browser=Din webbläsare stöder inte taggen 'audio' i HTML5.
stored_lfs=Sparad med Git LFS
stored_annex=Sparad med Git Annex
symbolic_link=Symbolisk länk
commit_graph=Commit-Graf
commit_graph.monochrome=Mono
@ -768,6 +769,7 @@ editor.upload_file=Ladda Upp Fil
editor.edit_file=Redigera Fil
editor.preview_changes=Förhandsgranska ändringar
editor.cannot_edit_lfs_files=LFS-filer kan inte redigeras i webbgränssnittet.
editor.cannot_edit_annex_files=Annex-filer kan inte redigeras i webbgränssnittet.
editor.cannot_edit_non_text_files=Binära filer kan inte redigeras genom webbgränssnittet.
editor.edit_this_file=Redigera Fil
editor.this_file_locked=Filen är låst

View file

@ -454,7 +454,7 @@ activate_email=E-posta adresinizi doğrulayın
activate_email.title=%s, lütfen e-posta adresinizi doğrulayın
activate_email.text=E posta adresinizi doğrulamak için lütfen <b>%s</b> içinde linke tıklayın:
register_notify=Forgejo'ya Hoş Geldiniz
register_notify_prev9=Forgejo'ya Hoş Geldiniz
register_notify.title=%[1]s, %[2]s e hoşgeldiniz
register_notify.text_1=bu %s için kayıt onay e postanızdır!
register_notify.text_2=Artık %s kullanıcı adı ile oturum açabilirsiniz.
@ -1198,6 +1198,7 @@ view_git_blame=Git Suç Görüntüle
video_not_supported_in_browser=Tarayıcınız HTML5 'video' etiketini desteklemiyor.
audio_not_supported_in_browser=Tarayıcınız HTML5 'audio' etiketini desteklemiyor.
stored_lfs=Git LFS ile depolandı
stored_annex=Git Annex ile depolandı
symbolic_link=Sembolik Bağlantı
executable_file=Çalıştırılabilir Dosya
commit_graph=İşleme Grafiği
@ -1221,6 +1222,7 @@ editor.upload_file=Dosya Yükle
editor.edit_file=Dosyayı Düzenle
editor.preview_changes=Değişiklikleri Önizle
editor.cannot_edit_lfs_files=LFS dosyaları web arayüzünde düzenlenemez.
editor.cannot_edit_annex_files=Annex dosyaları web arayüzünde düzenlenemez.
editor.cannot_edit_non_text_files=Bu tür dosyalar web arayüzünden düzenlenemez.
editor.edit_this_file=Dosyayı Düzenle
editor.this_file_locked=Dosya kilitlendi
@ -1815,7 +1817,7 @@ 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.cmd_instruction_hint=`<a class="show-instruction">Komut satırı talimatlarını</a> görüntüleyin.`
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.
pulls.cmd_instruction_merge_title=Birleştir

View file

@ -390,7 +390,7 @@ activate_account.text_2=Перейдіть за цим посиланням, щ
activate_email=Підтвердить вашу адресу електронної пошти
activate_email.text=Перейдіть за цим посиланням, щоб підтвердити вашу електронну адресу в <b>%s</b>:
register_notify=Ласкаво просимо у Forgejo
register_notify_prev9=Ласкаво просимо у Forgejo
register_notify.title=%[1]s, ласкаво просимо до %[2]s
register_notify.text_1=це ваша е-пошта для підтвердження реєстрації для %s!
register_notify.text_2=Тепер ви можете увійти як: %s.
@ -995,6 +995,7 @@ file_copy_permalink=Копіювати постійне посилання
video_not_supported_in_browser=Ваш браузер не підтримує тег 'video' HTML5.
audio_not_supported_in_browser=Ваш браузер не підтримує тег HTML5 'audio'.
stored_lfs=Збережено з Git LFS
stored_annex=Збережено з Git Annex
symbolic_link=Символічне посилання
commit_graph=Графік комітів
commit_graph.select=Виберіть гілки
@ -1012,6 +1013,7 @@ editor.upload_file=Завантажити файл
editor.edit_file=Редагування файлу
editor.preview_changes=Попередній перегляд змін
editor.cannot_edit_lfs_files=Файли LFS не можна редагувати в веб-інтерфейсі.
editor.cannot_edit_annex_files=Файли Annex не можна редагувати в веб-інтерфейсі.
editor.cannot_edit_non_text_files=Бінарні файли не можливо редагувати у веб-інтерфейсі.
editor.edit_this_file=Редагувати файл
editor.this_file_locked=Файл заблоковано

View file

@ -0,0 +1 @@

View file

@ -158,6 +158,7 @@ toggle_menu = 切换菜单
invalid_data = 无效数据:%v
more_items = 显示更多
copy_generic = 复制到剪贴板
test = 测试
[aria]
navbar=导航栏
@ -189,6 +190,8 @@ buttons.ref.tooltip=引用一个问题或拉取请求
buttons.switch_to_legacy.tooltip=使用旧版编辑器
buttons.enable_monospace_font=启用等宽字体
buttons.disable_monospace_font=禁用等宽字体
buttons.unindent.tooltip = 解除一级嵌套条目
buttons.indent.tooltip = 解除一级嵌套条目
[filter]
string.asc=A - Z
@ -477,7 +480,7 @@ activate_email=请验证您的邮箱地址
activate_email.title=%s请验证您的邮箱
activate_email.text=请在 <b>%s</b> 时间内,点击以下链接,以验证你的电子邮件地址:
register_notify=欢迎来到 Forgejo
register_notify_prev9=欢迎来到 Forgejo
register_notify.title=%[1]s欢迎来到 %[2]s
register_notify.text_1=这是您的 %s 注册确认电子邮件
register_notify.text_2=您现在可以以用户名 %s 登录
@ -1267,6 +1270,7 @@ view_git_blame=查看 Git Blame
video_not_supported_in_browser=您的浏览器不支持 HTML5 “video” 标签。
audio_not_supported_in_browser=您的浏览器不支持 HTML5 “audio” 标签。
stored_lfs=存储到Git LFS
stored_annex=存储到Git Annex
symbolic_link=符号链接
executable_file=可执行文件
vendored=被供应的
@ -1292,6 +1296,7 @@ editor.upload_file=上传文件
editor.edit_file=编辑文件
editor.preview_changes=预览变更
editor.cannot_edit_lfs_files=无法在 web 界面中编辑 lfs 文件。
editor.cannot_edit_annex_files=无法在 web 界面中编辑 lfs 文件。
editor.cannot_edit_non_text_files=网页不能编辑二进制文件。
editor.edit_this_file=编辑文件
editor.this_file_locked=文件已锁定
@ -1887,7 +1892,7 @@ pulls.outdated_with_base_branch=此分支相比基础分支已过期
pulls.close=关闭合并请求
pulls.closed_at=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> 关闭此合并请求 `
pulls.reopened_at=`重新打开此合并请求 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.cmd_instruction_hint=`查看 <a class="show-instruction">命令行提示</a>。`
pulls.cmd_instruction_hint=`查看 命令行提示。`
pulls.cmd_instruction_checkout_title=检出
pulls.cmd_instruction_checkout_desc=从你的仓库中检出一个新的分支并测试变更。
pulls.cmd_instruction_merge_title=合并

View file

@ -172,7 +172,7 @@ activate_account=請啟用您的帳戶
activate_email=請驗證您的郵箱地址
register_notify=歡迎來到 Forgejo
register_notify_prev9=歡迎來到 Forgejo
register_success=註冊成功
@ -392,6 +392,7 @@ file_view_raw=查看原始文件
file_permalink=永久連結
stored_lfs=儲存到到 Git LFS
stored_annex=儲存到到 Git Annex
editor.preview_changes=預覽更改
editor.or=
@ -1022,4 +1023,3 @@ runners.task_list.repository=儲存庫
[git.filemode]
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …

View file

@ -328,6 +328,7 @@ smtp_from_invalid = 郵件寄件人的地址無效
config_location_hint = 這些設定將被儲存在:
allow_dots_in_usernames = 允許使用者在使用者名稱中使用英文句點。不影響既有帳號。
enable_update_checker_helper_forgejo = 透過檢查 release.forgejo.org 的 DNS TXT 記錄來定期檢查新的 Forgejo 版本。
app_slogan = 站點標語
[home]
uname_holder=帳號名稱或電子信箱
@ -437,7 +438,7 @@ disable_forgot_password_mail=由於未設定電子郵件功能,帳號復原功
disable_forgot_password_mail_admin=帳號復原功能需要設定電子郵件功能才能使用。請設定電子郵件功能以啟用帳號復原。
email_domain_blacklisted=您無法使用您的電子信箱註冊帳號。
authorize_application=授權應用程式
authorize_redirect_notice=如果您授權此應用程式,您將會被重新導向至 %s。
authorize_redirect_notice=如果您授權此應用程式,您將會被轉址至 %s。
authorize_application_created_by=此應用程式是由 %s 建立的。
authorize_application_description=如果您允許,它將能夠讀取和修改您的所有帳號資訊,包括私有儲存庫和組織。
authorize_title=授權「%s」存取您的帳號
@ -458,6 +459,10 @@ password_pwned = 該密碼出現在先前資料洩露的<a target="_blank" rel="
authorization_failed_desc = 因為偵測到無效請求,授權失敗。請連絡您嘗試授權的應用的維護者。
openid_signin_desc = 輸入您的 OpenID URI。例如alice.openid.example.org 或是 https://openid.example.org/alice。
remember_me.compromised = 此登入符記已經無效,這可能是因為您的帳號被盜用了。請檢查您的帳號是否有異常活動。
hint_login = 已經有帳號了嗎?<a href="%s">馬上登入!</a>
hint_register = 需要一個帳號嗎?<a href="%s">馬上註冊。</a>
sign_up_button = 馬上註冊。
sign_in_openid = 使用 OpenID 繼續
[mail]
view_it_on=在 %s 上查看
@ -473,7 +478,7 @@ activate_account.text_2=請在<b>%s</b>內點擊下列連結以啟用您的帳
activate_email=請驗證您的電子信箱
activate_email.text=請在<b>%s</b>內點擊下列連結以驗證您的電子信箱:
register_notify=歡迎來到 Forgejo
register_notify_prev9=歡迎來到 Forgejo
register_notify.title=%[1]s歡迎來到 %[2]s
register_notify.text_1=這是您在 %s 的註冊確認信!
register_notify.text_2=您現在可以使用您的使用者名稱登入:%s
@ -617,10 +622,10 @@ must_use_public_key=您提供的金鑰是私有金鑰,請勿上傳您的私有
unable_verify_ssh_key=無法驗證 SSH 金鑰,請再次檢查是否有錯誤。
auth_failed=授權認證失敗:%v
still_own_repo=您的帳號擁有至少一個儲存庫,請先刪除或轉移它們。
still_has_org=您的帳號是至少一個組織的成員,請先離開它們。
still_own_repo=您的帳號擁有個或多個儲存庫,請先刪除或轉移它們。
still_has_org=您的帳號是個或多個組織的成員,請先離開它們。
still_own_packages=您的帳號擁有至少一個軟體包,請先刪除它們。
org_still_own_repo=此組織仍然擁有一個以上的儲存庫,請先刪除或轉移它們。
org_still_own_repo=此組織仍然擁有一個或多個的儲存庫,請先刪除或轉移它們。
org_still_own_packages=此組織仍然擁有至少一個軟體包,請先刪除它們。
target_branch_not_exist=目標分支不存在。
@ -644,13 +649,13 @@ required_prefix = 輸入文字必須以「%s」開頭
change_avatar=更改大頭貼…
repositories=儲存庫
activity=公開動態
followers_few=%d 追蹤者
followers_few=%d 追蹤者
starred=已加星號的儲存庫
watched=關注的儲存庫
code=程式碼
projects=專案
overview=概覽
following_few=%d 追蹤中
following_few=追蹤 %d 個人
follow=追蹤
unfollow=取消追蹤
user_bio=個人簡介
@ -667,13 +672,15 @@ settings = 使用者設定
block_user = 封鎖使用者
block_user.detail_1 = 該使用者已停止追踪您。
block_user.detail_2 = 這個使用者無法對您的儲存庫、您提出的問題或發表的留言做出任何操作。
followers_one = %d 個追踪
following_one = %d 個人
followers_one = %d 位追蹤
following_one = %d 個人
block_user.detail_3 = 該使用者無法將您加為協作者,您也無法將其加為協作者。
follow_blocked_user = 因為這個使用者封鎖您或被您封鎖,您不能追蹤此使用者。
block = 封鎖
unblock = 解除封鎖
block_user.detail = 請注意,封鎖此使用者將會導致以下結果。例如:
followers.title.one = 位追蹤者
followers.title.few = 位追蹤者
[settings]
profile=個人資料
@ -787,7 +794,7 @@ ssh_helper=<strong>需要協助嗎?</strong>建議可看看 GitHub 的文件
gpg_helper=<strong>需要協助嗎?</strong>建議可看看 GitHub 的 <a href="%s">about GPG</a> 文件。
add_new_key=新增 SSH 金鑰
add_new_gpg_key=新增 GPG 金鑰
key_content_ssh_placeholder=以 「ssh-ed25519」、「ssh-rsa」、「ecdsa-sha2-nistp256」、「ecdsa-sha2-nistp384」、「ecdsa-sha2-nistp521」、「sk-ecdsa-sha2-nistp256@openssh.com」或 「sk-ssh-ed25519@openssh.com」 開頭
key_content_ssh_placeholder=以 「ssh-ed25519」、「ssh-rsa」、「ecdsa-sha2-nistp256」、「ecdsa-sha2-nistp384」、「ecdsa-sha2-nistp521」、「sk-ecdsa-sha2-nistp256@openssh.com」或 「sk-ssh-ed25519@openssh.com」 開頭
key_content_gpg_placeholder=以 「-----BEGIN PGP PUBLIC KEY BLOCK-----」 開頭
add_new_principal=新增主體
ssh_key_been_used=此 SSH 金鑰早已加入本伺服器。
@ -853,7 +860,7 @@ unbind=解除連結
manage_access_token=管理存取符記
generate_new_token=產生新的符記
tokens_desc=這些符記透過 Forgejo API 獲得存取您帳號的權限。
tokens_desc=這些符記透過 Forgejo API 授予存取您帳號的權限。
token_name=符記名稱
generate_token=產生符記
generate_token_success=已經產生新的符記。請立刻複製它,因為它將不會被再次顯示。
@ -870,10 +877,10 @@ permission_read=讀取
manage_oauth2_applications=管理 OAuth2 應用程式
edit_oauth2_application=編輯 OAuth2 應用程式
oauth2_applications_desc=OAuth2 應用程式讓您的第三方應用程式安全地驗證此 Forgejo 站點中的使用者。
remove_oauth2_application=除 OAuth2 應用程式
remove_oauth2_application=除 OAuth2 應用程式
remove_oauth2_application_desc=刪除 OAuth2 應用程式將會撤銷所有已簽署的存取符記之存取權。是否繼續?
remove_oauth2_application_success=除應用程式。
create_oauth2_application=新增 OAuth2 應用程式
remove_oauth2_application_success=除應用程式。
create_oauth2_application=建立新的 OAuth2 應用程式
create_oauth2_application_button=建立應用程式
oauth2_application_name=應用程式名稱
oauth2_confidential_client=機密客戶端 (Confidential Client)。請為能保持機密性的程式勾選,例如網頁應用程式。使用原生程式時不要勾選,包含桌面、行動應用程式。
@ -915,10 +922,10 @@ webauthn_delete_key_desc=如果您移除安全金鑰,將不能再使用它登
manage_account_links=連結的帳號
manage_account_links_desc=這些外部帳號已連結至您的 Forgejo 帳號。
account_links_not_available=目前沒有外部帳號連結您的 Forgejo 帳號。
account_links_not_available=目前沒有外部帳號連結您的 Forgejo 帳號。
link_account=連結帳號
remove_account_link=刪除連結的帳號
remove_account_link_desc=移除連結帳號將撤銷其對 Forgejo 帳號的存取權限。是否繼續
remove_account_link_desc=移除連結帳號將撤銷其對 Forgejo 帳號的存取權限。要繼續嗎
remove_account_link_success=已移除連結的帳號。
@ -942,18 +949,18 @@ visibility.public=公開
visibility.public_tooltip=所有人都可以看到
visibility.limited=受限
visibility.private=私有
blocked_users_none = 沒有封鎖任何使用者 。
blocked_users_none = 沒有任何被封鎖的使用者 。
blocked_users = 封鎖的使用者
hints = 提示
update_hints = 更新提示
update_hints_success = 提示已被更改。
added_on = 於 %s 新增
biography_placeholder = 和我們介紹一下您自己吧!(您可以使用 Markdown
location_placeholder = 與其他人分享您的地理位置
location_placeholder = 與其他人分享您粗略的地理位置
profile_desc = 管理其他人如何看到您的個人資料。通知、密碼復原和網頁上的 Git 操作會使用您的主要電子信箱。
hidden_comment_types.ref_tooltip = 註記哪些問題/提交/… 提及了此問題
keep_activity_private = 隱藏個人頁面中的活動資料
uploaded_avatar_is_too_big = 上傳檔案的大小 %d KiB超過了上限 (%d KiB )。
uploaded_avatar_is_too_big = 上傳檔案的大小 %d KiB超過了上限 %d KiB )。
select_permissions = 選擇權限
permission_write = 讀寫
permissions_list = 權限:
@ -970,7 +977,7 @@ social_desc = 這些社群帳號可以被用來登入您的帳號。請確保您
unbind_success = 已成功移除該社群帳號。
create_oauth2_application_success = 您已成功建立一個新的 OAuth2 應用程式。
change_username_prompt = 註:更改您的使用者名稱也會更改您的帳號 URL。
change_username_redirect_prompt = 舊的使用者名稱在其他使用者認領之前將會轉址到新的使用者名稱。
change_username_redirect_prompt = 舊的使用者名稱在其他使用者認領之前將會轉址到新的使用者名稱。
visibility.limited_tooltip = 只有已登入的使用者能看見
visibility.private_tooltip = 只有您加入的組織之成員能看見
keep_email_private_popup = 這將在您的個人資料頁面、合併請求或網頁檔案編輯器中隱藏您的電子信箱地址。已推送的提交不會被修改。在提交中使用 %s 來將其連結至您的帳號。
@ -980,7 +987,7 @@ pronouns_custom = 自訂
oauth2_client_secret_hint = 這把密鑰在您離開或重新整理此頁面後將不再被顯示。請確保您已儲存它。
additional_repo_units_hint_description = 在沒有啟用所有模組的儲存庫中顯示「新增更多模組…」按鈕。
hidden_comment_types.issue_ref_tooltip = 使用者更改與問題相關分支/標籤的留言
pronouns = 代名詞
pronouns = 稱謂語
update_oauth2_application_success = 您已成功更新該 OAuth2 應用程式。
oauth2_redirect_uris = 轉址 URI。每個 URI 應各佔一行。
pronouns_unspecified = 未指定
@ -997,7 +1004,7 @@ webauthn_key_loss_warning = 如果您弄丟了您的安全金鑰,您將無法
user_unblock_success = 已成功解除對此使用者的封鎖。
webauthn_alternative_tip = 您可能想新增一個額外的驗證方法。
user_block_success = 已成功封鎖此使用者。
access_token_desc = 選擇的符記僅授權相對應的 API 路徑。請參閱<a %s>文件</a>來了解更多。
access_token_desc = 選擇的符記僅授權相對應的 <a %s>API路徑</a>。請參閱<a %s>文件</a>來了解更多。
oauth2_application_locked = 可以在組態中設定 Forgejo 預先註冊一些 OAuth2 應用程式。為了避免不可預料的情況,它們無法被編輯或是移除。請參閱 OAuth2 文件來了解更多。
hidden_comment_types_description = 在這裡選取的留言種類將不會顯示於問題頁面中。舉例來說,核取「標籤」將隱藏所有「使用者新增/移除了<標籤>」留言。
authorized_oauth2_applications_description = 您已授權給這些第三方應用程式取用您的 Forgejo 個人帳號的權限。請撤銷您不再使用的應用程式的權限。
@ -1042,7 +1049,7 @@ license_helper_desc=授權條款定義了他人使用您原始碼的允許和禁
readme=讀我檔案
readme_helper=選擇讀我檔案範本。
readme_helper_desc=這是您能為專案撰寫完整描述的地方。
auto_init=初始化儲存庫 (加入 .gitignore、授權條款、讀我檔案)
auto_init=初始化儲存庫(加入 .gitignore、授權條款、讀我檔案
trust_model_helper=選擇簽署驗證的信任模型。可用的選項:
trust_model_helper_collaborator=協作者: 信任協作者的簽署
trust_model_helper_committer=提交者: 信任與提交者相符的簽署
@ -1053,10 +1060,10 @@ default_branch=預設分支
default_branch_helper=預設分支是合併請求和提交程式碼的基底分支。
mirror_prune=裁減
mirror_prune_desc=刪除過時的遠端追蹤參考
mirror_interval=鏡像週期有效時間單位為「h」、「m」、「s」設為 0 以停用定期同步。(最小值為:%s
mirror_interval=鏡像週期有效時間單位為「h」、「m」、「s」設為 0 以停用定期同步。(最小值為:%s
mirror_interval_invalid=鏡像週期無效。
mirror_sync_on_commit=推送提交後進行同步
mirror_address=從 URL Clone
mirror_address=從 URL 拓製
mirror_address_desc=在授權資訊中填入必要的資料。
mirror_lfs=Large File Storage (LFS)
mirror_lfs_desc=啟動 LFS 檔案的鏡像功能。
@ -1232,6 +1239,7 @@ view_git_blame=檢視 Git Blame
video_not_supported_in_browser=您的瀏覽器不支援 HTML5 的「video」標籤。
audio_not_supported_in_browser=您的瀏覽器不支援 HTML5 的「audio」標籤。
stored_lfs=已使用 Git LFS 儲存
stored_annex=已使用 Git Annex 儲存
symbolic_link=符號連結
commit_graph=提交線圖
commit_graph.select=選擇分支
@ -1249,8 +1257,9 @@ editor.add_file=新增檔案
editor.new_file=建立新檔案
editor.upload_file=上傳檔案
editor.edit_file=編輯檔案
editor.preview_changes=預覽
editor.preview_changes=預覽
editor.cannot_edit_lfs_files=無法在 web 介面中編輯 LFS 檔。
editor.cannot_edit_annex_files=無法在 web 介面中編輯 Annex 檔。
editor.cannot_edit_non_text_files=網站介面不能編輯二進位檔案。
editor.edit_this_file=編輯檔案
editor.this_file_locked=檔案已被鎖定
@ -1260,12 +1269,12 @@ editor.delete_this_file=刪除檔案
editor.must_have_write_access=您必須擁有寫入權限才能對此檔案進行修改或提出變更。
editor.file_delete_success=已刪除文件「%s」。
editor.name_your_file=命名您的檔案…
editor.filename_help=輸入名稱和斜線("/"新增目錄。在文字框開始處輸入退格鍵以移除目錄。
editor.filename_help=輸入以斜線("/")結尾的名稱來新增目錄。在文字框開始處輸入退格鍵以移除目錄。
editor.or=
editor.cancel_lower=取消
editor.commit_signed_changes=提交簽署的變更
editor.commit_signed_changes=提交簽署的變更
editor.commit_changes=提交變更
editor.add_tmpl=新增「<filename>」
editor.add_tmpl=新增「<檔案>」
editor.add=新增 %s
editor.update=更新 %s
editor.delete=刪除 %s
@ -1286,14 +1295,14 @@ editor.filename_cannot_be_empty=檔案名稱不能為空。
editor.filename_is_invalid=檔名無效:「%s」。
editor.branch_does_not_exist=此儲存庫沒有名為「%s」的分支。
editor.branch_already_exists=此儲存庫已有名為「%s」的分支。
editor.file_changed_while_editing=檔案內容在您編輯時已被更。<a target="_blank" rel="noopener noreferrer" href="%s">按一下此處</a>查看被更動的地方或<strong>再次提交</strong>以覆蓋這些變更。
editor.file_changed_while_editing=檔案內容在您編輯時已被。<a target="_blank" rel="noopener noreferrer" href="%s">按一下此處</a>來檢視被更改的地方或<strong>再次提交</strong>以覆蓋這些變更。
editor.file_already_exists=此儲存庫已有名為「%s」的檔案。
editor.commit_empty_file_header=提交空白檔案
editor.commit_empty_file_text=你準備提交的檔案是空白的,是否繼續?
editor.no_changes_to_show=沒有可以顯示的變更。
editor.fail_to_update_file=更新/建立檔案「%s」失敗。
editor.fail_to_update_file_summary=錯誤訊息:
editor.push_rejected_no_message=該變更被伺服器拒絕,它未提供其他訊。請檢查 Git Hook。
editor.push_rejected_no_message=該變更被伺服器拒絕,它未提供其他。請檢查 Git Hook。
editor.push_rejected=該變更被伺服器拒絕。請檢查 Git Hook。
editor.push_rejected_summary=完整的拒絕訊息:
editor.add_subdir=加入目錄…
@ -1554,7 +1563,7 @@ issues.label.filter_sort.alphabetically=按字母順序排序
issues.label.filter_sort.reverse_alphabetically=按字母反向排序
issues.label.filter_sort.by_size=檔案由小到大
issues.label.filter_sort.reverse_by_size=檔案由大到小
issues.num_participants_few=%d 參與者
issues.num_participants_few=%d 參與者
issues.attachment.open_tab=`在新分頁中查看「%s」`
issues.attachment.download=`點擊下載「%s」`
issues.subscribe=訂閱
@ -1979,13 +1988,13 @@ settings.use_internal_wiki=使用內建 Wiki
settings.use_external_wiki=使用外部 Wiki
settings.external_wiki_url=外部 Wiki 連結
settings.external_wiki_url_error=外部 Wiki 網址不是有效的網址。
settings.external_wiki_url_desc=點擊問題標籤時,使用者會被導向到外部 Wiki URL。
settings.external_wiki_url_desc=點擊百科分頁時,使用者會被轉址至外部百科的 URL。
settings.issues_desc=啟用儲存庫問題追蹤器
settings.use_internal_issue_tracker=使用內建問題追蹤器
settings.use_external_issue_tracker=使用外部問題追蹤器
settings.external_tracker_url=外部問題追蹤器 URL
settings.external_tracker_url_error=該外部問題追蹤器 URL 無效。
settings.external_tracker_url_desc=點擊問題頁籤時,使用者會被導向至外部問題追蹤器 URL。
settings.external_tracker_url_desc=點擊問題頁籤時,使用者會被轉址至外部問題追蹤器 URL。
settings.tracker_url_format=外部問題追蹤器的 URL 格式
settings.tracker_url_format_error=該外部問題追蹤器 URL 格式無效。
settings.tracker_issue_style=外部問題追蹤器的編號格式
@ -2487,8 +2496,8 @@ mirror_sync = 已同步
commit.contained_in_default_branch = 這個提交是預設分支的一部分
editor.invalid_commit_mail = 用於建立提交的信箱無效。
admin.update_flags = 更新旗標
admin.failed_to_replace_flags = 儲存庫旗標更新失敗
admin.flags_replaced = 儲存庫旗標已被更換
admin.failed_to_replace_flags = 儲存庫旗標替換失敗
admin.flags_replaced = 已替換儲存庫旗標
default_branch_label = 預設
tree_path_not_found_tag = 路徑 %[1]s 不存在於標籤 %[2]s 中
tree_path_not_found_commit = 路徑 %[1]s 不存在於提交 %[2]s 中
@ -2513,7 +2522,7 @@ migrate.cancel_migrating_confirm = 您確定要取消這次的遷移嗎?
invisible_runes_header = `此檔案內含不可見的 Unicode 字元`
ambiguous_runes_header = `這個檔案內含模棱兩可的 Unicode 字元`
rss.must_be_on_branch = 您必須在一個分支上才能訂閱 RSS。
admin.enabled_flags = 該儲存庫的旗標:
admin.enabled_flags = 該儲存庫啟用的旗標:
mirror_address_protocol_invalid = 輸入的 URL 無效。只有 https(s):// 或 git:// 連結可以被設定為鏡像來源。
ambiguous_runes_description = `這個檔案內含容易造成混淆的 Unicode 字元。如果您覺得這是檔案作者的本意,您可以安全的忽略這則訊息。按下 Escape 可以顯示這些字元。`
commit.contained_in = 這個提交存在於:
@ -2606,7 +2615,7 @@ pulls.commit_ref_at = `在提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 引用了
pulls.cmd_instruction_checkout_desc = 從您的專案儲存庫 checkout 一個新的分支來測試這些更改。
pulls.cmd_instruction_merge_title = 合併
pulls.ready_for_review = 可以開始審閱了嗎?
pulls.cmd_instruction_hint = `檢視<a class="show-instruction">命令列指示</a>`
pulls.cmd_instruction_hint = `檢視 命令列指示`
file_follow = 跟隨象徵式連結
milestones.filter_sort.earliest_due_data = 最早到期日
size_format = %[1]s%[2]s%[3]s%[4]s
@ -2648,6 +2657,10 @@ wiki.original_git_entry_tooltip = 與其使用友善連結,檢視原始 Git
settings.mirror_settings.docs.more_information_if_disabled = 您可以在這裡找到更多關於 push 和 pull 鏡像的資訊:
settings.mirror_settings.docs.doc_link_title = 如何建立儲存庫鏡像?
settings.mirror_settings.docs.pulling_remote_title = 從遠端儲存庫拉取
issues.author.tooltip.pr = 此使用者是這個合併請求的作者。
form.string_too_long = 提供的字串超過了 %d 個字母。
subscribe.issue.guest.tooltip = 登入來追蹤這個問題。
subscribe.pull.guest.tooltip = 登入來追蹤這個合併請求。
[graphs]
@ -2693,7 +2706,7 @@ settings.visibility.private_shortname=私有
settings.update_settings=更新設定
settings.update_setting_success=組織設定已更新。
settings.change_orgname_redirect_prompt=舊的名稱被領用前,會重新導向新名稱。
settings.change_orgname_redirect_prompt=舊的名稱被領用前將會轉址至新名稱。
settings.update_avatar_success=已更新組織的大頭貼。
settings.delete=刪除組織
settings.delete_account=刪除這個組織
@ -2824,9 +2837,9 @@ dashboard.resync_all_hooks=重新同步所有儲存庫的 pre-receive、update
dashboard.reinit_missing_repos=重新初始化所有記錄存在但遺失的 Git 儲存庫
dashboard.sync_external_users=同步外部使用者資料
dashboard.cleanup_hook_task_table=清理 hook_task 資料表
dashboard.cleanup_packages=清理過期的軟體包
dashboard.cleanup_packages=清理過期的軟體包
dashboard.server_uptime=伺服器運作時間
dashboard.current_goroutine=目前的 Goroutines 數量
dashboard.current_goroutine=目前的 Goroutines
dashboard.current_memory_usage=目前記憶體使用量
dashboard.total_memory_allocated=所有被分配的記憶體
dashboard.memory_obtained=獲得的記憶體
@ -3119,7 +3132,7 @@ config.lfs_enabled=已啟用
config.lfs_content_path=LFS 內容路徑
config.lfs_http_auth_expiry=LFS HTTP 驗證有效時間
config.db_config=資料庫設定
config.db_config=資料庫組態
config.db_type=資料庫類型
config.db_host=主機地址
config.db_name=名稱
@ -3171,7 +3184,7 @@ config.mailer_use_dummy=Dummy
config.test_email_placeholder=電子信箱 (例test@example.com)
config.send_test_mail=寄送測試郵件
config.test_mail_failed=傳送測試郵件至「%s」時失敗 %v
config.test_mail_sent=測試郵件已傳送至「%s」。
config.test_mail_sent=已傳送測試郵件至「%s」。
config.oauth_config=OAuth 設定
config.oauth_enabled=啟用服務
@ -3204,7 +3217,7 @@ config.git_max_diff_files=差異比較時顯示的最多檔案數
config.git_gc_args=GC 參數
config.git_migrate_timeout=遷移逾時
config.git_mirror_timeout=鏡像更新逾時
config.git_clone_timeout=Clone 作業逾時
config.git_clone_timeout=拓製逾時
config.git_pull_timeout=Pull 作業逾時
config.git_gc_timeout=GC 作業逾時
@ -3280,7 +3293,7 @@ assets = 程式碼資料
dashboard.sync_branch.started = 已開始同步分支
dashboard.rebuild_issue_indexer = 重建問題索引
repos.lfs_size = LFS 大小
packages.cleanup = 清除過期資料
packages.cleanup = 清除過期資料
packages.cleanup.success = 已成功清除過期資料
monitor.processes_count = %d 個程序
monitor.queue.settings.remove_all_items = 全部移除
@ -3653,4 +3666,5 @@ runner_kind = 搜尋 Runners …
project_kind = 搜尋專案…
branch_kind = 搜尋分支…
commit_kind = 搜尋提交…
code_search_by_git_grep = 目前搜尋結果由「git grep」提供。如果網站管理員啟用程式碼索引可能會有更好的結果。
code_search_by_git_grep = 目前搜尋結果由「git grep」提供。如果網站管理員啟用程式碼索引可能會有更好的結果。
exact = 精確

466
package-lock.json generated
View file

@ -1,5 +1,5 @@
{
"name": "forgejo",
"name": "forgejo-aneksajo",
"lockfileVersion": 3,
"requires": true,
"packages": {
@ -7,7 +7,6 @@
"dependencies": {
"@citation-js/core": "0.7.11",
"@citation-js/plugin-bibtex": "0.7.11",
"@citation-js/plugin-csl": "0.7.11",
"@citation-js/plugin-software-formats": "0.6.1",
"@github/markdown-toolbar-element": "2.2.3",
"@github/relative-time-element": "4.4.2",
@ -55,7 +54,6 @@
"uint8-to-base64": "0.2.0",
"vanilla-colorful": "0.7.2",
"vue": "3.4.31",
"vue-bar-graph": "2.0.0",
"vue-chartjs": "5.3.1",
"vue-loader": "17.4.2",
"vue3-calendar-heatmap": "2.0.5",
@ -377,22 +375,6 @@
"node": ">=14.0.0"
}
},
"node_modules/@citation-js/plugin-csl": {
"version": "0.7.11",
"resolved": "https://registry.npmjs.org/@citation-js/plugin-csl/-/plugin-csl-0.7.11.tgz",
"integrity": "sha512-4OGZ9wHZDfpgiPU2cOXWGuKt7P+ndGWAeLG95nOG+DXe5U+f9EEZTXfaM4C99x8Ri+g6JklR96A3kuYZxYLllg==",
"license": "MIT",
"dependencies": {
"@citation-js/date": "^0.5.0",
"citeproc": "^2.4.6"
},
"engines": {
"node": ">=16.0.0"
},
"peerDependencies": {
"@citation-js/core": "^0.7.0"
}
},
"node_modules/@citation-js/plugin-github": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@citation-js/plugin-github/-/plugin-github-0.6.1.tgz",
@ -461,9 +443,9 @@
}
},
"node_modules/@csstools/css-parser-algorithms": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.0.tgz",
"integrity": "sha512-qvBMcOU/uWFCH/VO0MYe0AMs0BGMWAt6FTryMbFIKYtZtVnqTZtT8ktv5o718llkaGZWomJezJZjq3vJDHeJNQ==",
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.7.1.tgz",
"integrity": "sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==",
"dev": true,
"funding": [
{
@ -480,13 +462,13 @@
"node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"@csstools/css-tokenizer": "^2.3.2"
"@csstools/css-tokenizer": "^2.4.1"
}
},
"node_modules/@csstools/css-tokenizer": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.3.2.tgz",
"integrity": "sha512-0xYOf4pQpAaE6Sm2Q0x3p25oRukzWQ/O8hWVvhIt9Iv98/uu053u2CGm/g3kJ+P0vOYTAYzoU8Evq2pg9ZPXtw==",
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.4.1.tgz",
"integrity": "sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==",
"dev": true,
"funding": [
{
@ -504,9 +486,9 @@
}
},
"node_modules/@csstools/media-query-list-parser": {
"version": "2.1.12",
"resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.12.tgz",
"integrity": "sha512-t1/CdyVJzOQUiGUcIBXRzTAkWTFPxiPnoKwowKW2z9Uj78c2bBWI/X94BeVfUwVq1xtCjD7dnO8kS6WONgp8Jw==",
"version": "2.1.13",
"resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.13.tgz",
"integrity": "sha512-XaHr+16KRU9Gf8XLi3q8kDlI18d5vzKSKCY510Vrtc9iNR0NJzbY9hhTmwhzYZj/ZwGL4VmB3TA9hJW0Um2qFA==",
"dev": true,
"funding": [
{
@ -523,8 +505,8 @@
"node": "^14 || ^16 || >=18"
},
"peerDependencies": {
"@csstools/css-parser-algorithms": "^2.7.0",
"@csstools/css-tokenizer": "^2.3.2"
"@csstools/css-parser-algorithms": "^2.7.1",
"@csstools/css-tokenizer": "^2.4.1"
}
},
"node_modules/@csstools/selector-resolve-nested": {
@ -1337,9 +1319,9 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
@ -1583,9 +1565,9 @@
"license": "MIT"
},
"node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz",
"integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.1.tgz",
"integrity": "sha512-lncuC4aHicncmbORnx+dUaAgzee9cm/PbIqgWz1PpXuwc+sa1Ct83tnqUDy/GFKleLiN7ZIeytM6KJ4cAn1SxA==",
"cpu": [
"arm"
],
@ -1597,9 +1579,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz",
"integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.1.tgz",
"integrity": "sha512-F/tkdw0WSs4ojqz5Ovrw5r9odqzFjb5LIgHdHZG65dFI1lWTWRVy32KDJLKRISHgJvqUeUhdIvy43fX41znyDg==",
"cpu": [
"arm64"
],
@ -1611,9 +1593,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz",
"integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.1.tgz",
"integrity": "sha512-vk+ma8iC1ebje/ahpxpnrfVQJibTMyHdWpOGZ3JpQ7Mgn/3QNHmPq7YwjZbIE7km73dH5M1e6MRRsnEBW7v5CQ==",
"cpu": [
"arm64"
],
@ -1625,9 +1607,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz",
"integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.1.tgz",
"integrity": "sha512-IgpzXKauRe1Tafcej9STjSSuG0Ghu/xGYH+qG6JwsAUxXrnkvNHcq/NL6nz1+jzvWAnQkuAJ4uIwGB48K9OCGA==",
"cpu": [
"x64"
],
@ -1639,9 +1621,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz",
"integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.1.tgz",
"integrity": "sha512-P9bSiAUnSSM7EmyRK+e5wgpqai86QOSv8BwvkGjLwYuOpaeomiZWifEos517CwbG+aZl1T4clSE1YqqH2JRs+g==",
"cpu": [
"arm"
],
@ -1653,9 +1635,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz",
"integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.1.tgz",
"integrity": "sha512-5RnjpACoxtS+aWOI1dURKno11d7krfpGDEn19jI8BuWmSBbUC4ytIADfROM1FZrFhQPSoP+KEa3NlEScznBTyQ==",
"cpu": [
"arm"
],
@ -1667,9 +1649,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz",
"integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.1.tgz",
"integrity": "sha512-8mwmGD668m8WaGbthrEYZ9CBmPug2QPGWxhJxh/vCgBjro5o96gL04WLlg5BA233OCWLqERy4YUzX3bJGXaJgQ==",
"cpu": [
"arm64"
],
@ -1681,9 +1663,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz",
"integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.1.tgz",
"integrity": "sha512-dJX9u4r4bqInMGOAQoGYdwDP8lQiisWb9et+T84l2WXk41yEej8v2iGKodmdKimT8cTAYt0jFb+UEBxnPkbXEQ==",
"cpu": [
"arm64"
],
@ -1695,9 +1677,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz",
"integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.1.tgz",
"integrity": "sha512-V72cXdTl4EI0x6FNmho4D502sy7ed+LuVW6Ym8aI6DRQ9hQZdp5sj0a2usYOlqvFBNKQnLQGwmYnujo2HvjCxQ==",
"cpu": [
"ppc64"
],
@ -1709,9 +1691,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz",
"integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.1.tgz",
"integrity": "sha512-f+pJih7sxoKmbjghrM2RkWo2WHUW8UbfxIQiWo5yeCaCM0TveMEuAzKJte4QskBp1TIinpnRcxkquY+4WuY/tg==",
"cpu": [
"riscv64"
],
@ -1723,9 +1705,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz",
"integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.1.tgz",
"integrity": "sha512-qb1hMMT3Fr/Qz1OKovCuUM11MUNLUuHeBC2DPPAWUYYUAOFWaxInaTwTQmc7Fl5La7DShTEpmYwgdt2hG+4TEg==",
"cpu": [
"s390x"
],
@ -1737,9 +1719,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz",
"integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.1.tgz",
"integrity": "sha512-7O5u/p6oKUFYjRbZkL2FLbwsyoJAjyeXHCU3O4ndvzg2OFO2GinFPSJFGbiwFDaCFc+k7gs9CF243PwdPQFh5g==",
"cpu": [
"x64"
],
@ -1751,9 +1733,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz",
"integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.1.tgz",
"integrity": "sha512-pDLkYITdYrH/9Cv/Vlj8HppDuLMDUBmgsM0+N+xLtFd18aXgM9Nyqupb/Uw+HeidhfYg2lD6CXvz6CjoVOaKjQ==",
"cpu": [
"x64"
],
@ -1765,9 +1747,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz",
"integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.1.tgz",
"integrity": "sha512-W2ZNI323O/8pJdBGil1oCauuCzmVd9lDmWBBqxYZcOqWD6aWqJtVBQ1dFrF4dYpZPks6F+xCZHfzG5hYlSHZ6g==",
"cpu": [
"arm64"
],
@ -1779,9 +1761,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz",
"integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.1.tgz",
"integrity": "sha512-ELfEX1/+eGZYMaCIbK4jqLxO1gyTSOIlZr6pbC4SRYFaSIDVKOnZNMdoZ+ON0mrFDp4+H5MhwNC1H/AhE3zQLg==",
"cpu": [
"ia32"
],
@ -1793,9 +1775,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz",
"integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.1.tgz",
"integrity": "sha512-yjk2MAkQmoaPYCSu35RLJ62+dz358nE83VfTePJRp8CG7aMg25mEJYpXFiD+NcevhX8LxD5OP5tktPXnXN7GDw==",
"cpu": [
"x64"
],
@ -2512,9 +2494,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "20.14.9",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
"integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
"version": "20.14.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz",
"integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==",
"license": "MIT",
"dependencies": {
"undici-types": "~5.26.4"
@ -2557,17 +2539,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz",
"integrity": "sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz",
"integrity": "sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "7.14.1",
"@typescript-eslint/type-utils": "7.14.1",
"@typescript-eslint/utils": "7.14.1",
"@typescript-eslint/visitor-keys": "7.14.1",
"@typescript-eslint/scope-manager": "7.16.0",
"@typescript-eslint/type-utils": "7.16.0",
"@typescript-eslint/utils": "7.16.0",
"@typescript-eslint/visitor-keys": "7.16.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@ -2591,16 +2573,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.14.1.tgz",
"integrity": "sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.0.tgz",
"integrity": "sha512-ar9E+k7CU8rWi2e5ErzQiC93KKEFAXA2Kky0scAlPcxYblLt8+XZuHUZwlyfXILyQa95P6lQg+eZgh/dDs3+Vw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/scope-manager": "7.14.1",
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/typescript-estree": "7.14.1",
"@typescript-eslint/visitor-keys": "7.14.1",
"@typescript-eslint/scope-manager": "7.16.0",
"@typescript-eslint/types": "7.16.0",
"@typescript-eslint/typescript-estree": "7.16.0",
"@typescript-eslint/visitor-keys": "7.16.0",
"debug": "^4.3.4"
},
"engines": {
@ -2620,14 +2602,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz",
"integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz",
"integrity": "sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/visitor-keys": "7.14.1"
"@typescript-eslint/types": "7.16.0",
"@typescript-eslint/visitor-keys": "7.16.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@ -2638,14 +2620,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.14.1.tgz",
"integrity": "sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz",
"integrity": "sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/typescript-estree": "7.14.1",
"@typescript-eslint/utils": "7.14.1",
"@typescript-eslint/typescript-estree": "7.16.0",
"@typescript-eslint/utils": "7.16.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.3.0"
},
@ -2666,9 +2648,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz",
"integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.0.tgz",
"integrity": "sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw==",
"dev": true,
"license": "MIT",
"engines": {
@ -2680,14 +2662,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz",
"integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz",
"integrity": "sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/visitor-keys": "7.14.1",
"@typescript-eslint/types": "7.16.0",
"@typescript-eslint/visitor-keys": "7.16.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@ -2709,16 +2691,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz",
"integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.0.tgz",
"integrity": "sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "7.14.1",
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/typescript-estree": "7.14.1"
"@typescript-eslint/scope-manager": "7.16.0",
"@typescript-eslint/types": "7.16.0",
"@typescript-eslint/typescript-estree": "7.16.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@ -2732,13 +2714,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "7.14.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz",
"integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==",
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz",
"integrity": "sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "7.14.1",
"@typescript-eslint/types": "7.16.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
@ -3284,9 +3266,9 @@
}
},
"node_modules/acorn": {
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz",
"integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==",
"version": "8.12.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@ -3820,9 +3802,9 @@
}
},
"node_modules/browserslist": {
"version": "4.23.1",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz",
"integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==",
"version": "4.23.2",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
"integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
"funding": [
{
"type": "opencollective",
@ -3839,10 +3821,10 @@
],
"license": "MIT",
"dependencies": {
"caniuse-lite": "^1.0.30001629",
"electron-to-chromium": "^1.4.796",
"caniuse-lite": "^1.0.30001640",
"electron-to-chromium": "^1.4.820",
"node-releases": "^2.0.14",
"update-browserslist-db": "^1.0.16"
"update-browserslist-db": "^1.1.0"
},
"bin": {
"browserslist": "cli.js"
@ -3950,9 +3932,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001639",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001639.tgz",
"integrity": "sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==",
"version": "1.0.30001641",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001641.tgz",
"integrity": "sha512-Phv5thgl67bHYo1TtMY/MurjkHhV4EDaCosezRXgZ8jzA/Ub+wjxAvbGvjoFENStinwi5kCyOYV3mi5tOGykwA==",
"funding": [
{
"type": "opencollective",
@ -4125,12 +4107,6 @@
"node": ">=8"
}
},
"node_modules/citeproc": {
"version": "2.4.63",
"resolved": "https://registry.npmjs.org/citeproc/-/citeproc-2.4.63.tgz",
"integrity": "sha512-68F95Bp4UbgZU/DBUGQn0qV3HDZLCdI9+Bb2ByrTaNJDL5VEm9LqaiNaxljsvoaExSLEXe1/r6n2Z06SCzW3/Q==",
"license": "CPAL-1.0 OR AGPL-1.0"
},
"node_modules/clean-regexp": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clean-regexp/-/clean-regexp-1.0.0.tgz",
@ -5357,9 +5333,9 @@
}
},
"node_modules/dompurify": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.5.tgz",
"integrity": "sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA==",
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz",
"integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==",
"license": "(MPL-2.0 OR Apache-2.0)"
},
"node_modules/domutils": {
@ -5442,9 +5418,9 @@
}
},
"node_modules/electron-to-chromium": {
"version": "1.4.815",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.815.tgz",
"integrity": "sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==",
"version": "1.4.825",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.825.tgz",
"integrity": "sha512-OCcF+LwdgFGcsYPYC5keEEFC2XT0gBhrYbeGzHCx7i9qRFbzO/AqTmc/C/1xNhJj+JA7rzlN7mpBuStshh96Cg==",
"license": "ISC"
},
"node_modules/elkjs": {
@ -6631,9 +6607,9 @@
}
},
"node_modules/esquery": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
"integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -7301,12 +7277,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/gsap": {
"version": "3.12.5",
"resolved": "https://registry.npmjs.org/gsap/-/gsap-3.12.5.tgz",
"integrity": "sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==",
"license": "Standard 'no charge' license: https://gsap.com/standard-license. Club GSAP members get more: https://gsap.com/licensing/. Why GreenSock doesn't employ an MIT license: https://gsap.com/why-license/"
},
"node_modules/hammerjs": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
@ -8248,9 +8218,9 @@
}
},
"node_modules/istanbul-lib-source-maps": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz",
"integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==",
"version": "5.0.6",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
"integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@ -8291,16 +8261,13 @@
}
},
"node_modules/jackspeak": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
"integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
"integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
"license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
},
@ -8375,9 +8342,9 @@
}
},
"node_modules/js-beautify/node_modules/glob": {
"version": "10.4.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz",
"integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==",
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"dev": true,
"license": "ISC",
"dependencies": {
@ -8391,9 +8358,6 @@
"bin": {
"glob": "dist/esm/bin.mjs"
},
"engines": {
"node": ">=16 || 14 >=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@ -8953,13 +8917,10 @@
}
},
"node_modules/lru-cache": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz",
"integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==",
"license": "ISC",
"engines": {
"node": "14 || >=16.14"
}
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"license": "ISC"
},
"node_modules/magic-string": {
"version": "0.25.9",
@ -9071,9 +9032,9 @@
}
},
"node_modules/markdownlint-cli/node_modules/glob": {
"version": "10.4.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz",
"integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==",
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"dev": true,
"license": "ISC",
"dependencies": {
@ -9087,9 +9048,6 @@
"bin": {
"glob": "dist/esm/bin.mjs"
},
"engines": {
"node": ">=16 || 14 >=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@ -10513,14 +10471,14 @@
}
},
"node_modules/pkg-types": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.1.tgz",
"integrity": "sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==",
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.1.3.tgz",
"integrity": "sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==",
"dev": true,
"license": "MIT",
"dependencies": {
"confbox": "^0.1.7",
"mlly": "^1.7.0",
"mlly": "^1.7.1",
"pathe": "^1.1.2"
}
},
@ -12511,9 +12469,9 @@
}
},
"node_modules/sucrase/node_modules/glob": {
"version": "10.4.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz",
"integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==",
"version": "10.4.5",
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
@ -12526,9 +12484,6 @@
"bin": {
"glob": "dist/esm/bin.mjs"
},
"engines": {
"node": ">=16 || 14 >=14.18"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
@ -12745,9 +12700,9 @@
"license": "ISC"
},
"node_modules/terser": {
"version": "5.31.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
"integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
"version": "5.31.2",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.31.2.tgz",
"integrity": "sha512-LGyRZVFm/QElZHy/CPr/O4eNZOZIzsrQ92y4v9UJe/pFJjypje2yI3C2FmPtvUEnhadlSbmG2nXtdcjHOjCfxw==",
"license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@ -13184,9 +13139,9 @@
}
},
"node_modules/typescript": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz",
"integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==",
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz",
"integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==",
"devOptional": true,
"license": "Apache-2.0",
"peer": true,
@ -13270,9 +13225,9 @@
}
},
"node_modules/update-browserslist-db": {
"version": "1.0.16",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
"integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
"integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
"funding": [
{
"type": "opencollective",
@ -13390,14 +13345,14 @@
"license": "MIT"
},
"node_modules/vite": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.3.2.tgz",
"integrity": "sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==",
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.3.3.tgz",
"integrity": "sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.21.3",
"postcss": "^8.4.38",
"postcss": "^8.4.39",
"rollup": "^4.13.0"
},
"bin": {
@ -13927,10 +13882,39 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/vite/node_modules/postcss": {
"version": "8.4.39",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz",
"integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==",
"dev": true,
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/postcss/"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
},
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.1",
"source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/vite/node_modules/rollup": {
"version": "4.18.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz",
"integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==",
"version": "4.18.1",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.1.tgz",
"integrity": "sha512-Elx2UT8lzxxOXMpy5HWQGZqkrQOtrVDDa/bm9l10+U4rQnVzbL/LgZ4NOM1MPIDyHk69W4InuYDF5dzRh4Kw1A==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -13944,22 +13928,22 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.18.0",
"@rollup/rollup-android-arm64": "4.18.0",
"@rollup/rollup-darwin-arm64": "4.18.0",
"@rollup/rollup-darwin-x64": "4.18.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.18.0",
"@rollup/rollup-linux-arm-musleabihf": "4.18.0",
"@rollup/rollup-linux-arm64-gnu": "4.18.0",
"@rollup/rollup-linux-arm64-musl": "4.18.0",
"@rollup/rollup-linux-powerpc64le-gnu": "4.18.0",
"@rollup/rollup-linux-riscv64-gnu": "4.18.0",
"@rollup/rollup-linux-s390x-gnu": "4.18.0",
"@rollup/rollup-linux-x64-gnu": "4.18.0",
"@rollup/rollup-linux-x64-musl": "4.18.0",
"@rollup/rollup-win32-arm64-msvc": "4.18.0",
"@rollup/rollup-win32-ia32-msvc": "4.18.0",
"@rollup/rollup-win32-x64-msvc": "4.18.0",
"@rollup/rollup-android-arm-eabi": "4.18.1",
"@rollup/rollup-android-arm64": "4.18.1",
"@rollup/rollup-darwin-arm64": "4.18.1",
"@rollup/rollup-darwin-x64": "4.18.1",
"@rollup/rollup-linux-arm-gnueabihf": "4.18.1",
"@rollup/rollup-linux-arm-musleabihf": "4.18.1",
"@rollup/rollup-linux-arm64-gnu": "4.18.1",
"@rollup/rollup-linux-arm64-musl": "4.18.1",
"@rollup/rollup-linux-powerpc64le-gnu": "4.18.1",
"@rollup/rollup-linux-riscv64-gnu": "4.18.1",
"@rollup/rollup-linux-s390x-gnu": "4.18.1",
"@rollup/rollup-linux-x64-gnu": "4.18.1",
"@rollup/rollup-linux-x64-musl": "4.18.1",
"@rollup/rollup-win32-arm64-msvc": "4.18.1",
"@rollup/rollup-win32-ia32-msvc": "4.18.1",
"@rollup/rollup-win32-x64-msvc": "4.18.1",
"fsevents": "~2.3.2"
}
},
@ -14060,16 +14044,6 @@
}
}
},
"node_modules/vue-bar-graph": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/vue-bar-graph/-/vue-bar-graph-2.0.0.tgz",
"integrity": "sha512-IoYP+r5Ggjys6QdUNYFPh7qD41wi/uDOJj9nMawvDgvV6niOz3Dw8O2/98ZnUgjTpcgcGFDaaAaK6qa9x1jgpw==",
"license": "MIT",
"dependencies": {
"gsap": "^3.10.4",
"vue": "^3.2.37"
}
},
"node_modules/vue-chartjs": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.1.tgz",
@ -14081,9 +14055,9 @@
}
},
"node_modules/vue-component-type-helpers": {
"version": "2.0.24",
"resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.0.24.tgz",
"integrity": "sha512-Jr5N8QVYEcbQuMN1LRgvg61758G8HTnzUlQsAFOxx6Y6X8kmhJ7C+jOvWsQruYxi3uHhhS6BghyRlyiwO99DBg==",
"version": "2.0.26",
"resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.0.26.tgz",
"integrity": "sha512-sO9qQ8oC520SW6kqlls0iqDak53gsTVSrYylajgjmkt1c0vcgjsGSy1KzlDrbEx8pm02IEYhlUkU5hCYf8rwtg==",
"dev": true,
"license": "MIT"
},
@ -14503,9 +14477,9 @@
}
},
"node_modules/why-is-node-running": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz",
"integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
"integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
"dev": true,
"license": "MIT",
"dependencies": {

View file

@ -6,7 +6,6 @@
"dependencies": {
"@citation-js/core": "0.7.11",
"@citation-js/plugin-bibtex": "0.7.11",
"@citation-js/plugin-csl": "0.7.11",
"@citation-js/plugin-software-formats": "0.6.1",
"@github/markdown-toolbar-element": "2.2.3",
"@github/relative-time-element": "4.4.2",
@ -54,7 +53,6 @@
"uint8-to-base64": "0.2.0",
"vanilla-colorful": "0.7.2",
"vue": "3.4.31",
"vue-bar-graph": "2.0.0",
"vue-chartjs": "5.3.1",
"vue-loader": "17.4.2",
"vue3-calendar-heatmap": "2.0.5",

View file

@ -1,6 +1,6 @@
# This site is running a Forgejo instance.
# Forgejo-related security problems should be reported to the Forgejo security team.
# Site-related security problems should be reported to this site's admin.
# Security problems related to this instance should be reported to its administration.
Policy: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/CONTRIBUTING.md
Contact: mailto:security@forgejo.org
Encryption: https://keys.openpgp.org/vks/v1/by-fingerprint/1B638BDF10969D627926B8D9F585D0F99E1FB56F

View file

@ -0,0 +1 @@
- add support for LFS server implementations which have batch API responses in an older/deprecated schema

View file

@ -0,0 +1 @@
- unknown git push options are rejected instead of being ignored

View file

@ -354,7 +354,7 @@ func GetCommitPullRequest(ctx *context.APIContext) {
// "404":
// "$ref": "#/responses/notFound"
pr, err := issues_model.GetPullRequestByMergedCommit(ctx, ctx.Repo.Repository.ID, ctx.Params(":sha"))
pr, err := issues_model.GetPullRequestByMergedCommit(ctx, ctx.Repo.Repository.ID, ctx.Params("ref"))
if err != nil {
if issues_model.IsErrPullRequestNotExist(err) {
ctx.Error(http.StatusNotFound, "GetPullRequestByMergedCommit", err)

View file

@ -893,13 +893,16 @@ func EditIssue(ctx *context.APIContext) {
return
}
}
if err := issue_service.ChangeStatus(ctx, issue, ctx.Doer, "", api.StateClosed == api.StateType(*form.State)); err != nil {
if issues_model.IsErrDependenciesLeft(err) {
ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this issue because it still has open dependencies")
isClosed := api.StateClosed == api.StateType(*form.State)
if issue.IsClosed != isClosed {
if err := issue_service.ChangeStatus(ctx, issue, ctx.Doer, "", isClosed); err != nil {
if issues_model.IsErrDependenciesLeft(err) {
ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this issue because it still has open dependencies")
return
}
ctx.Error(http.StatusInternalServerError, "ChangeStatus", err)
return
}
ctx.Error(http.StatusInternalServerError, "ChangeStatus", err)
return
}
}

View file

@ -462,6 +462,11 @@ func GetIssueComment(ctx *context.APIContext) {
return
}
if err := comment.LoadAttachments(ctx); err != nil {
ctx.Error(http.StatusInternalServerError, "LoadAttachments", err)
return
}
ctx.JSON(http.StatusOK, convert.ToAPIComment(ctx, ctx.Repo.Repository, comment))
}

View file

@ -711,13 +711,16 @@ func EditPullRequest(ctx *context.APIContext) {
ctx.Error(http.StatusPreconditionFailed, "MergedPRState", "cannot change state of this pull request, it was already merged")
return
}
if err := issue_service.ChangeStatus(ctx, issue, ctx.Doer, "", api.StateClosed == api.StateType(*form.State)); err != nil {
if issues_model.IsErrDependenciesLeft(err) {
ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this pull request because it still has open dependencies")
isClosed := api.StateClosed == api.StateType(*form.State)
if issue.IsClosed != isClosed {
if err := issue_service.ChangeStatus(ctx, issue, ctx.Doer, "", isClosed); err != nil {
if issues_model.IsErrDependenciesLeft(err) {
ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this pull request because it still has open dependencies")
return
}
ctx.Error(http.StatusInternalServerError, "ChangeStatus", err)
return
}
ctx.Error(http.StatusInternalServerError, "ChangeStatus", err)
return
}
}

View file

@ -18,6 +18,7 @@ import (
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/cache"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/git/pushoptions"
"code.gitea.io/gitea/modules/gitrepo"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/private"
@ -170,7 +171,7 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
}
// Handle Push Options
if len(opts.GitPushOptions) > 0 {
if !opts.GetGitPushOptions().Empty() {
// load the repository
if repo == nil {
repo = loadRepository(ctx, ownerName, repoName)
@ -181,8 +182,8 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
wasEmpty = repo.IsEmpty
}
repo.IsPrivate = opts.GitPushOptions.Bool(private.GitPushOptionRepoPrivate, repo.IsPrivate)
repo.IsTemplate = opts.GitPushOptions.Bool(private.GitPushOptionRepoTemplate, repo.IsTemplate)
repo.IsPrivate = opts.GetGitPushOptions().GetBool(pushoptions.RepoPrivate, repo.IsPrivate)
repo.IsTemplate = opts.GetGitPushOptions().GetBool(pushoptions.RepoTemplate, repo.IsTemplate)
if err := repo_model.UpdateRepositoryCols(ctx, repo, "is_private", "is_template"); err != nil {
log.Error("Failed to Update: %s/%s Error: %v", ownerName, repoName, err)
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{

View file

@ -123,23 +123,7 @@ func (ctx *preReceiveContext) canChangeSettings() error {
func (ctx *preReceiveContext) validatePushOptions() error {
opts := web.GetForm(ctx).(*private.HookOptions)
if len(opts.GitPushOptions) == 0 {
return nil
}
changesRepoSettings := false
for key := range opts.GitPushOptions {
switch key {
case private.GitPushOptionRepoPrivate, private.GitPushOptionRepoTemplate:
changesRepoSettings = true
case "topic", "force-push", "title", "description":
// Agit options
default:
return fmt.Errorf("unknown option %s", key)
}
}
if changesRepoSettings {
if opts.GetGitPushOptions().ChangeRepoSettings() {
return ctx.canChangeSettings()
}

View file

@ -81,12 +81,14 @@ func ServCommand(ctx *context.PrivateContext) {
ownerName := ctx.Params(":owner")
repoName := ctx.Params(":repo")
mode := perm.AccessMode(ctx.FormInt("mode"))
verbs := ctx.FormStrings("verb")
// Set the basic parts of the results to return
results := private.ServCommandResults{
RepoName: repoName,
OwnerName: ownerName,
KeyID: keyID,
UserMode: perm.AccessModeNone,
}
// Now because we're not translating things properly let's just default some English strings here
@ -287,8 +289,10 @@ func ServCommand(ctx *context.PrivateContext) {
repo.IsPrivate ||
owner.Visibility.IsPrivate() ||
(user != nil && user.IsRestricted) || // user will be nil if the key is a deploykey
(setting.Annex.Enabled && len(verbs) > 0 && verbs[0] == "git-annex-shell") || // git-annex has its own permission enforcement, for which we expose results.UserMode
setting.Service.RequireSignInView) {
if key.Type == asymkey_model.KeyTypeDeploy {
results.UserMode = deployKey.Mode
if deployKey.Mode < mode {
ctx.JSON(http.StatusUnauthorized, private.Response{
UserMsg: fmt.Sprintf("Deploy Key: %d:%s is not authorized to %s %s/%s.", key.ID, key.Name, modeString, results.OwnerName, results.RepoName),
@ -310,9 +314,9 @@ func ServCommand(ctx *context.PrivateContext) {
return
}
userMode := perm.UnitAccessMode(unitType)
results.UserMode = perm.UnitAccessMode(unitType)
if userMode < mode {
if results.UserMode < mode {
log.Warn("Failed authentication attempt for %s with key %s (not authorized to %s %s/%s) from %s", user.Name, key.Name, modeString, ownerName, repoName, ctx.RemoteAddr())
ctx.JSON(http.StatusUnauthorized, private.Response{
UserMsg: fmt.Sprintf("User: %d:%s with Key: %d:%s is not authorized to %s %s/%s.", user.ID, user.Name, key.ID, key.Name, modeString, ownerName, repoName),
@ -353,6 +357,7 @@ func ServCommand(ctx *context.PrivateContext) {
})
return
}
results.UserMode = perm.AccessModeWrite
results.RepoID = repo.ID
}
@ -381,13 +386,14 @@ func ServCommand(ctx *context.PrivateContext) {
return
}
}
log.Debug("Serv Results:\nIsWiki: %t\nDeployKeyID: %d\nKeyID: %d\tKeyName: %s\nUserName: %s\nUserID: %d\nOwnerName: %s\nRepoName: %s\nRepoID: %d",
log.Debug("Serv Results:\nIsWiki: %t\nDeployKeyID: %d\nKeyID: %d\tKeyName: %s\nUserName: %s\nUserID: %d\nUserMode: %d\nOwnerName: %s\nRepoName: %s\nRepoID: %d",
results.IsWiki,
results.DeployKeyID,
results.KeyID,
results.KeyName,
results.UserName,
results.UserID,
results.UserMode,
results.OwnerName,
results.RepoName,
results.RepoID)

View file

@ -95,6 +95,8 @@ func List(ctx *context.Context) {
allRunnerLabels.AddMultiple(r.AgentLabels...)
}
canRun := ctx.Repo.CanWrite(unit.TypeActions)
workflows = make([]Workflow, 0, len(entries))
for _, entry := range entries {
workflow := Workflow{Entry: *entry}
@ -146,7 +148,7 @@ func List(ctx *context.Context) {
}
workflows = append(workflows, workflow)
if workflow.Entry.Name() == curWorkflow {
if canRun && workflow.Entry.Name() == curWorkflow {
config := wf.WorkflowDispatchConfig()
if config != nil {
keys := util.KeysOfMap(config.Inputs)

View file

@ -242,6 +242,12 @@ func FileHistory(ctx *context.Context) {
ctx.ServerError("CommitsByFileAndRange", err)
return
}
if len(commits) == 0 {
ctx.NotFound("CommitsByFileAndRange", nil)
return
}
oldestCommit := commits[len(commits)-1]
renamedFiles, err := git.GetCommitFileRenames(ctx, ctx.Repo.GitRepo.Path, oldestCommit.ID.String())

View file

@ -9,6 +9,7 @@ import (
"time"
git_model "code.gitea.io/gitea/models/git"
"code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/httpcache"
"code.gitea.io/gitea/modules/lfs"
@ -79,6 +80,26 @@ func ServeBlobOrLFS(ctx *context.Context, blob *git.Blob, lastModified *time.Tim
}
closed = true
// check for git-annex files
// (this code is weirdly redundant because I'm trying not to delete any lines in order to make merges easier)
isAnnexed, err := annex.IsAnnexed(blob)
if err != nil {
ctx.ServerError("annex.IsAnnexed", err)
return err
}
if isAnnexed {
content, err := annex.Content(blob)
if err != nil {
// XXX are there any other possible failure cases here?
// there are, there could be unrelated io errors; those should be ctx.ServerError()s
ctx.NotFound("annex.Content", err)
return err
}
defer content.Close()
common.ServeContentByReadSeeker(ctx.Base, ctx.Repo.TreePath, lastModified, content)
return nil
}
return common.ServeBlob(ctx.Base, ctx.Repo.TreePath, blob, lastModified)
}

View file

@ -596,3 +596,34 @@ func GetIdxFile(ctx *context.Context) {
h.sendFile(ctx, "application/x-git-packed-objects-toc", "objects/pack/pack-"+ctx.Params("file")+".idx")
}
}
// GetAnnexObject implements git-annex dumb HTTP
func GetAnnexObject(ctx *context.Context) {
h := httpBase(ctx)
if h != nil {
// git-annex objects are stored in .git/annex/objects/{hash1}/{hash2}/{key}/{key}
// where key is a string containing the size and (usually SHA256) checksum of the file,
// and hash1+hash2 are the first few bits of the md5sum of key itself.
// ({hash1}/{hash2}/ is just there to avoid putting too many files in one directory)
// ref: https://git-annex.branchable.com/internals/hashing/
// keyDir should = key, but we don't enforce that
object := filepath.Join(ctx.Params("hash1"), ctx.Params("hash2"), ctx.Params("keyDir"), ctx.Params("key"))
// Sanitize the input against directory traversals.
//
// This works because at the filesystem root, "/.." = "/";
// So if a path starts rooted ("/"), path.Clean(), which
// path.Join() calls internally, removes all '..' prefixes.
// After, this unroots the path unconditionally ([1:]), which
// works because we know the input is never supposed to be rooted.
//
// The router code probably also disallows "..", so this
// should be redundant, but it's defensive to keep it
// whenever touching filesystem paths with user input.
object = filepath.Join(string(filepath.Separator), object)[1:]
setHeaderCacheForever(ctx)
h.sendFile(ctx, "application/octet-stream", "annex/objects/"+object)
}
}

View file

@ -33,6 +33,7 @@ import (
unit_model "code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/actions"
"code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/charset"
"code.gitea.io/gitea/modules/git"
@ -208,14 +209,47 @@ func localizedExtensions(ext, languageCode string) (localizedExts []string) {
}
type fileInfo struct {
isTextFile bool
isLFSFile bool
fileSize int64
lfsMeta *lfs.Pointer
st typesniffer.SniffedType
isTextFile bool
isLFSFile bool
isAnnexFile bool
fileSize int64
lfsMeta *lfs.Pointer
st typesniffer.SniffedType
}
func getFileReader(ctx gocontext.Context, repoID int64, blob *git.Blob) ([]byte, io.ReadCloser, *fileInfo, error) {
isAnnexed, err := annex.IsAnnexed(blob)
if err != nil {
return nil, nil, nil, err
}
if isAnnexed {
// TODO: this code could be merged with the LFS case, especially the redundant type sniffer,
// but it is *currently* written this way to make merging with the non-annex upstream easier:
// this way, the git-annex patch is (mostly) pure additions.
annexContent, err := annex.Content(blob)
if err != nil {
// in the case where annex content is missing, what should happen?
// do we render the page with an error message?
// actually that's not a bad idea, there's some sort of error message situation
// TODO: display an error to the user explaining that their data is missing
return nil, nil, nil, err
}
stat, err := annexContent.Stat()
if err != nil {
return nil, nil, nil, err
}
buf := make([]byte, 1024)
n, _ := util.ReadAtMost(annexContent, buf)
buf = buf[:n]
st := typesniffer.DetectContentType(buf)
return buf, annexContent, &fileInfo{st.IsText(), false, true, stat.Size(), nil, st}, nil
}
dataRc, err := blob.DataAsync()
if err != nil {
return nil, nil, nil, err
@ -230,17 +264,17 @@ func getFileReader(ctx gocontext.Context, repoID int64, blob *git.Blob) ([]byte,
// FIXME: what happens when README file is an image?
if !isTextFile || !setting.LFS.StartServer {
return buf, dataRc, &fileInfo{isTextFile, false, blob.Size(), nil, st}, nil
return buf, dataRc, &fileInfo{isTextFile, false, false, blob.Size(), nil, st}, nil
}
pointer, _ := lfs.ReadPointerFromBuffer(buf)
if !pointer.IsValid() { // fallback to plain file
return buf, dataRc, &fileInfo{isTextFile, false, blob.Size(), nil, st}, nil
return buf, dataRc, &fileInfo{isTextFile, false, false, blob.Size(), nil, st}, nil
}
meta, err := git_model.GetLFSMetaObjectByOid(ctx, repoID, pointer.Oid)
if err != nil && err != git_model.ErrLFSObjectNotExist { // fallback to plain file
return buf, dataRc, &fileInfo{isTextFile, false, blob.Size(), nil, st}, nil
return buf, dataRc, &fileInfo{isTextFile, false, false, blob.Size(), nil, st}, nil
}
dataRc.Close()
@ -263,7 +297,7 @@ func getFileReader(ctx gocontext.Context, repoID int64, blob *git.Blob) ([]byte,
st = typesniffer.DetectContentType(buf)
return buf, dataRc, &fileInfo{st.IsText(), true, meta.Size, &meta.Pointer, st}, nil
return buf, dataRc, &fileInfo{st.IsText(), true, false, meta.Size, &meta.Pointer, st}, nil
}
func renderReadmeFile(ctx *context.Context, subfolder string, readmeFile *git.TreeEntry) {
@ -445,10 +479,17 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) {
isDisplayingSource := ctx.FormString("display") == "source"
isDisplayingRendered := !isDisplayingSource
if fInfo.isLFSFile {
if fInfo.isLFSFile || fInfo.isAnnexFile {
ctx.Data["RawFileLink"] = ctx.Repo.RepoLink + "/media/" + ctx.Repo.BranchNameSubURL() + "/" + util.PathEscapeSegments(ctx.Repo.TreePath)
}
if fInfo.isAnnexFile {
// pre-git-annex v7, all annexed files were represented in-repo as symlinks;
// but we pretend they aren't, since that's a distracting quirk of git-annex
// and not a meaningful choice on the user's part
ctx.Data["FileIsSymlink"] = false
}
isRepresentableAsText := fInfo.st.IsRepresentableAsText()
if !isRepresentableAsText {
// If we can't show plain text, always try to render.
@ -456,6 +497,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) {
isDisplayingRendered = true
}
ctx.Data["IsLFSFile"] = fInfo.isLFSFile
ctx.Data["IsAnnexFile"] = fInfo.isAnnexFile
ctx.Data["FileSize"] = fInfo.fileSize
ctx.Data["IsTextFile"] = fInfo.isTextFile
ctx.Data["IsRepresentableAsText"] = isRepresentableAsText
@ -490,6 +532,8 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) {
// Assume file is not editable first.
if fInfo.isLFSFile {
ctx.Data["EditFileTooltip"] = ctx.Tr("repo.editor.cannot_edit_lfs_files")
} else if fInfo.isAnnexFile {
ctx.Data["EditFileTooltip"] = ctx.Tr("repo.editor.cannot_edit_annex_files")
} else if !isRepresentableAsText {
ctx.Data["EditFileTooltip"] = ctx.Tr("repo.editor.cannot_edit_non_text_files")
}
@ -589,7 +633,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) {
ctx.Data["FileContent"] = fileContent
ctx.Data["LineEscapeStatus"] = statuses
}
if !fInfo.isLFSFile {
if !fInfo.isLFSFile && !fInfo.isAnnexFile {
if ctx.Repo.CanEnableEditor(ctx, ctx.Doer) {
if lfsLock != nil && lfsLock.OwnerID != ctx.Doer.ID {
ctx.Data["CanEditFile"] = false

View file

@ -346,6 +346,13 @@ func registerRoutes(m *web.Route) {
}
}
annexEnabled := func(ctx *context.Context) {
if !setting.Annex.Enabled {
ctx.Error(http.StatusNotFound)
return
}
}
federationEnabled := func(ctx *context.Context) {
if !setting.Federation.Enabled {
ctx.Error(http.StatusNotFound)
@ -1610,6 +1617,12 @@ func registerRoutes(m *web.Route) {
})
}, ignSignInAndCsrf, lfsServerEnabled)
m.Group("", func() {
// for git-annex
m.Methods("GET,OPTIONS", "/config", repo.GetTextFile("config")) // needed by clients reading annex.uuid during `git annex initremote`
m.Methods("GET,OPTIONS", "/annex/objects/{hash1}/{hash2}/{keyDir}/{key}", repo.GetAnnexObject)
}, ignSignInAndCsrf, annexEnabled, context.UserAssignmentWeb())
gitHTTPRouters(m)
})
})

View file

@ -55,10 +55,20 @@ func (n *actionsNotifier) NewIssue(ctx context.Context, issue *issues_model.Issu
}).Notify(withMethod(ctx, "NewIssue"))
}
func (n *actionsNotifier) IssueChangeTitle(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, _ string) {
ctx = withMethod(ctx, "IssueChangeTitle")
n.issueChange(ctx, doer, issue)
}
// IssueChangeContent notifies change content of issue
func (n *actionsNotifier) IssueChangeContent(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, oldContent string) {
func (n *actionsNotifier) IssueChangeContent(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, _ string) {
ctx = withMethod(ctx, "IssueChangeContent")
n.issueChange(ctx, doer, issue)
}
func (n *actionsNotifier) issueChange(ctx context.Context, doer *user_model.User, issue *issues_model.Issue) {
var err error
if err = issue.LoadRepo(ctx); err != nil {
log.Error("LoadRepo: %v", err)

View file

@ -13,6 +13,7 @@ import (
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/git/pushoptions"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/private"
notify_service "code.gitea.io/gitea/services/notify"
@ -23,10 +24,10 @@ import (
func ProcReceive(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, opts *private.HookOptions) ([]private.HookProcReceiveRefResult, error) {
results := make([]private.HookProcReceiveRefResult, 0, len(opts.OldCommitIDs))
topicBranch := opts.GitPushOptions["topic"]
_, forcePush := opts.GitPushOptions["force-push"]
title, hasTitle := opts.GitPushOptions["title"]
description, hasDesc := opts.GitPushOptions["description"]
topicBranch, _ := opts.GetGitPushOptions().GetString(pushoptions.AgitTopic)
_, forcePush := opts.GetGitPushOptions().GetString(pushoptions.AgitForcePush)
title, hasTitle := opts.GetGitPushOptions().GetString(pushoptions.AgitTitle)
description, hasDesc := opts.GetGitPushOptions().GetString(pushoptions.AgitDescription)
objectFormat := git.ObjectFormatFromName(repo.ObjectFormatName)

View file

@ -61,6 +61,17 @@ func isArchivePath(req *http.Request) bool {
return archivePathRe.MatchString(req.URL.Path)
}
var annexPathRe = regexp.MustCompile(`^/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/annex/`)
func isAnnexPath(req *http.Request) bool {
if setting.Annex.Enabled {
// "/config" is git's config, not specifically git-annex's; but the only current
// user of it is when git-annex downloads the annex.uuid during 'git annex init'.
return strings.HasSuffix(req.URL.Path, "/config") || annexPathRe.MatchString(req.URL.Path)
}
return false
}
// handleSignIn clears existing session variables and stores new ones for the specified user object
func handleSignIn(resp http.ResponseWriter, req *http.Request, sess SessionStore, user *user_model.User) {
// We need to regenerate the session...

View file

@ -42,8 +42,8 @@ func (b *Basic) Name() string {
// name/token on successful validation.
// Returns nil if header is empty or validation fails.
func (b *Basic) Verify(req *http.Request, w http.ResponseWriter, store DataStore, sess SessionStore) (*user_model.User, error) {
// Basic authentication should only fire on API, Download or on Git or LFSPaths
if !middleware.IsAPIPath(req) && !isContainerPath(req) && !isAttachmentDownload(req) && !isGitRawOrAttachOrLFSPath(req) {
// Basic authentication should only fire on API, Download or on Git, LFSPaths or Git-Annex paths
if !middleware.IsAPIPath(req) && !isContainerPath(req) && !isAttachmentDownload(req) && !isGitRawOrAttachOrLFSPath(req) && !isAnnexPath(req) {
return nil, nil
}

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