diff --git a/.forgejo/workflows-composite/apt-install-from/action.yaml b/.forgejo/workflows-composite/apt-install-from/action.yaml
index 615e7cb184..ab55883a11 100644
--- a/.forgejo/workflows-composite/apt-install-from/action.yaml
+++ b/.forgejo/workflows-composite/apt-install-from/action.yaml
@@ -13,6 +13,8 @@ runs:
run: |
export DEBIAN_FRONTEND=noninteractive
echo "deb http://deb.debian.org/debian/ ${RELEASE} main" > "/etc/apt/sources.list.d/${RELEASE}.list"
+ 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
env:
RELEASE: ${{inputs.release}}
- name: install packages
@@ -24,6 +26,7 @@ runs:
- name: remove temporary package list to prevent using it in other steps
run: |
rm "/etc/apt/sources.list.d/${RELEASE}.list"
+ rm "/etc/apt/sources.list.d/neurodebian.sources.list"
apt-get update -qq
env:
RELEASE: ${{inputs.release}}
diff --git a/.forgejo/workflows-composite/build-backend/action.yaml b/.forgejo/workflows-composite/build-backend/action.yaml
index ada372b834..68a99ffaf9 100644
--- a/.forgejo/workflows-composite/build-backend/action.yaml
+++ b/.forgejo/workflows-composite/build-backend/action.yaml
@@ -3,7 +3,7 @@ runs:
steps:
- run: |
su forgejo -c 'make deps-backend'
- - uses: actions/cache@v4
+ - uses: https://data.forgejo.org/actions/cache@v4
id: cache-backend
with:
path: ${{github.workspace}}/gitea
diff --git a/.forgejo/workflows-composite/setup-cache-go/action.yaml b/.forgejo/workflows-composite/setup-cache-go/action.yaml
index 67372d9f36..1e0425fd0e 100644
--- a/.forgejo/workflows-composite/setup-cache-go/action.yaml
+++ b/.forgejo/workflows-composite/setup-cache-go/action.yaml
@@ -48,7 +48,7 @@ runs:
- name: "Restore Go dependencies from cache or mark for later caching"
id: cache-deps
- uses: actions/cache@v4
+ uses: https://data.forgejo.org/actions/cache@v4
with:
key: setup-cache-go-deps-${{ runner.os }}-${{ inputs.username }}-${{ steps.go-version.outputs.go_version }}-${{ hashFiles('go.sum', 'go.mod') }}
restore-keys: |
diff --git a/.forgejo/workflows-composite/setup-env/action.yaml b/.forgejo/workflows-composite/setup-env/action.yaml
index 28216e9b8d..f19569a137 100644
--- a/.forgejo/workflows-composite/setup-env/action.yaml
+++ b/.forgejo/workflows-composite/setup-env/action.yaml
@@ -19,7 +19,7 @@ runs:
set -ex
toolchain=$(grep -oP '(?<=toolchain ).+' go.mod)
version=$(go version | cut -d' ' -f3)
- if [ "$toolchain" != "$version" ]; then
- echo "go version mismatch: $toolchain <> $version"
+ if dpkg --compare-versions ${version#go} lt ${toolchain#go}; then
+ echo "go version too low: $toolchain >= $version"
exit 1
fi
diff --git a/.forgejo/workflows/build-oci-image.yml b/.forgejo/workflows/build-oci-image.yml
new file mode 100644
index 0000000000..8e843b41ee
--- /dev/null
+++ b/.forgejo/workflows/build-oci-image.yml
@@ -0,0 +1,41 @@
+on:
+ push:
+ branches:
+ - 'forgejo'
+ tags:
+ - '*-git-annex*'
+
+jobs:
+ build-oci-image:
+ runs-on: docker
+ strategy:
+ matrix:
+ type: ["rootful", "rootless"]
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0 # fetch the full history so that the Forgejo version is determined properly
+ - name: Determine registry and username
+ id: determine-registry-and-username
+ run: |
+ echo "registry=${GITHUB_SERVER_URL#https://}" >> "$GITHUB_OUTPUT"
+ echo "username=${GITHUB_REPOSITORY%/*}" >> "$GITHUB_OUTPUT"
+ - name: Install Docker
+ run: curl -fsSL https://get.docker.com | sh
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+ - name: Login to Docker Hub
+ uses: docker/login-action@v3
+ with:
+ registry: ${{ steps.determine-registry-and-username.outputs.registry }}
+ username: ${{ steps.determine-registry-and-username.outputs.username }}
+ password: ${{ secrets.REGISTRY_TOKEN }}
+ - name: Build and push
+ uses: docker/build-push-action@v6
+ with:
+ context: .
+ file: ${{ (matrix.type == 'rootful' && 'Dockerfile') || (matrix.type == 'rootless' && 'Dockerfile.rootless') }}
+ push: true
+ tags: ${{ steps.determine-registry-and-username.outputs.registry }}/${{ github.repository }}:${{ github.ref_name }}${{ (matrix.type == 'rootful' && ' ') || (matrix.type == 'rootless' && '-rootless') }}
diff --git a/.forgejo/workflows/build-release-integration.yml b/.forgejo/workflows/build-release-integration.yml
index 6410915644..1af6d567dd 100644
--- a/.forgejo/workflows/build-release-integration.yml
+++ b/.forgejo/workflows/build-release-integration.yml
@@ -25,7 +25,7 @@ jobs:
if: vars.ROLE == 'forgejo-coding'
runs-on: lxc-bookworm
steps:
- - uses: actions/checkout@v4
+ - uses: https://data.forgejo.org/actions/checkout@v4
- id: forgejo
uses: https://data.forgejo.org/actions/setup-forgejo@v2.0.4
diff --git a/.forgejo/workflows/build-release.yml b/.forgejo/workflows/build-release.yml
index 433b085969..0d7f94c5a6 100644
--- a/.forgejo/workflows/build-release.yml
+++ b/.forgejo/workflows/build-release.yml
@@ -33,7 +33,7 @@ jobs:
# root is used for testing, allow it
if: vars.ROLE == 'forgejo-integration' || github.repository_owner == 'root'
steps:
- - uses: actions/checkout@v4
+ - uses: https://data.forgejo.org/actions/checkout@v4
with:
fetch-depth: 0
@@ -164,7 +164,7 @@ jobs:
- name: build container & release
if: ${{ secrets.TOKEN != '' }}
- uses: https://data.forgejo.org/forgejo/forgejo-build-publish/build@v5.2.1
+ uses: https://data.forgejo.org/forgejo/forgejo-build-publish/build@v5.3.1
with:
forgejo: "${{ env.GITHUB_SERVER_URL }}"
owner: "${{ env.GITHUB_REPOSITORY_OWNER }}"
@@ -183,7 +183,7 @@ jobs:
- name: build rootless container
if: ${{ secrets.TOKEN != '' }}
- uses: https://data.forgejo.org/forgejo/forgejo-build-publish/build@v5.2.1
+ uses: https://data.forgejo.org/forgejo/forgejo-build-publish/build@v5.3.1
with:
forgejo: "${{ env.GITHUB_SERVER_URL }}"
owner: "${{ env.GITHUB_REPOSITORY_OWNER }}"
diff --git a/.forgejo/workflows/cascade-setup-end-to-end.yml b/.forgejo/workflows/cascade-setup-end-to-end.yml
index 710cd27ba4..bcc7821f4f 100644
--- a/.forgejo/workflows/cascade-setup-end-to-end.yml
+++ b/.forgejo/workflows/cascade-setup-end-to-end.yml
@@ -37,11 +37,11 @@ jobs:
container:
image: data.forgejo.org/oci/node:20-bookworm
steps:
- - uses: actions/checkout@v4
+ - uses: https://data.forgejo.org/actions/checkout@v4
with:
fetch-depth: '0'
show-progress: 'false'
- - uses: https://code.forgejo.org/actions/cascading-pr@v2.2.0
+ - uses: https://data.forgejo.org/actions/cascading-pr@v2.2.0
with:
origin-url: ${{ env.GITHUB_SERVER_URL }}
origin-repo: ${{ github.repository }}
diff --git a/.forgejo/workflows/publish-release.yml b/.forgejo/workflows/publish-release.yml
index cbc8455a99..93ad54de1c 100644
--- a/.forgejo/workflows/publish-release.yml
+++ b/.forgejo/workflows/publish-release.yml
@@ -39,10 +39,10 @@ jobs:
runs-on: lxc-bookworm
if: vars.DOER != '' && vars.FORGEJO != '' && vars.TO_OWNER != '' && vars.FROM_OWNER != '' && secrets.TOKEN != ''
steps:
- - uses: actions/checkout@v4
+ - uses: https://data.forgejo.org/actions/checkout@v4
- name: copy & sign
- uses: https://data.forgejo.org/forgejo/forgejo-build-publish/publish@v5.2.1
+ uses: https://data.forgejo.org/forgejo/forgejo-build-publish/publish@v5.3.1
with:
from-forgejo: ${{ vars.FORGEJO }}
to-forgejo: ${{ vars.FORGEJO }}
diff --git a/.forgejo/workflows/testing.yml b/.forgejo/workflows/testing.yml
index eb3163d3ae..a93ca7879c 100644
--- a/.forgejo/workflows/testing.yml
+++ b/.forgejo/workflows/testing.yml
@@ -10,7 +10,6 @@ on:
jobs:
backend-checks:
- if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
runs-on: docker
container:
image: 'data.forgejo.org/oci/node:20-bookworm'
@@ -27,7 +26,6 @@ jobs:
- run: su forgejo -c 'make --always-make -j$(nproc) lint-backend tidy-check swagger-check fmt-check swagger-validate' # ensure the "go-licenses" make target runs
- uses: ./.forgejo/workflows-composite/build-backend
frontend-checks:
- if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
runs-on: docker
container:
image: 'data.forgejo.org/oci/node:20-bookworm'
@@ -46,7 +44,7 @@ jobs:
apt-get update -qq
apt-get -q install -qq -y zstd
- name: "Cache frontend build for playwright testing"
- uses: actions/cache/save@v4
+ uses: https://data.forgejo.org/actions/cache/save@v4
with:
path: ${{github.workspace}}/public/assets
key: frontend-build-${{ github.sha }}
@@ -104,7 +102,7 @@ jobs:
fetch-depth: 20
- uses: ./.forgejo/workflows-composite/setup-env
- name: "Restore frontend build"
- uses: actions/cache/restore@v4
+ uses: https://data.forgejo.org/actions/cache/restore@v4
id: cache-frontend
with:
path: ${{github.workspace}}/public/assets
@@ -176,7 +174,6 @@ jobs:
TAGS: bindata
TEST_REDIS_SERVER: cacher:${{ matrix.cacher.port }}
test-mysql:
- if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
runs-on: docker
needs: [backend-checks, frontend-checks]
container:
@@ -199,15 +196,13 @@ jobs:
- name: install dependencies & git >= 2.42
uses: ./.forgejo/workflows-composite/apt-install-from
with:
- packages: git git-lfs
+ packages: git git-annex-standalone git-lfs
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-mysql-migration test-mysql'
- timeout-minutes: 120
env:
USE_REPO_TEST_DIR: 1
test-pgsql:
- if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
runs-on: docker
needs: [backend-checks, frontend-checks]
container:
@@ -236,17 +231,15 @@ jobs:
- name: install dependencies & git >= 2.42
uses: ./.forgejo/workflows-composite/apt-install-from
with:
- packages: git git-lfs
+ packages: git git-annex-standalone git-lfs
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-pgsql-migration test-pgsql'
- timeout-minutes: 120
env:
RACE_ENABLED: true
USE_REPO_TEST_DIR: 1
TEST_LDAP: 1
test-sqlite:
- if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
runs-on: docker
needs: [backend-checks, frontend-checks]
container:
@@ -258,25 +251,21 @@ jobs:
- name: install dependencies & git >= 2.42
uses: ./.forgejo/workflows-composite/apt-install-from
with:
- packages: git git-lfs
+ packages: git git-annex-standalone git-lfs
- uses: ./.forgejo/workflows-composite/build-backend
- run: |
su forgejo -c 'make test-sqlite-migration test-sqlite'
- timeout-minutes: 120
env:
TAGS: sqlite sqlite_unlock_notify
RACE_ENABLED: true
TEST_TAGS: sqlite sqlite_unlock_notify
USE_REPO_TEST_DIR: 1
security-check:
- if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
runs-on: docker
needs:
- test-sqlite
- test-pgsql
- test-mysql
- - test-remote-cacher
- - test-unit
container:
image: 'data.forgejo.org/oci/node:20-bookworm'
options: --tmpfs /tmp:exec,noatime
diff --git a/.gitignore b/.gitignore
index 744577248d..f040fdaf37 100644
--- a/.gitignore
+++ b/.gitignore
@@ -72,6 +72,7 @@ cpu.out
/tests/e2e/reports
/tests/e2e/test-artifacts
/tests/e2e/test-snapshots
+/tests/e2e/.auth
/tests/*.ini
/tests/**/*.git/**/*.sample
/node_modules
diff --git a/Dockerfile b/Dockerfile
index ae21a0821e..1f33f5d57f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
-FROM --platform=$BUILDPLATFORM code.forgejo.org/oci/xx AS xx
+FROM --platform=$BUILDPLATFORM data.forgejo.org/oci/xx AS xx
-FROM --platform=$BUILDPLATFORM code.forgejo.org/oci/golang:1.23-alpine3.20 as build-env
+FROM --platform=$BUILDPLATFORM data.forgejo.org/oci/golang:1.23-alpine3.20 as build-env
ARG GOPROXY
ENV GOPROXY=${GOPROXY:-direct}
@@ -51,7 +51,7 @@ RUN chmod 755 /tmp/local/usr/bin/entrypoint \
/go/src/code.gitea.io/gitea/environment-to-ini
RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
-FROM code.forgejo.org/oci/alpine:3.20
+FROM data.forgejo.org/oci/alpine:3.20
ARG RELEASE_VERSION
LABEL maintainer="contact@forgejo.org" \
org.opencontainers.image.authors="Forgejo" \
@@ -78,6 +78,7 @@ RUN apk --no-cache add \
sqlite \
su-exec \
gnupg \
+ git-annex \
&& rm -rf /var/cache/apk/*
RUN addgroup \
diff --git a/Dockerfile.rootless b/Dockerfile.rootless
index c5d6a13f35..63fb88a7a7 100644
--- a/Dockerfile.rootless
+++ b/Dockerfile.rootless
@@ -1,6 +1,6 @@
-FROM --platform=$BUILDPLATFORM code.forgejo.org/oci/xx AS xx
+FROM --platform=$BUILDPLATFORM data.forgejo.org/oci/xx AS xx
-FROM --platform=$BUILDPLATFORM code.forgejo.org/oci/golang:1.23-alpine3.20 as build-env
+FROM --platform=$BUILDPLATFORM data.forgejo.org/oci/golang:1.23-alpine3.20 as build-env
ARG GOPROXY
ENV GOPROXY=${GOPROXY:-direct}
@@ -49,7 +49,7 @@ RUN chmod 755 /tmp/local/usr/local/bin/docker-entrypoint.sh \
/go/src/code.gitea.io/gitea/environment-to-ini
RUN chmod 644 /go/src/code.gitea.io/gitea/contrib/autocompletion/bash_autocomplete
-FROM code.forgejo.org/oci/alpine:3.20
+FROM data.forgejo.org/oci/alpine:3.20
LABEL maintainer="contact@forgejo.org" \
org.opencontainers.image.authors="Forgejo" \
org.opencontainers.image.url="https://forgejo.org" \
@@ -71,6 +71,7 @@ RUN apk --no-cache add \
git \
curl \
gnupg \
+ git-annex \
&& rm -rf /var/cache/apk/*
RUN addgroup \
diff --git a/Makefile b/Makefile
index a9de57e523..561d674198 100644
--- a/Makefile
+++ b/Makefile
@@ -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
@@ -104,7 +104,7 @@ else
FORGEJO_VERSION_API ?= $(GITEA_VERSION)+${GITEA_COMPATIBILITY}
else
# drop the "g" prefix prepended by git describe to the commit hash
- FORGEJO_VERSION ?= $(shell git describe --exclude '*-test' --tags --always | sed 's/^v//' | sed 's/\-g/-/')+${GITEA_COMPATIBILITY}
+ FORGEJO_VERSION ?= $(shell git describe --exclude '*-test' --tags --always | sed 's/^v//' | sed 's/\-g/-/2')+${GITEA_COMPATIBILITY}
endif
endif
FORGEJO_VERSION_MAJOR=$(shell echo $(FORGEJO_VERSION) | sed -e 's/\..*//')
diff --git a/assets/go-licenses.json b/assets/go-licenses.json
index 1d19440d59..73ad852082 100644
--- a/assets/go-licenses.json
+++ b/assets/go-licenses.json
@@ -84,6 +84,11 @@
"path": "gitea.com/lunny/levelqueue/LICENSE",
"licenseText": "Copyright (c) 2019 Lunny Xiao\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
},
+ {
+ "name": "github.com/42wim/httpsig",
+ "path": "github.com/42wim/httpsig/LICENSE",
+ "licenseText": "BSD 3-Clause License\n\nCopyright (c) 2018, go-fed\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+ },
{
"name": "github.com/42wim/sshsig",
"path": "github.com/42wim/sshsig/LICENSE",
@@ -292,7 +297,7 @@
{
"name": "github.com/cyphar/filepath-securejoin",
"path": "github.com/cyphar/filepath-securejoin/LICENSE",
- "licenseText": "Copyright (C) 2014-2015 Docker Inc \u0026 Go Authors. All rights reserved.\nCopyright (C) 2017 SUSE LLC. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+ "licenseText": "Copyright (C) 2014-2015 Docker Inc \u0026 Go Authors. All rights reserved.\nCopyright (C) 2017-2024 SUSE LLC. All rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are\nmet:\n\n * Redistributions of source code must retain the above copyright\nnotice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\ncopyright notice, this list of conditions and the following disclaimer\nin the documentation and/or other materials provided with the\ndistribution.\n * Neither the name of Google Inc. nor the names of its\ncontributors may be used to endorse or promote products derived from\nthis software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\nLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\nA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\nOWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\nSPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\nLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\nDATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\nTHEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
},
{
"name": "github.com/davecgh/go-spew/spew",
diff --git a/build/lint-locale.go b/build/lint-locale.go
index c49e236938..0b5e501701 100644
--- a/build/lint-locale.go
+++ b/build/lint-locale.go
@@ -59,9 +59,9 @@ func initRemoveTags() {
oldnew := []string{}
for _, el := range []string{
"email@example.com", "correu@example.com", "epasts@domens.lv", "email@exemplo.com", "eposta@ornek.com", "email@példa.hu", "email@esempio.it",
- "user", "utente", "lietotājs", "gebruiker", "usuário", "Benutzer", "Bruker",
+ "user", "utente", "lietotājs", "gebruiker", "usuário", "Benutzer", "Bruker", "bruger", "użytkownik",
"server", "servidor", "kiszolgáló", "serveris",
- "label", "etichetta", "etiķete", "rótulo", "Label", "utilizador",
+ "label", "etichetta", "etiķete", "rótulo", "Label", "utilizador", "etiket", "iezīme", "etykieta",
} {
oldnew = append(oldnew, "<"+el+">", "REPLACED-TAG")
}
diff --git a/cmd/serv.go b/cmd/serv.go
index db67e36fa3..57804034e2 100644
--- a/cmd/serv.go
+++ b/cmd/serv.go
@@ -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-\.]`)
)
@@ -212,6 +214,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)
@@ -225,6 +249,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)
}
@@ -303,21 +339,45 @@ 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 {
+ gitBinVerb, err := exec.LookPath(verb)
+ if 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)
diff --git a/cmd/web.go b/cmd/web.go
index 44babd51c5..661e6d158e 100644
--- a/cmd/web.go
+++ b/cmd/web.go
@@ -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:
diff --git a/custom/conf/app.example.ini b/custom/conf/app.example.ini
index ee8ad66668..3c723fa4c7 100644
--- a/custom/conf/app.example.ini
+++ b/custom/conf/app.example.ini
@@ -2678,6 +2678,17 @@ LEVEL = Info
;; Limit the number of concurrent upload/download operations within a batch
;BATCH_OPERATION_CONCURRENCY = 8
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;[annex]
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Whether git-annex is enabled; defaults to false
+;ENABLED = false
+;; Whether to disable p2phttp support; default is the same as repository.DISABLE_HTTP_GIT
+;DISABLE_P2PHTTP = false
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; settings for packages, will override storage setting
diff --git a/go.mod b/go.mod
index b054802289..19bec3f81f 100644
--- a/go.mod
+++ b/go.mod
@@ -2,10 +2,10 @@ module code.gitea.io/gitea
go 1.23
-toolchain go1.23.4
+toolchain go1.23.5
require (
- code.forgejo.org/f3/gof3/v3 v3.7.0
+ code.forgejo.org/f3/gof3/v3 v3.10.2
code.forgejo.org/forgejo-contrib/go-libravatar v0.0.0-20191008002943-06d1c002b251
code.forgejo.org/forgejo/reply v1.0.2
code.forgejo.org/go-chi/binding v1.0.0
@@ -19,10 +19,10 @@ require (
gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4
github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358
- github.com/ProtonMail/go-crypto v1.0.0
+ github.com/ProtonMail/go-crypto v1.1.3
github.com/PuerkitoBio/goquery v1.10.0
github.com/SaveTheRbtz/zstd-seekable-format-go/pkg v0.7.2
- github.com/alecthomas/chroma/v2 v2.14.0
+ github.com/alecthomas/chroma/v2 v2.15.0
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
github.com/blevesearch/bleve/v2 v2.4.4
github.com/buildkite/terminal-to-html/v3 v3.16.4
@@ -44,7 +44,7 @@ require (
github.com/go-co-op/gocron v1.37.0
github.com/go-enry/go-enry/v2 v2.9.1
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e
- github.com/go-git/go-git/v5 v5.11.0
+ github.com/go-git/go-git/v5 v5.13.1
github.com/go-ldap/ldap/v3 v3.4.6
github.com/go-openapi/spec v0.20.14
github.com/go-sql-driver/mysql v1.8.1
@@ -89,7 +89,7 @@ require (
github.com/robfig/cron/v3 v3.0.1
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1
github.com/sassoftware/go-rpmutils v0.4.0
- github.com/sergi/go-diff v1.3.1
+ github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3
github.com/shurcooL/vfsgen v0.0.0-20230704071429-0000e147ea92
github.com/stretchr/testify v1.10.0
github.com/syndtr/goleveldb v1.0.0
@@ -131,6 +131,7 @@ require (
dario.cat/mergo v1.0.0 // indirect
filippo.io/edwards25519 v1.1.0 // indirect
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 // indirect
+ github.com/42wim/httpsig v1.2.2 // indirect
github.com/DataDog/zstd v1.5.5 // indirect
github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.2 // indirect
@@ -168,11 +169,11 @@ require (
github.com/cloudflare/circl v1.3.8 // indirect
github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
- github.com/cyphar/filepath-securejoin v0.2.4 // indirect
+ github.com/cyphar/filepath-securejoin v0.3.6 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/davidmz/go-pageant v1.0.2 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
- github.com/dlclark/regexp2 v1.11.0 // indirect
+ github.com/dlclark/regexp2 v1.11.4 // indirect
github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/envoyproxy/go-control-plane v0.13.1 // indirect
@@ -184,7 +185,7 @@ require (
github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect
github.com/go-enry/go-oniguruma v1.2.1 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
- github.com/go-git/go-billy/v5 v5.5.0 // indirect
+ github.com/go-git/go-billy/v5 v5.6.1 // indirect
github.com/go-ini/ini v1.67.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
@@ -246,13 +247,14 @@ require (
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
- github.com/skeema/knownhosts v1.2.1 // indirect
+ github.com/skeema/knownhosts v1.3.0 // indirect
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
github.com/zeebo/blake3 v0.2.4 // indirect
+ gitlab.com/gitlab-org/api/client-go v0.116.0 // indirect
go.etcd.io/bbolt v1.3.9 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/detectors/gcp v1.31.0 // indirect
diff --git a/go.sum b/go.sum
index 4629eba1df..0bdc471be2 100644
--- a/go.sum
+++ b/go.sum
@@ -610,8 +610,8 @@ cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoIS
cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M=
cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA=
cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw=
-code.forgejo.org/f3/gof3/v3 v3.7.0 h1:ZfuCP8CGm8ZJbWmL+V0pUu3E0X4FCAA7GfRDy/y5/K4=
-code.forgejo.org/f3/gof3/v3 v3.7.0/go.mod h1:oNhOeqD4DZYjVcNjQXIOdDX9b/1tqxi9ITLS8H9/Csw=
+code.forgejo.org/f3/gof3/v3 v3.10.2 h1:EOlv9d8GR7l0BmvZF101O3LUuabb4g5Hw5fKYPiPZlI=
+code.forgejo.org/f3/gof3/v3 v3.10.2/go.mod h1:qApIHumpBkFkeBEokviO28+HK2WM11IsmMOhmjvCjFQ=
code.forgejo.org/forgejo-contrib/go-libravatar v0.0.0-20191008002943-06d1c002b251 h1:HTZl3CBk3ABNYtFI6TPLvJgGKFIhKT5CBk0sbOtkDKU=
code.forgejo.org/forgejo-contrib/go-libravatar v0.0.0-20191008002943-06d1c002b251/go.mod h1:PphB88CPbx601QrWPMZATeorACeVmQlyv3u+uUMbSaM=
code.forgejo.org/forgejo/act v1.22.0 h1:NbUf0+vQ48+ddwe4zVkINqnxKYl/to+NUvW7iisPA60=
@@ -651,6 +651,8 @@ gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4 h1:IFT+hup2xejHq
gitea.com/lunny/levelqueue v0.4.2-0.20230414023320-3c0159fe0fe4/go.mod h1:HBqmLbz56JWpfEGG0prskAV97ATNRoj5LDmPicD22hU=
gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s=
gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU=
+github.com/42wim/httpsig v1.2.2 h1:ofAYoHUNs/MJOLqQ8hIxeyz2QxOz8qdSVvp3PX/oPgA=
+github.com/42wim/httpsig v1.2.2/go.mod h1:P/UYo7ytNBFwc+dg35IubuAUIs8zj5zzFIgUCEl55WY=
github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 h1:r3qt8PCHnfjOv9PN3H+XXKmDA1dfFMIN1AislhlA/ps=
github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121/go.mod h1:Ock8XgA7pvULhIaHGAk/cDnRfNrF9Jey81nPcc403iU=
github.com/6543/go-version v1.3.1 h1:HvOp+Telns7HWJ2Xo/05YXQSB2bE0WmVgbHqwMPZT4U=
@@ -674,8 +676,8 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
-github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
+github.com/ProtonMail/go-crypto v1.1.3 h1:nRBOetoydLeUb4nHajyO2bKqMLfWQ/ZPwkXqXxPxCFk=
+github.com/ProtonMail/go-crypto v1.1.3/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
github.com/PuerkitoBio/goquery v1.10.0 h1:6fiXdLuUvYs2OJSvNRqlNPoBm6YABE226xrbavY5Wv4=
github.com/PuerkitoBio/goquery v1.10.0/go.mod h1:TjZZl68Q3eGHNBA8CWaxAN7rOU1EbDz3CWuolcO5Yu4=
github.com/RoaringBitmap/roaring v1.9.3 h1:t4EbC5qQwnisr5PrP9nt0IRhRTb9gMUgQF4t4S2OByM=
@@ -686,11 +688,11 @@ github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm
github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM=
-github.com/alecthomas/assert/v2 v2.7.0 h1:QtqSACNS3tF7oasA8CU6A6sXZSBDqnm7RfpLl9bZqbE=
-github.com/alecthomas/assert/v2 v2.7.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
+github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
+github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
github.com/alecthomas/chroma/v2 v2.2.0/go.mod h1:vf4zrexSH54oEjJ7EdB65tGNHmH3pGZmVkgTP5RHvAs=
-github.com/alecthomas/chroma/v2 v2.14.0 h1:R3+wzpnUArGcQz7fCETQBzO5n9IMNi13iIs46aU4V9E=
-github.com/alecthomas/chroma/v2 v2.14.0/go.mod h1:QolEbTfmUHIMVpBqxeDnNBj2uoeI4EbYP4i6n68SG4I=
+github.com/alecthomas/chroma/v2 v2.15.0 h1:LxXTQHFoYrstG2nnV9y2X5O94sOBzf0CIUpSTbpxvMc=
+github.com/alecthomas/chroma/v2 v2.15.0/go.mod h1:gUhVLrPDXPtp/f+L1jo9xepo9gL4eLwRuGAunSZMkio=
github.com/alecthomas/repr v0.0.0-20220113201626-b1b626ac65ae/go.mod h1:2kn6fqh/zIyPLmm3ugklbEi5hg5wS435eygvNfaDQL8=
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
@@ -768,7 +770,6 @@ github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
github.com/buildkite/terminal-to-html/v3 v3.16.4 h1:QFYO8IGvRnp7tGgiQb8g9uFU8kY9wOzxsFFx17+yy6Q=
github.com/buildkite/terminal-to-html/v3 v3.16.4/go.mod h1:r/J7cC9c3EzBzP3/wDz0RJLPwv5PUAMp+KF2w+ntMc0=
-github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/caddyserver/certmagic v0.21.4 h1:e7VobB8rffHv8ZZpSiZtEwnLDHUwLVYLWzWSa1FfKI0=
github.com/caddyserver/certmagic v0.21.4/go.mod h1:swUXjQ1T9ZtMv95qj7/InJvWLXURU85r+CfG0T+ZbDE=
github.com/caddyserver/zerossl v0.1.3 h1:onS+pxp3M8HnHpN5MMbOMyNjmTheJyWRaZYwn+YTAyA=
@@ -796,7 +797,6 @@ github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObk
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
github.com/cloudflare/circl v1.3.8 h1:j+V8jJt09PoeMFIu2uh5JUyEaIHTXVOHslFoLNAKqwI=
github.com/cloudflare/circl v1.3.8/go.mod h1:PDRU+oXvdD7KCtgKxW95M5Z8BpSCJXQORiZFnBQS5QU=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
@@ -817,8 +817,8 @@ github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1Ig
github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc=
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
-github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
-github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
+github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM=
+github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -837,8 +837,8 @@ github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmW
github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
-github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
-github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
+github.com/dlclark/regexp2 v1.11.4 h1:rPYF9/LECdNymJufQKmri9gV604RvvABwgOA8un7yAo=
+github.com/dlclark/regexp2 v1.11.4/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s=
github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 h1:2tV76y6Q9BB+NEBasnqvs7e49aEBFI8ejC89PSnWH+4=
@@ -849,8 +849,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/editorconfig/editorconfig-core-go/v2 v2.6.2 h1:dKG8sc7n321deIVRcQtwlMNoBEra7j0qQ8RwxO8RN0w=
github.com/editorconfig/editorconfig-core-go/v2 v2.6.2/go.mod h1:7dvD3GCm7eBw53xZ/lsiq72LqobdMg3ITbMBxnmJmqY=
-github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
-github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
+github.com/elazarl/goproxy v1.2.3 h1:xwIyKHbaP5yfT6O9KIeYJR5549MXRQkoQMRXGztz8YQ=
+github.com/elazarl/goproxy v1.2.3/go.mod h1:YfEbZtqP4AetfO6d40vWchF3znWX7C7Vd6ZMfdL8z64=
github.com/emersion/go-imap v1.2.1 h1:+s9ZjMEjOB8NzZMVTM3cCenz2JrQIGGo5j1df19WjTA=
github.com/emersion/go-imap v1.2.1/go.mod h1:Qlx1FSx2FTxjnjWpIlVNEuX+ylerZQNFE5NsmKFSejY=
github.com/emersion/go-message v0.15.0/go.mod h1:wQUEfE+38+7EW8p8aZ96ptg6bAb1iwdgej19uXASlE4=
@@ -929,12 +929,12 @@ github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2H
github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
-github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
-github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
+github.com/go-git/go-billy/v5 v5.6.1 h1:u+dcrgaguSSkbjzHwelEjc0Yj300NUevrrPphk/SoRA=
+github.com/go-git/go-billy/v5 v5.6.1/go.mod h1:0AsLr1z2+Uksi4NlElmMblP5rPcDZNRCD8ujZCRR2BE=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
-github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
-github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
+github.com/go-git/go-git/v5 v5.13.1 h1:DAQ9APonnlvSWpvolXWIuV6Q6zXy2wHbN4cVlNR5Q+M=
+github.com/go-git/go-git/v5 v5.13.1/go.mod h1:qryJB4cSBoq3FRoBRf5A77joojuBcmPJ0qu3XXXVixc=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
@@ -1300,8 +1300,8 @@ github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
-github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
-github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
+github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
+github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
@@ -1373,8 +1373,8 @@ github.com/sassoftware/go-rpmutils v0.4.0/go.mod h1:3goNWi7PGAT3/dlql2lv3+MSN5jN
github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs=
-github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
-github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
+github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
+github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c h1:aqg5Vm5dwtvL+YgDpBcK1ITf3o96N/K7/wsRXQnUTEs=
@@ -1382,8 +1382,8 @@ github.com/shurcooL/httpfs v0.0.0-20230704072500-f1e31cf0ba5c/go.mod h1:owqhoLW1
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
-github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ=
-github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo=
+github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY=
+github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
@@ -1449,6 +1449,8 @@ github.com/zeebo/blake3 v0.2.4/go.mod h1:7eeQ6d2iXWRGF6npfaxl2CU+xy2Fjo2gxeyZGCR
github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo=
github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4=
github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
+gitlab.com/gitlab-org/api/client-go v0.116.0 h1:Dy534gtZPMrnm3fAcmQRMadrcoUyFO4FQ4rXlSAdHAw=
+gitlab.com/gitlab-org/api/client-go v0.116.0/go.mod h1:B29OfnZklmaoiR7uHANh9jTyfWEgmXvZLVEnosw2Dx0=
go.etcd.io/bbolt v1.3.9 h1:8x7aARPEXiXbHmtUwAIv7eV2fQFHrLLavdiJ3uzJXoI=
go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
@@ -1501,8 +1503,6 @@ golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
-golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
@@ -1522,6 +1522,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
+golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8=
+golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
diff --git a/models/actions/runner.go b/models/actions/runner.go
index a679d7d989..b24950d014 100644
--- a/models/actions/runner.go
+++ b/models/actions/runner.go
@@ -282,27 +282,22 @@ func UpdateRunner(ctx context.Context, r *ActionRunner, cols ...string) error {
}
// DeleteRunner deletes a runner by given ID.
-func DeleteRunner(ctx context.Context, id int64) error {
- runner, err := GetRunnerByID(ctx, id)
- if err != nil {
- return err
- }
-
+func DeleteRunner(ctx context.Context, r *ActionRunner) error {
// Replace the UUID, which was either based on the secret's first 16 bytes or an UUIDv4,
// with a sequence of 8 0xff bytes followed by the little-endian version of the record's
// identifier. This will prevent the deleted record's identifier from colliding with any
// new record.
b := make([]byte, 8)
- binary.LittleEndian.PutUint64(b, uint64(id))
- runner.UUID = fmt.Sprintf("ffffffff-ffff-ffff-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x",
+ binary.LittleEndian.PutUint64(b, uint64(r.ID))
+ r.UUID = fmt.Sprintf("ffffffff-ffff-ffff-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x",
b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7])
- err = UpdateRunner(ctx, runner, "UUID")
+ err := UpdateRunner(ctx, r, "UUID")
if err != nil {
return err
}
- _, err = db.DeleteByID[ActionRunner](ctx, id)
+ _, err = db.DeleteByID[ActionRunner](ctx, r.ID)
return err
}
diff --git a/models/actions/runner_test.go b/models/actions/runner_test.go
index 26ef4c44c6..2c8d430f94 100644
--- a/models/actions/runner_test.go
+++ b/models/actions/runner_test.go
@@ -34,7 +34,7 @@ func TestDeleteRunner(t *testing.T) {
require.NoError(t, unittest.PrepareTestDatabase())
before := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: recordID})
- err := DeleteRunner(db.DefaultContext, recordID)
+ err := DeleteRunner(db.DefaultContext, &ActionRunner{ID: recordID})
require.NoError(t, err)
var after ActionRunner
diff --git a/models/actions/variable.go b/models/actions/variable.go
index d0f917d923..39cea95c4b 100644
--- a/models/actions/variable.go
+++ b/models/actions/variable.go
@@ -86,7 +86,7 @@ func FindVariables(ctx context.Context, opts FindVariablesOpts) ([]*ActionVariab
}
func UpdateVariable(ctx context.Context, variable *ActionVariable) (bool, error) {
- count, err := db.GetEngine(ctx).ID(variable.ID).Cols("name", "data").
+ count, err := db.GetEngine(ctx).ID(variable.ID).Where("owner_id = ? AND repo_id = ?", variable.OwnerID, variable.RepoID).Cols("name", "data").
Update(&ActionVariable{
Name: variable.Name,
Data: variable.Data,
@@ -94,11 +94,9 @@ func UpdateVariable(ctx context.Context, variable *ActionVariable) (bool, error)
return count != 0, err
}
-func DeleteVariable(ctx context.Context, id int64) error {
- if _, err := db.DeleteByID[ActionVariable](ctx, id); err != nil {
- return err
- }
- return nil
+func DeleteVariable(ctx context.Context, variableID, ownerID, repoID int64) (bool, error) {
+ count, err := db.GetEngine(ctx).Table("action_variable").Where("id = ? AND owner_id = ? AND repo_id = ?", variableID, ownerID, repoID).Delete()
+ return count != 0, err
}
func GetVariablesOfRun(ctx context.Context, run *ActionRun) (map[string]string, error) {
diff --git a/models/auth/webauthn.go b/models/auth/webauthn.go
index aa13cf6cb1..b230e1665a 100644
--- a/models/auth/webauthn.go
+++ b/models/auth/webauthn.go
@@ -52,10 +52,10 @@ type WebAuthnCredential struct {
AAGUID []byte
SignCount uint32 `xorm:"BIGINT"`
CloneWarning bool
- BackupEligible bool `XORM:"NOT NULL DEFAULT false"`
- BackupState bool `XORM:"NOT NULL DEFAULT false"`
+ BackupEligible bool `xorm:"NOT NULL DEFAULT false"`
+ BackupState bool `xorm:"NOT NULL DEFAULT false"`
// If legacy is set to true, backup_eligible and backup_state isn't set.
- Legacy bool `XORM:"NOT NULL DEFAULT true"`
+ Legacy bool `xorm:"NOT NULL DEFAULT true"`
CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"`
}
diff --git a/models/fixtures/PrivateIssueProjects/project.yml b/models/fixtures/PrivateIssueProjects/project.yml
new file mode 100644
index 0000000000..cf63e4e413
--- /dev/null
+++ b/models/fixtures/PrivateIssueProjects/project.yml
@@ -0,0 +1,23 @@
+-
+ id: 1001
+ title: Org project that contains private issues
+ owner_id: 3
+ repo_id: 0
+ is_closed: false
+ creator_id: 2
+ board_type: 1
+ type: 3
+ created_unix: 1738000000
+ updated_unix: 1738000000
+
+-
+ id: 1002
+ title: User project that contains private issues
+ owner_id: 2
+ repo_id: 0
+ is_closed: false
+ creator_id: 2
+ board_type: 1
+ type: 1
+ created_unix: 1738000000
+ updated_unix: 1738000000
diff --git a/models/fixtures/PrivateIssueProjects/project_board.yml b/models/fixtures/PrivateIssueProjects/project_board.yml
new file mode 100644
index 0000000000..3f1fe1e705
--- /dev/null
+++ b/models/fixtures/PrivateIssueProjects/project_board.yml
@@ -0,0 +1,17 @@
+-
+ id: 1001
+ project_id: 1001
+ title: Triage
+ creator_id: 2
+ default: true
+ created_unix: 1738000000
+ updated_unix: 1738000000
+
+-
+ id: 1002
+ project_id: 1002
+ title: Triage
+ creator_id: 2
+ default: true
+ created_unix: 1738000000
+ updated_unix: 1738000000
diff --git a/models/fixtures/PrivateIssueProjects/project_issue.yml b/models/fixtures/PrivateIssueProjects/project_issue.yml
new file mode 100644
index 0000000000..222b2e5f71
--- /dev/null
+++ b/models/fixtures/PrivateIssueProjects/project_issue.yml
@@ -0,0 +1,11 @@
+-
+ id: 1001
+ issue_id: 6
+ project_id: 1001
+ project_board_id: 1001
+
+-
+ id: 1002
+ issue_id: 7
+ project_id: 1002
+ project_board_id: 1002
diff --git a/models/fixtures/label.yml b/models/fixtures/label.yml
index 2242b90dcd..acfac74968 100644
--- a/models/fixtures/label.yml
+++ b/models/fixtures/label.yml
@@ -96,3 +96,14 @@
num_issues: 0
num_closed_issues: 0
archived_unix: 0
+
+-
+ id: 10
+ repo_id: 3
+ org_id: 0
+ name: repo3label1
+ color: '#112233'
+ exclusive: false
+ num_issues: 0
+ num_closed_issues: 0
+ archived_unix: 0
diff --git a/models/fixtures/team_unit.yml b/models/fixtures/team_unit.yml
index de0e8d738b..e8f8d0e422 100644
--- a/models/fixtures/team_unit.yml
+++ b/models/fixtures/team_unit.yml
@@ -1,42 +1,49 @@
-
id: 1
team_id: 1
+ org_id: 3
type: 1
access_mode: 4
-
id: 2
team_id: 1
+ org_id: 3
type: 2
access_mode: 4
-
id: 3
team_id: 1
+ org_id: 3
type: 3
access_mode: 4
-
id: 4
team_id: 1
+ org_id: 3
type: 4
access_mode: 4
-
id: 5
team_id: 1
+ org_id: 3
type: 5
access_mode: 4
-
id: 6
team_id: 1
+ org_id: 3
type: 6
access_mode: 4
-
id: 7
team_id: 1
+ org_id: 3
type: 7
access_mode: 4
diff --git a/models/issues/issue.go b/models/issues/issue.go
index 17391ffe6c..fbbc4828a2 100644
--- a/models/issues/issue.go
+++ b/models/issues/issue.go
@@ -416,20 +416,6 @@ func (issue *Issue) SummaryCardURL() string {
return fmt.Sprintf("%s/summary-card", issue.HTMLURL())
}
-func (issue *Issue) SummaryCardSize() (int, int) {
- return 1200, 600
-}
-
-func (issue *Issue) SummaryCardWidth() int {
- width, _ := issue.SummaryCardSize()
- return width
-}
-
-func (issue *Issue) SummaryCardHeight() int {
- _, height := issue.SummaryCardSize()
- return height
-}
-
// Link returns the issue's relative URL.
func (issue *Issue) Link() string {
var path string
diff --git a/models/issues/issue_project.go b/models/issues/issue_project.go
index 835ea1db52..f606b713cf 100644
--- a/models/issues/issue_project.go
+++ b/models/issues/issue_project.go
@@ -7,8 +7,10 @@ import (
"context"
"code.gitea.io/gitea/models/db"
+ org_model "code.gitea.io/gitea/models/organization"
project_model "code.gitea.io/gitea/models/project"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/optional"
"code.gitea.io/gitea/modules/util"
)
@@ -48,22 +50,29 @@ func (issue *Issue) ProjectColumnID(ctx context.Context) int64 {
}
// LoadIssuesFromColumn load issues assigned to this column
-func LoadIssuesFromColumn(ctx context.Context, b *project_model.Column) (IssueList, error) {
- issueList, err := Issues(ctx, &IssuesOptions{
+func LoadIssuesFromColumn(ctx context.Context, b *project_model.Column, doer *user_model.User, org *org_model.Organization, isClosed optional.Option[bool]) (IssueList, error) {
+ issueOpts := &IssuesOptions{
ProjectColumnID: b.ID,
ProjectID: b.ProjectID,
SortType: "project-column-sorting",
- })
+ IsClosed: isClosed,
+ }
+ if doer != nil {
+ issueOpts.User = doer
+ issueOpts.Org = org
+ } else {
+ issueOpts.AllPublic = true
+ }
+
+ issueList, err := Issues(ctx, issueOpts)
if err != nil {
return nil, err
}
if b.Default {
- issues, err := Issues(ctx, &IssuesOptions{
- ProjectColumnID: db.NoConditionID,
- ProjectID: b.ProjectID,
- SortType: "project-column-sorting",
- })
+ issueOpts.ProjectColumnID = db.NoConditionID
+
+ issues, err := Issues(ctx, issueOpts)
if err != nil {
return nil, err
}
@@ -78,10 +87,10 @@ func LoadIssuesFromColumn(ctx context.Context, b *project_model.Column) (IssueLi
}
// LoadIssuesFromColumnList load issues assigned to the columns
-func LoadIssuesFromColumnList(ctx context.Context, bs project_model.ColumnList) (map[int64]IssueList, error) {
+func LoadIssuesFromColumnList(ctx context.Context, bs project_model.ColumnList, doer *user_model.User, org *org_model.Organization, isClosed optional.Option[bool]) (map[int64]IssueList, error) {
issuesMap := make(map[int64]IssueList, len(bs))
for i := range bs {
- il, err := LoadIssuesFromColumn(ctx, bs[i])
+ il, err := LoadIssuesFromColumn(ctx, bs[i], doer, org, isClosed)
if err != nil {
return nil, err
}
@@ -160,3 +169,36 @@ func IssueAssignOrRemoveProject(ctx context.Context, issue *Issue, doer *user_mo
})
})
}
+
+// NumIssuesInProjects returns the amount of issues assigned to one of the project
+// in the list which the doer can access.
+func NumIssuesInProjects(ctx context.Context, pl []*project_model.Project, doer *user_model.User, org *org_model.Organization, isClosed optional.Option[bool]) (map[int64]int, error) {
+ numMap := make(map[int64]int, len(pl))
+ for _, p := range pl {
+ num, err := NumIssuesInProject(ctx, p, doer, org, isClosed)
+ if err != nil {
+ return nil, err
+ }
+ numMap[p.ID] = num
+ }
+
+ return numMap, nil
+}
+
+// NumIssuesInProject returns the amount of issues assigned to the project which
+// the doer can access.
+func NumIssuesInProject(ctx context.Context, p *project_model.Project, doer *user_model.User, org *org_model.Organization, isClosed optional.Option[bool]) (int, error) {
+ numIssuesInProject := int(0)
+ bs, err := p.GetColumns(ctx)
+ if err != nil {
+ return 0, err
+ }
+ im, err := LoadIssuesFromColumnList(ctx, bs, doer, org, isClosed)
+ if err != nil {
+ return 0, err
+ }
+ for _, il := range im {
+ numIssuesInProject += len(il)
+ }
+ return numIssuesInProject, nil
+}
diff --git a/models/issues/issue_project_test.go b/models/issues/issue_project_test.go
new file mode 100644
index 0000000000..6ebc803722
--- /dev/null
+++ b/models/issues/issue_project_test.go
@@ -0,0 +1,100 @@
+// Copyright 2025 The Forgejo Authors. All rights reserved.
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package issues_test
+
+import (
+ "testing"
+
+ "code.gitea.io/gitea/models/db"
+ "code.gitea.io/gitea/models/issues"
+ "code.gitea.io/gitea/models/organization"
+ "code.gitea.io/gitea/models/project"
+ "code.gitea.io/gitea/models/unittest"
+ user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/optional"
+ "code.gitea.io/gitea/tests"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func TestPrivateIssueProjects(t *testing.T) {
+ defer tests.AddFixtures("models/fixtures/PrivateIssueProjects/")()
+ require.NoError(t, unittest.PrepareTestDatabase())
+
+ user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
+ t.Run("Organization project", func(t *testing.T) {
+ org := unittest.AssertExistsAndLoadBean(t, &organization.Organization{ID: 3})
+ orgProject := unittest.AssertExistsAndLoadBean(t, &project.Project{ID: 1001, OwnerID: org.ID})
+ column := unittest.AssertExistsAndLoadBean(t, &project.Column{ID: 1001, ProjectID: orgProject.ID})
+
+ t.Run("Authenticated user", func(t *testing.T) {
+ defer tests.PrintCurrentTest(t)()
+ issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, user2, org, optional.None[bool]())
+ require.NoError(t, err)
+ assert.Len(t, issueList, 1)
+ assert.EqualValues(t, 6, issueList[0].ID)
+
+ issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.None[bool]())
+ require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(true))
+ require.NoError(t, err)
+ assert.EqualValues(t, 0, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, orgProject, user2, org, optional.Some(false))
+ require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
+ })
+
+ t.Run("Anonymous user", func(t *testing.T) {
+ defer tests.PrintCurrentTest(t)()
+ issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, nil, org, optional.None[bool]())
+ require.NoError(t, err)
+ assert.Empty(t, issueList)
+
+ issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, orgProject, nil, org, optional.None[bool]())
+ require.NoError(t, err)
+ assert.EqualValues(t, 0, issuesNum)
+ })
+ })
+
+ t.Run("User project", func(t *testing.T) {
+ userProject := unittest.AssertExistsAndLoadBean(t, &project.Project{ID: 1002, OwnerID: user2.ID})
+ column := unittest.AssertExistsAndLoadBean(t, &project.Column{ID: 1002, ProjectID: userProject.ID})
+
+ t.Run("Authenticated user", func(t *testing.T) {
+ defer tests.PrintCurrentTest(t)()
+ issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, user2, nil, optional.None[bool]())
+ require.NoError(t, err)
+ assert.Len(t, issueList, 1)
+ assert.EqualValues(t, 7, issueList[0].ID)
+
+ issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.None[bool]())
+ require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(true))
+ require.NoError(t, err)
+ assert.EqualValues(t, 0, issuesNum)
+
+ issuesNum, err = issues.NumIssuesInProject(db.DefaultContext, userProject, user2, nil, optional.Some(false))
+ require.NoError(t, err)
+ assert.EqualValues(t, 1, issuesNum)
+ })
+
+ t.Run("Anonymous user", func(t *testing.T) {
+ defer tests.PrintCurrentTest(t)()
+
+ issueList, err := issues.LoadIssuesFromColumn(db.DefaultContext, column, nil, nil, optional.None[bool]())
+ require.NoError(t, err)
+ assert.Empty(t, issueList)
+
+ issuesNum, err := issues.NumIssuesInProject(db.DefaultContext, userProject, nil, nil, optional.None[bool]())
+ require.NoError(t, err)
+ assert.EqualValues(t, 0, issuesNum)
+ })
+ })
+}
diff --git a/models/issues/label.go b/models/issues/label.go
index 804a118e7a..259c87459e 100644
--- a/models/issues/label.go
+++ b/models/issues/label.go
@@ -353,6 +353,17 @@ func GetLabelIDsInRepoByNames(ctx context.Context, repoID int64, labelNames []st
Find(&labelIDs)
}
+// GetLabelIDsInOrgByNames returns a list of labelIDs by names in a given org.
+func GetLabelIDsInOrgByNames(ctx context.Context, orgID int64, labelNames []string) ([]int64, error) {
+ labelIDs := make([]int64, 0, len(labelNames))
+ return labelIDs, db.GetEngine(ctx).Table("label").
+ Where("org_id = ?", orgID).
+ In("name", labelNames).
+ Asc("name").
+ Cols("id").
+ Find(&labelIDs)
+}
+
// BuildLabelNamesIssueIDsCondition returns a builder where get issue ids match label names
func BuildLabelNamesIssueIDsCondition(labelNames []string) *builder.Builder {
return builder.Select("issue_label.issue_id").
diff --git a/models/migrations/v1_23/v303.go b/models/migrations/v1_23/v303.go
index c1e74c596a..2fb37ac843 100644
--- a/models/migrations/v1_23/v303.go
+++ b/models/migrations/v1_23/v303.go
@@ -1,5 +1,5 @@
-// Copyright 2024 The Forgejo Authors.
-// SPDX-License-Identifier: MIT
+// Copyright 2025 The Forgejo Authors.
+// SPDX-License-Identifier: GPL-3.0-or-later
package v1_23 //nolint
@@ -7,26 +7,53 @@ import (
"code.gitea.io/gitea/models/migrations/base"
"xorm.io/xorm"
+ "xorm.io/xorm/schemas"
)
func GiteaLastDrop(x *xorm.Engine) error {
+ tables, err := x.DBMetas()
+ if err != nil {
+ return err
+ }
+
sess := x.NewSession()
defer sess.Close()
- if err := base.DropTableColumns(sess, "badge", "slug"); err != nil {
- return err
- }
- if err := base.DropTableColumns(sess, "oauth2_application", "skip_secondary_authorization"); err != nil {
- return err
- }
- if err := base.DropTableColumns(sess, "repository", "default_wiki_branch"); err != nil {
- return err
- }
- // the migration v297.go that adds everyone_access_mode exists in Gitea >= v1.22 and the column must be dropped
- // but it does not exist in Forgejo and a failure to drop the column can be ignored
- base.DropTableColumns(sess, "repo_unit", "everyone_access_mode")
- if err := base.DropTableColumns(sess, "protected_branch", "can_force_push", "enable_force_push_allowlist", "force_push_allowlist_user_i_ds", "force_push_allowlist_team_i_ds", "force_push_allowlist_deploy_keys"); err != nil {
- return err
+ for _, drop := range []struct {
+ table string
+ column string
+ }{
+ {"badge", "slug"},
+ {"oauth2_application", "skip_secondary_authorization"},
+ {"repository", "default_wiki_branch"},
+ {"repo_unit", "everyone_access_mode"},
+ {"protected_branch", "can_force_push"},
+ {"protected_branch", "enable_force_push_allowlist"},
+ {"protected_branch", "force_push_allowlist_user_i_ds"},
+ {"protected_branch", "force_push_allowlist_team_i_ds"},
+ {"protected_branch", "force_push_allowlist_deploy_keys"},
+ } {
+ var table *schemas.Table
+ found := false
+
+ for _, table = range tables {
+ if table.Name == drop.table {
+ found = true
+ break
+ }
+ }
+
+ if !found {
+ continue
+ }
+
+ if table.GetColumn(drop.column) == nil {
+ continue
+ }
+
+ if err := base.DropTableColumns(sess, drop.table, drop.column); err != nil {
+ return err
+ }
}
return sess.Commit()
diff --git a/models/migrations/v1_23/v303_test.go b/models/migrations/v1_23/v303_test.go
new file mode 100644
index 0000000000..752eacee0c
--- /dev/null
+++ b/models/migrations/v1_23/v303_test.go
@@ -0,0 +1,41 @@
+// Copyright 2025 The Forgejo Authors.
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package v1_23 //nolint
+
+import (
+ "testing"
+
+ migration_tests "code.gitea.io/gitea/models/migrations/test"
+
+ "github.com/stretchr/testify/require"
+ "xorm.io/xorm/schemas"
+)
+
+func Test_GiteaLastDrop(t *testing.T) {
+ type Badge struct {
+ ID int64 `xorm:"pk autoincr"`
+ Slug string
+ }
+
+ x, deferable := migration_tests.PrepareTestEnv(t, 0, new(Badge))
+ defer deferable()
+ if x == nil || t.Failed() {
+ return
+ }
+
+ getColumn := func() *schemas.Column {
+ tables, err := x.DBMetas()
+ require.NoError(t, err)
+ require.Len(t, tables, 1)
+ table := tables[0]
+ require.Equal(t, "badge", table.Name)
+ return table.GetColumn("slug")
+ }
+
+ require.NotNil(t, getColumn(), "slug column exists")
+ require.NoError(t, GiteaLastDrop(x))
+ require.Nil(t, getColumn(), "slug column was deleted")
+ // idempotent
+ require.NoError(t, GiteaLastDrop(x))
+}
diff --git a/models/project/column.go b/models/project/column.go
index 222f448599..f6d6614004 100644
--- a/models/project/column.go
+++ b/models/project/column.go
@@ -57,20 +57,6 @@ func (Column) TableName() string {
return "project_board" // TODO: the legacy table name should be project_column
}
-// NumIssues return counter of all issues assigned to the column
-func (c *Column) NumIssues(ctx context.Context) int {
- total, err := db.GetEngine(ctx).Table("project_issue").
- Where("project_id=?", c.ProjectID).
- And("project_board_id=?", c.ID).
- GroupBy("issue_id").
- Cols("issue_id").
- Count()
- if err != nil {
- return 0
- }
- return int(total)
-}
-
func (c *Column) GetIssues(ctx context.Context) ([]*ProjectIssue, error) {
issues := make([]*ProjectIssue, 0, 5)
if err := db.GetEngine(ctx).Where("project_id=?", c.ProjectID).
diff --git a/models/project/issue.go b/models/project/issue.go
index 3361b533b9..984f47ee7c 100644
--- a/models/project/issue.go
+++ b/models/project/issue.go
@@ -34,20 +34,6 @@ func deleteProjectIssuesByProjectID(ctx context.Context, projectID int64) error
return err
}
-// NumIssues return counter of all issues assigned to a project
-func (p *Project) NumIssues(ctx context.Context) int {
- c, err := db.GetEngine(ctx).Table("project_issue").
- Where("project_id=?", p.ID).
- GroupBy("issue_id").
- Cols("issue_id").
- Count()
- if err != nil {
- log.Error("NumIssues: %v", err)
- return 0
- }
- return int(c)
-}
-
// NumClosedIssues return counter of closed issues assigned to a project
func (p *Project) NumClosedIssues(ctx context.Context) int {
c, err := db.GetEngine(ctx).Table("project_issue").
diff --git a/models/repo/release.go b/models/repo/release.go
index 38e38c6572..eb18f8aa02 100644
--- a/models/repo/release.go
+++ b/models/repo/release.go
@@ -97,13 +97,11 @@ func init() {
// LoadAttributes load repo and publisher attributes for a release
func (r *Release) LoadAttributes(ctx context.Context) error {
- var err error
- if r.Repo == nil {
- r.Repo, err = GetRepositoryByID(ctx, r.RepoID)
- if err != nil {
- return err
- }
+ err := r.LoadRepo(ctx)
+ if err != nil {
+ return err
}
+
if r.Publisher == nil {
r.Publisher, err = user_model.GetUserByID(ctx, r.PublisherID)
if err != nil {
@@ -123,6 +121,18 @@ func (r *Release) LoadAttributes(ctx context.Context) error {
return GetReleaseAttachments(ctx, r)
}
+// LoadRepo load repo attribute for release
+func (r *Release) LoadRepo(ctx context.Context) error {
+ if r.Repo != nil {
+ return nil
+ }
+
+ var err error
+ r.Repo, err = GetRepositoryByID(ctx, r.RepoID)
+
+ return err
+}
+
// LoadArchiveDownloadCount loads the download count for the source archives
func (r *Release) LoadArchiveDownloadCount(ctx context.Context) error {
var err error
@@ -130,6 +140,25 @@ func (r *Release) LoadArchiveDownloadCount(ctx context.Context) error {
return err
}
+// GetTotalDownloadCount returns the summary of all dowload count of files attached to the release
+func (r *Release) GetTotalDownloadCount(ctx context.Context) (int64, error) {
+ var archiveCount int64
+ if !r.HideArchiveLinks {
+ _, err := db.GetEngine(ctx).SQL("SELECT SUM(count) FROM repo_archive_download_count WHERE release_id = ?", r.ID).Get(&archiveCount)
+ if err != nil {
+ return 0, err
+ }
+ }
+
+ var attachmentCount int64
+ _, err := db.GetEngine(ctx).SQL("SELECT SUM(download_count) FROM attachment WHERE release_id = ?", r.ID).Get(&attachmentCount)
+ if err != nil {
+ return 0, err
+ }
+
+ return archiveCount + attachmentCount, nil
+}
+
// APIURL the api url for a release. release must have attributes loaded
func (r *Release) APIURL() string {
return r.Repo.APIURL() + "/releases/" + strconv.FormatInt(r.ID, 10)
@@ -160,6 +189,20 @@ func (r *Release) Link() string {
return r.Repo.Link() + "/releases/tag/" + util.PathEscapeSegments(r.TagName)
}
+// SummaryCardURL returns the absolute URL to an image providing a summary of the release
+func (r *Release) SummaryCardURL() string {
+ return fmt.Sprintf("%s/releases/summary-card/%s", r.Repo.HTMLURL(), util.PathEscapeSegments(r.TagName))
+}
+
+// DisplayName retruns the name of the release
+func (r *Release) DisplayName() string {
+ if r.IsTag && r.Title == "" {
+ return r.TagName
+ }
+
+ return r.Title
+}
+
// IsReleaseExist returns true if release with given tag name already exists.
func IsReleaseExist(ctx context.Context, repoID int64, tagName string) (bool, error) {
if len(tagName) == 0 {
diff --git a/models/repo/release_test.go b/models/repo/release_test.go
index 4e61a2805d..7680f2cc9d 100644
--- a/models/repo/release_test.go
+++ b/models/repo/release_test.go
@@ -9,6 +9,7 @@ import (
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unittest"
+ "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -25,3 +26,26 @@ func TestMigrate_InsertReleases(t *testing.T) {
err := InsertReleases(db.DefaultContext, r)
require.NoError(t, err)
}
+
+func TestReleaseLoadRepo(t *testing.T) {
+ require.NoError(t, unittest.PrepareTestDatabase())
+
+ release := unittest.AssertExistsAndLoadBean(t, &Release{ID: 1})
+ assert.Nil(t, release.Repo)
+
+ require.NoError(t, release.LoadRepo(db.DefaultContext))
+
+ assert.EqualValues(t, 1, release.Repo.ID)
+}
+
+func TestReleaseDisplayName(t *testing.T) {
+ release := Release{TagName: "TagName"}
+
+ assert.Empty(t, release.DisplayName())
+
+ release.IsTag = true
+ assert.Equal(t, "TagName", release.DisplayName())
+
+ release.Title = "Title"
+ assert.Equal(t, "Title", release.DisplayName())
+}
diff --git a/models/repo/repo.go b/models/repo/repo.go
index cd6be48b90..bdf0de2f85 100644
--- a/models/repo/repo.go
+++ b/models/repo/repo.go
@@ -327,6 +327,11 @@ func (repo *Repository) HTMLURL() string {
return setting.AppURL + url.PathEscape(repo.OwnerName) + "/" + url.PathEscape(repo.Name)
}
+// SummaryCardURL returns the absolute URL to an image providing a summary of the repo
+func (repo *Repository) SummaryCardURL() string {
+ return fmt.Sprintf("%s/-/summary-card", repo.HTMLURL())
+}
+
// CommitLink make link to by commit full ID
// note: won't check whether it's an right id
func (repo *Repository) CommitLink(commitID string) (result string) {
diff --git a/models/repo/user_repo.go b/models/repo/user_repo.go
index 781a75730a..0f95f5ab6b 100644
--- a/models/repo/user_repo.go
+++ b/models/repo/user_repo.go
@@ -166,9 +166,9 @@ func GetReviewers(ctx context.Context, repo *Repository, doerID, posterID int64)
// If isShowFullName is set to true, also include full name prefix search
func GetIssuePostersWithSearch(ctx context.Context, repo *Repository, isPull bool, search string, isShowFullName bool) ([]*user_model.User, error) {
users := make([]*user_model.User, 0, 30)
- var prefixCond builder.Cond = builder.Like{"name", search + "%"}
+ prefixCond := db.BuildCaseInsensitiveLike("name", search+"%")
if isShowFullName {
- prefixCond = prefixCond.Or(builder.Like{"full_name", "%" + search + "%"})
+ prefixCond = db.BuildCaseInsensitiveLike("full_name", "%"+search+"%")
}
cond := builder.In("`user`.id",
diff --git a/models/user/search.go b/models/user/search.go
index cb90ca850e..143f9d39c9 100644
--- a/models/user/search.go
+++ b/models/user/search.go
@@ -126,17 +126,15 @@ func (opts *SearchUserOptions) toSearchQueryBase(ctx context.Context) *xorm.Sess
return e.Where(cond)
}
- // 2fa filter uses LEFT JOIN to check whether a user has a 2fa record
- // While using LEFT JOIN, sometimes the performance might not be good, but it won't be a problem now, such SQL is seldom executed.
- // There are some possible methods to refactor this SQL in future when we really need to optimize the performance (but not now):
- // (1) add a column in user table (2) add a setting value in user_setting table (3) use search engines (bleve/elasticsearch)
+ // Check if the user has two factor enabled, which is TOTP or Webauthn.
if opts.IsTwoFactorEnabled.Value() {
- cond = cond.And(builder.Expr("two_factor.uid IS NOT NULL"))
+ cond = cond.And(builder.Expr("two_factor.uid IS NOT NULL OR webauthn_credential.user_id IS NOT NULL"))
} else {
- cond = cond.And(builder.Expr("two_factor.uid IS NULL"))
+ cond = cond.And(builder.Expr("two_factor.uid IS NULL AND webauthn_credential.user_id IS NULL"))
}
return e.Join("LEFT OUTER", "two_factor", "two_factor.uid = `user`.id").
+ Join("LEFT OUTER", "webauthn_credential", "webauthn_credential.user_id = `user`.id").
Where(cond)
}
diff --git a/models/user/user_test.go b/models/user/user_test.go
index 1c734fa926..bc23a5da48 100644
--- a/models/user/user_test.go
+++ b/models/user/user_test.go
@@ -222,7 +222,7 @@ func TestSearchUsers(t *testing.T) {
[]int64{1041, 37})
testUserSuccess(&user_model.SearchUserOptions{ListOptions: db.ListOptions{Page: 1}, IsTwoFactorEnabled: optional.Some(true)},
- []int64{24})
+ []int64{24, 32})
}
func TestEmailNotificationPreferences(t *testing.T) {
diff --git a/modules/annex/annex.go b/modules/annex/annex.go
new file mode 100644
index 0000000000..dee24d21bc
--- /dev/null
+++ b/modules/annex/annex.go
@@ -0,0 +1,192 @@
+// 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"
+ "io/fs"
+ "os"
+ "path"
+ "path/filepath"
+ "regexp"
+ "strings"
+
+ "code.gitea.io/gitea/modules/git"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/typesniffer"
+)
+
+// ErrBlobIsNotAnnexed occurs if a blob does not contain a valid annex key
+var ErrBlobIsNotAnnexed = errors.New("not a git-annex pointer")
+
+func LookupKey(blob *git.Blob) (string, error) {
+ stdout, _, err := git.NewCommand(git.DefaultContext, "annex", "lookupkey", "--ref").AddDynamicArguments(blob.ID.String()).RunStdString(&git.RunOpts{Dir: blob.Repo().Path})
+ if err != nil {
+ return "", ErrBlobIsNotAnnexed
+ }
+ key := strings.TrimSpace(stdout)
+ return key, nil
+}
+
+func ContentLocationFromKey(repoPath, key string) (string, error) {
+ contentLocation, _, err := git.NewCommandContextNoGlobals(git.DefaultContext, "annex", "contentlocation").AddDynamicArguments(key).RunStdString(&git.RunOpts{Dir: repoPath})
+ if err != nil {
+ return "", fmt.Errorf("in %s: %s does not seem to be a valid annexed file: %w", repoPath, key, err)
+ }
+ contentLocation = strings.TrimSpace(contentLocation)
+ contentLocation = path.Clean("/" + contentLocation)[1:] // prevent directory traversals
+ contentLocation = path.Join(repoPath, contentLocation)
+
+ return contentLocation, 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) {
+ key, err := LookupKey(blob)
+ if err != nil {
+ return "", err
+ }
+ return ContentLocationFromKey(blob.Repo().Path, key)
+}
+
+// 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
+ }
+
+ // LookupKey is written to only return well-formed keys
+ // so the test is just to see if it errors
+ _, err := LookupKey(blob)
+ if err != nil {
+ if errors.Is(err, ErrBlobIsNotAnnexed) {
+ 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
+}
+
+var repoConfigFileRe = regexp.MustCompile("[^/]+/[^/]+.git/config$")
+
+var (
+ uuid2repoPathCache = make(map[string]string)
+ repoPath2uuidCache = make(map[string]string)
+)
+
+func Init() error {
+ if !setting.Annex.Enabled {
+ return nil
+ }
+ log.Info("Populating the git-annex UUID cache with existing repositories")
+ return updateUUID2RepoPathCache()
+}
+
+func updateUUID2RepoPathCache() error {
+ return filepath.WalkDir(setting.RepoRootPath, func(path string, d fs.DirEntry, err error) error {
+ if err == nil && repoConfigFileRe.MatchString(path) {
+ thisRepoPath := strings.TrimSuffix(path, "/config")
+ _, ok := repoPath2uuidCache[thisRepoPath]
+ if ok {
+ return nil
+ }
+ stdout, _, err := git.NewCommand(git.DefaultContext, "config", "annex.uuid").RunStdString(&git.RunOpts{Dir: thisRepoPath})
+ if err != nil {
+ return nil
+ }
+ repoUUID := strings.TrimSpace(stdout)
+ if repoUUID != "" {
+ uuid2repoPathCache[repoUUID] = thisRepoPath
+ repoPath2uuidCache[thisRepoPath] = repoUUID
+ }
+ }
+ return nil
+ })
+}
+
+func repoPathFromUUIDCache(uuid string) (string, error) {
+ if repoPath, ok := uuid2repoPathCache[uuid]; ok {
+ return repoPath, nil
+ }
+ // If the cache didn't contain an entry for the UUID then update the cache and try again
+ if err := updateUUID2RepoPathCache(); err != nil {
+ return "", err
+ }
+ if repoPath, ok := uuid2repoPathCache[uuid]; ok {
+ return repoPath, nil
+ }
+ return "", fmt.Errorf("no repository known for UUID '%s'", uuid)
+}
+
+func checkValidity(uuid, repoPath string) (bool, error) {
+ stdout, _, err := git.NewCommand(git.DefaultContext, "config", "annex.uuid").RunStdString(&git.RunOpts{Dir: repoPath})
+ if err != nil {
+ return false, err
+ }
+ repoUUID := strings.TrimSpace(stdout)
+ return uuid == repoUUID, nil
+}
+
+func removeCachedEntries(uuid, repoPath string) {
+ delete(uuid2repoPathCache, uuid)
+ delete(repoPath2uuidCache, repoPath)
+}
+
+func UUID2RepoPath(uuid string) (string, error) {
+ // Get the current cache entry for the UUID
+ repoPath, err := repoPathFromUUIDCache(uuid)
+ if err != nil {
+ return "", err
+ }
+ // Check if it is still up-to-date
+ valid, err := checkValidity(uuid, repoPath)
+ if err != nil {
+ return "", err
+ }
+ if !valid {
+ // If it isn't, remove the cache entry and try again
+ removeCachedEntries(uuid, repoPath)
+ return UUID2RepoPath(uuid)
+ }
+ // Otherwise just return the cached entry
+ return repoPath, nil
+}
+
+// GuessContentType guesses the content type of the annexed blob.
+func GuessContentType(blob *git.Blob) (typesniffer.SniffedType, error) {
+ r, err := Content(blob)
+ if err != nil {
+ return typesniffer.SniffedType{}, err
+ }
+ defer r.Close()
+
+ return typesniffer.DetectContentTypeFromReader(r)
+}
diff --git a/modules/base/tool.go b/modules/base/tool.go
index 02f1db59d3..a885546fde 100644
--- a/modules/base/tool.go
+++ b/modules/base/tool.go
@@ -16,6 +16,7 @@ import (
"strings"
"unicode/utf8"
+ "code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/log"
@@ -101,6 +102,12 @@ func Int64sToStrings(ints []int64) []string {
// EntryIcon returns the octicon class for displaying files/directories
func EntryIcon(entry *git.TreeEntry) string {
+ isAnnexed, _ := annex.IsAnnexed(entry.Blob())
+ if isAnnexed {
+ // Show git-annex files as binary files to differentiate them from non-annexed files
+ // TODO: find a more suitable icon, maybe something related to git-annex
+ return "file-binary"
+ }
switch {
case entry.IsLink():
te, _, err := entry.FollowLink()
diff --git a/modules/card/card.go b/modules/card/card.go
index bb160d7ea3..370d241073 100644
--- a/modules/card/card.go
+++ b/modules/card/card.go
@@ -5,6 +5,7 @@ package card
import (
"bytes"
+ "fmt"
"image"
"image/color"
"io"
@@ -35,12 +36,19 @@ type Card struct {
Img *image.RGBA
Font *truetype.Font
Margin int
+ Width int
+ Height int
}
var fontCache = sync.OnceValues(func() (*truetype.Font, error) {
return truetype.Parse(goregular.TTF)
})
+// DefaultSize returns the default size for a card
+func DefaultSize() (int, int) {
+ return 1200, 600
+}
+
// NewCard creates a new card with the given dimensions in pixels
func NewCard(width, height int) (*Card, error) {
img := image.NewRGBA(image.Rect(0, 0, width, height))
@@ -55,6 +63,8 @@ func NewCard(width, height int) (*Card, error) {
Img: img,
Font: font,
Margin: 0,
+ Width: width,
+ Height: height,
}, nil
}
@@ -67,14 +77,14 @@ func (c *Card) Split(vertical bool, percentage int) (*Card, *Card) {
mid := (bounds.Dx() * percentage / 100) + bounds.Min.X
subleft := c.Img.SubImage(image.Rect(bounds.Min.X, bounds.Min.Y, mid, bounds.Max.Y)).(*image.RGBA)
subright := c.Img.SubImage(image.Rect(mid, bounds.Min.Y, bounds.Max.X, bounds.Max.Y)).(*image.RGBA)
- return &Card{Img: subleft, Font: c.Font},
- &Card{Img: subright, Font: c.Font}
+ return &Card{Img: subleft, Font: c.Font, Width: subleft.Bounds().Dx(), Height: subleft.Bounds().Dy()},
+ &Card{Img: subright, Font: c.Font, Width: subright.Bounds().Dx(), Height: subright.Bounds().Dy()}
}
mid := (bounds.Dy() * percentage / 100) + bounds.Min.Y
subtop := c.Img.SubImage(image.Rect(bounds.Min.X, bounds.Min.Y, bounds.Max.X, mid)).(*image.RGBA)
subbottom := c.Img.SubImage(image.Rect(bounds.Min.X, mid, bounds.Max.X, bounds.Max.Y)).(*image.RGBA)
- return &Card{Img: subtop, Font: c.Font},
- &Card{Img: subbottom, Font: c.Font}
+ return &Card{Img: subtop, Font: c.Font, Width: subtop.Bounds().Dx(), Height: subtop.Bounds().Dy()},
+ &Card{Img: subbottom, Font: c.Font, Width: subbottom.Bounds().Dx(), Height: subbottom.Bounds().Dy()}
}
// SetMargin sets the margins for the card
@@ -244,9 +254,14 @@ func (c *Card) fetchExternalImage(url string) (image.Image, bool) {
},
}
+ // Go expects a absolute URL, so we must change a relative to an absolute one
+ if !strings.Contains(url, "://") {
+ url = fmt.Sprintf("%s%s", setting.AppURL, strings.TrimPrefix(url, "/"))
+ }
+
resp, err := client.Get(url)
if err != nil {
- log.Warn("error when fetching external image from %s: %w", url, err)
+ log.Warn("error when fetching external image from %s: %v", url, err)
return nil, false
}
defer resp.Body.Close()
@@ -321,3 +336,8 @@ func (c *Card) DrawExternalImage(url string) {
}
c.DrawImage(image)
}
+
+// DrawRect draws a rect with the given color
+func (c *Card) DrawRect(startX, startY, endX, endY int, color color.Color) {
+ draw.Draw(c.Img, image.Rect(startX, startY, endX, endY), &image.Uniform{color}, image.Point{}, draw.Src)
+}
diff --git a/modules/git/blob.go b/modules/git/blob.go
index 2f02693428..bbfab7d005 100644
--- a/modules/git/blob.go
+++ b/modules/git/blob.go
@@ -126,6 +126,10 @@ func (b *blobReader) Close() error {
return nil
}
+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
diff --git a/modules/git/command.go b/modules/git/command.go
index a3d43aaec6..d3e6b7b8bc 100644
--- a/modules/git/command.go
+++ b/modules/git/command.go
@@ -457,12 +457,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
diff --git a/modules/markup/external/external.go b/modules/markup/external/external.go
index 122517ed11..b9760772a1 100644
--- a/modules/markup/external/external.go
+++ b/modules/markup/external/external.go
@@ -12,6 +12,7 @@ import (
"runtime"
"strings"
+ "code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/graceful"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/markup"
@@ -86,8 +87,22 @@ func (p *Renderer) Render(ctx *markup.RenderContext, input io.Reader, output io.
commands = strings.Fields(command)
args = commands[1:]
)
-
- if p.IsInputFile {
+ isAnnexed, _ := annex.IsAnnexed(ctx.Blob)
+ // if a renderer wants to read a file, and we have annexed content, we can
+ // provide the annex key file location directly to the renderer. git-annex
+ // takes care of having that location be read-only, so no critical
+ // protection layer is needed. Moreover, the file readily exists, and
+ // expensive temporary files can be avoided, also allowing an operator
+ // to raise MAX_DISPLAY_FILE_SIZE without much negative impact.
+ if p.IsInputFile && isAnnexed {
+ // look for annexed content, will be empty, if there is none
+ annexContentLocation, _ := annex.ContentLocation(ctx.Blob)
+ // we call the renderer, even if there is no annex content present.
+ // showing the pointer file content is not much use, and a topical
+ // renderer might be able to produce something useful from the
+ // filename alone (present in ENV)
+ args = append(args, annexContentLocation)
+ } else if p.IsInputFile {
// write to temp file
f, err := os.CreateTemp("", "gitea_input")
if err != nil {
@@ -130,6 +145,12 @@ func (p *Renderer) Render(ctx *markup.RenderContext, input io.Reader, output io.
os.Environ(),
"GITEA_PREFIX_SRC="+ctx.Links.SrcLink(),
"GITEA_PREFIX_RAW="+ctx.Links.RawLink(),
+ // also communicate the relative path of the to-be-rendered item.
+ // this enables the renderer to make use of the original file name
+ // and path, e.g., to make rendering or dtype-detection decisions
+ // that go beyond the originally matched extension. Even if the
+ // content is directly streamed to STDIN
+ "GITEA_RELATIVE_PATH="+ctx.RelativePath,
)
if !p.IsInputFile {
cmd.Stdin = input
diff --git a/modules/markup/file_preview.go b/modules/markup/file_preview.go
index 49a5f1e8ba..2171f6097b 100644
--- a/modules/markup/file_preview.go
+++ b/modules/markup/file_preview.go
@@ -8,6 +8,7 @@ import (
"bytes"
"html/template"
"io"
+ "net/url"
"regexp"
"slices"
"strconv"
@@ -77,6 +78,16 @@ func newFilePreview(ctx *RenderContext, node *html.Node, locale translation.Loca
commitSha := node.Data[m[4]:m[5]]
filePath := node.Data[m[6]:m[7]]
+ urlFullSource := urlFull
+ if strings.HasSuffix(filePath, "?display=source") {
+ filePath = strings.TrimSuffix(filePath, "?display=source")
+ } else if Type(filePath) != "" {
+ urlFullSource = node.Data[m[0]:m[6]] + filePath + "?display=source#" + node.Data[m[8]:m[1]]
+ }
+ filePath, err := url.QueryUnescape(filePath)
+ if err != nil {
+ return nil
+ }
hash := node.Data[m[8]:m[9]]
preview.start = m[0]
@@ -113,7 +124,7 @@ func newFilePreview(ctx *RenderContext, node *html.Node, locale translation.Loca
titleBuffer.WriteString(" – ")
}
- err = html.Render(titleBuffer, createLink(urlFull, filePath, "muted"))
+ err = html.Render(titleBuffer, createLink(urlFullSource, filePath, "muted"))
if err != nil {
log.Error("failed to render filepathLink: %v", err)
}
diff --git a/modules/markup/html_test.go b/modules/markup/html_test.go
index 50ea70905c..05ba321548 100644
--- a/modules/markup/html_test.go
+++ b/modules/markup/html_test.go
@@ -1026,4 +1026,138 @@ func TestRender_FilePreview(t *testing.T) {
localMetas,
)
})
+
+ commitFileURL := util.URLJoin(markup.TestRepoURL, "src", "commit", "c9913120ed2c1e27c1d7752ecdb7a504dc7cf6be", "path", "to", "file.md")
+
+ t.Run("rendered file with ?display=source", func(t *testing.T) {
+ testRender(
+ commitFileURL+"?display=source"+"#L1-L2",
+ `
`+
+ ``+
+ ``+
+ `
`+
+ `
`+
+ ``+
+ ``+
+ ` `+
+ `# A`+"\n"+`
`+
+ ` `+
+ ``+
+ ` `+
+ ` B`+"\n"+`
`+
+ ` `+
+ ` `+
+ `
`+
+ `
`+
+ `
`+
+ `
`,
+ localMetas,
+ )
+ })
+
+ t.Run("rendered file without ?display=source", func(t *testing.T) {
+ testRender(
+ commitFileURL+"#L1-L2",
+ `
`+
+ ``+
+ ``+
+ `
`+
+ `
`+
+ ``+
+ ``+
+ ` `+
+ `# A`+"\n"+`
`+
+ ` `+
+ ``+
+ ` `+
+ ` B`+"\n"+`
`+
+ ` `+
+ ` `+
+ `
`+
+ `
`+
+ `
`+
+ `
`,
+ localMetas,
+ )
+ })
+
+ commitFileURL = util.URLJoin(markup.TestRepoURL, "src", "commit", "190d9492934af498c3f669d6a2431dc5459e5b20", "path", "to", "file.go")
+
+ t.Run("normal file with ?display=source", func(t *testing.T) {
+ testRender(
+ commitFileURL+"?display=source"+"#L2-L3",
+ `
`+
+ ``+
+ ``+
+ `
`+
+ `
`+
+ ``+
+ ``+
+ ` `+
+ `B `+"\n"+`
`+
+ ` `+
+ ``+
+ ` `+
+ `C `+"\n"+`
`+
+ ` `+
+ ` `+
+ `
`+
+ `
`+
+ `
`+
+ `
`,
+ localMetas,
+ )
+ })
+
+ commitFileURL = util.URLJoin(markup.TestRepoURL, "src", "commit", "eeb243c3395e1921c5d90e73bd739827251fc99d", "path", "to", "file%20%23.txt")
+
+ t.Run("file with strange characters in name", func(t *testing.T) {
+ testRender(
+ commitFileURL+"#L1",
+ `
`+
+ ``+
+ ``+
+ `
`+
+ `
`+
+ ``+
+ ``+
+ ` `+
+ `A`+"\n"+`
`+
+ ` `+
+ ` `+
+ `
`+
+ `
`+
+ `
`+
+ `
`,
+ localMetas,
+ )
+ })
}
diff --git a/modules/markup/orgmode/orgmode_test.go b/modules/markup/orgmode/orgmode_test.go
index f41d86a8a8..58fede7eb8 100644
--- a/modules/markup/orgmode/orgmode_test.go
+++ b/modules/markup/orgmode/orgmode_test.go
@@ -152,8 +152,8 @@ func HelloWorld() {
}
#+end_src
`, `
-
// HelloWorld prints "Hello World"
- func HelloWorld () {
+// HelloWorld prints "Hello World"
+func HelloWorld () {
fmt . Println ( "Hello World" )
}
`)
diff --git a/modules/markup/renderer.go b/modules/markup/renderer.go
index 2137302f43..c00bd2b56e 100644
--- a/modules/markup/renderer.go
+++ b/modules/markup/renderer.go
@@ -67,14 +67,18 @@ type Header struct {
// RenderContext represents a render context
type RenderContext struct {
- Ctx context.Context
- RelativePath string // relative path from tree root of the branch
- Type string
- IsWiki bool
- Links Links
- Metas map[string]string
- DefaultLink string
- GitRepo *git.Repository
+ Ctx context.Context
+ RelativePath string // relative path from tree root of the branch
+ Type string
+ IsWiki bool
+ Links Links
+ Metas map[string]string
+ DefaultLink string
+ GitRepo *git.Repository
+ // reporting the target blob that is to-be-rendered enables
+ // deeper inspection in the handler for external renderer
+ // (i.e., more targeted handling of annexed files)
+ Blob *git.Blob
ShaExistCache map[string]bool
cancelFn func()
SidebarTocNode ast.Node
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/0b/b53b56d70d253ce75c257d3cd6334a41ef2b6c b/modules/markup/tests/repo/repo1_filepreview/objects/0b/b53b56d70d253ce75c257d3cd6334a41ef2b6c
new file mode 100644
index 0000000000..1ab268b76c
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/0b/b53b56d70d253ce75c257d3cd6334a41ef2b6c differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/18/9739e1c2a6cdb8ee094ba1ef8a2e40cf65b2ec b/modules/markup/tests/repo/repo1_filepreview/objects/18/9739e1c2a6cdb8ee094ba1ef8a2e40cf65b2ec
new file mode 100644
index 0000000000..c8b99f906b
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/18/9739e1c2a6cdb8ee094ba1ef8a2e40cf65b2ec differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/2a/4032b49cff56d6d4921133e087d9dc0341a2c5 b/modules/markup/tests/repo/repo1_filepreview/objects/2a/4032b49cff56d6d4921133e087d9dc0341a2c5
new file mode 100644
index 0000000000..f799e8a988
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/2a/4032b49cff56d6d4921133e087d9dc0341a2c5 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/2d/2f8eaa17b17359ee1c73222065575d50d9a157 b/modules/markup/tests/repo/repo1_filepreview/objects/2d/2f8eaa17b17359ee1c73222065575d50d9a157
new file mode 100644
index 0000000000..7f4c451d00
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/2d/2f8eaa17b17359ee1c73222065575d50d9a157 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/2f/b9577a8e940a0a84a789cdd4a45d0f172e3fdd b/modules/markup/tests/repo/repo1_filepreview/objects/2f/b9577a8e940a0a84a789cdd4a45d0f172e3fdd
new file mode 100644
index 0000000000..fc97712911
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/2f/b9577a8e940a0a84a789cdd4a45d0f172e3fdd differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/2f/f8eb63aad050c3f20e9cb27090ab7378267ab2 b/modules/markup/tests/repo/repo1_filepreview/objects/2f/f8eb63aad050c3f20e9cb27090ab7378267ab2
new file mode 100644
index 0000000000..e230df1343
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/2f/f8eb63aad050c3f20e9cb27090ab7378267ab2 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/35/75ed7948fe86ab56b0a76f796f7995222bec65 b/modules/markup/tests/repo/repo1_filepreview/objects/35/75ed7948fe86ab56b0a76f796f7995222bec65
new file mode 100644
index 0000000000..1493caa3df
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/35/75ed7948fe86ab56b0a76f796f7995222bec65 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/3c/95f14e5a0ab2c5ba9ee9a47ddc261af4968043 b/modules/markup/tests/repo/repo1_filepreview/objects/3c/95f14e5a0ab2c5ba9ee9a47ddc261af4968043
new file mode 100644
index 0000000000..3e9c0c0d8b
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/3c/95f14e5a0ab2c5ba9ee9a47ddc261af4968043 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/3e/2a4f1b9a15ffa15ea7ffdc06acd302442b3eca b/modules/markup/tests/repo/repo1_filepreview/objects/3e/2a4f1b9a15ffa15ea7ffdc06acd302442b3eca
new file mode 100644
index 0000000000..78189a52f6
--- /dev/null
+++ b/modules/markup/tests/repo/repo1_filepreview/objects/3e/2a4f1b9a15ffa15ea7ffdc06acd302442b3eca
@@ -0,0 +1 @@
+xAN0EYGB;a U=D9=&r}7ҌB^yY8:AX}RXks";uF9x EdВ%~**Z3\v9Й>n8fxk=[9K%L>{7s;av4hXOHԓՆ`K
\ No newline at end of file
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/72/1f0ce13d83f93d431b849a554a62948b85f573 b/modules/markup/tests/repo/repo1_filepreview/objects/72/1f0ce13d83f93d431b849a554a62948b85f573
new file mode 100644
index 0000000000..d781d4d248
--- /dev/null
+++ b/modules/markup/tests/repo/repo1_filepreview/objects/72/1f0ce13d83f93d431b849a554a62948b85f573
@@ -0,0 +1 @@
+xK1@]$JazJR@w+s۲"@VL&J3%f-GDq2>FjBOEݹ:g\1ꦒkEM6D,Ÿ\Ǹ:\6Olmȩ;ϭ|!GE6ZzYβ
mwٛi.x-o"L
\ No newline at end of file
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/72/e0a44ea5761c9055995db18019e459576b3b27 b/modules/markup/tests/repo/repo1_filepreview/objects/72/e0a44ea5761c9055995db18019e459576b3b27
new file mode 100644
index 0000000000..7b926dc0d8
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/72/e0a44ea5761c9055995db18019e459576b3b27 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/72/e1c77b65c7baa0e848557089148833fb54705e b/modules/markup/tests/repo/repo1_filepreview/objects/72/e1c77b65c7baa0e848557089148833fb54705e
new file mode 100644
index 0000000000..0bbca73af2
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/72/e1c77b65c7baa0e848557089148833fb54705e differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/8a/3b1881b5c4e7dc2be7ee1c0f37f93ffbb5ff77 b/modules/markup/tests/repo/repo1_filepreview/objects/8a/3b1881b5c4e7dc2be7ee1c0f37f93ffbb5ff77
new file mode 100644
index 0000000000..0ea93376dc
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/8a/3b1881b5c4e7dc2be7ee1c0f37f93ffbb5ff77 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/8b/ccd5176c25898b57da2551e076f769054e0d8e b/modules/markup/tests/repo/repo1_filepreview/objects/8b/ccd5176c25898b57da2551e076f769054e0d8e
new file mode 100644
index 0000000000..394a7bb50d
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/8b/ccd5176c25898b57da2551e076f769054e0d8e differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/95/31b649823095acf5d79ab9e4f8b8d86046352f b/modules/markup/tests/repo/repo1_filepreview/objects/95/31b649823095acf5d79ab9e4f8b8d86046352f
new file mode 100644
index 0000000000..ab36311f6f
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/95/31b649823095acf5d79ab9e4f8b8d86046352f differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/ac/769ab4baa91060a4c2f828f53e6c3cc2f708f8 b/modules/markup/tests/repo/repo1_filepreview/objects/ac/769ab4baa91060a4c2f828f53e6c3cc2f708f8
new file mode 100644
index 0000000000..59afaebf4a
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/ac/769ab4baa91060a4c2f828f53e6c3cc2f708f8 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/c5/3110b1957cefc56c4b2d879476ddbe905980bf b/modules/markup/tests/repo/repo1_filepreview/objects/c5/3110b1957cefc56c4b2d879476ddbe905980bf
new file mode 100644
index 0000000000..3de089bf6a
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/c5/3110b1957cefc56c4b2d879476ddbe905980bf differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/c9/8762531dd068cd818300a5f5c7dca5da79b510 b/modules/markup/tests/repo/repo1_filepreview/objects/c9/8762531dd068cd818300a5f5c7dca5da79b510
new file mode 100644
index 0000000000..af5b784773
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/c9/8762531dd068cd818300a5f5c7dca5da79b510 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/c9/913120ed2c1e27c1d7752ecdb7a504dc7cf6be b/modules/markup/tests/repo/repo1_filepreview/objects/c9/913120ed2c1e27c1d7752ecdb7a504dc7cf6be
new file mode 100644
index 0000000000..9fc2b7c312
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/c9/913120ed2c1e27c1d7752ecdb7a504dc7cf6be differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/e7/99b34ea867a0364d0df33f382562db9ff39084 b/modules/markup/tests/repo/repo1_filepreview/objects/e7/99b34ea867a0364d0df33f382562db9ff39084
new file mode 100644
index 0000000000..ef73ed1791
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/e7/99b34ea867a0364d0df33f382562db9ff39084 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/ee/b243c3395e1921c5d90e73bd739827251fc99d b/modules/markup/tests/repo/repo1_filepreview/objects/ee/b243c3395e1921c5d90e73bd739827251fc99d
new file mode 100644
index 0000000000..5515b07d4a
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/ee/b243c3395e1921c5d90e73bd739827251fc99d differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/objects/f7/0f10e4db19068f79bc43844b49f3eece45c4e8 b/modules/markup/tests/repo/repo1_filepreview/objects/f7/0f10e4db19068f79bc43844b49f3eece45c4e8
new file mode 100644
index 0000000000..2e15b4fb0a
Binary files /dev/null and b/modules/markup/tests/repo/repo1_filepreview/objects/f7/0f10e4db19068f79bc43844b49f3eece45c4e8 differ
diff --git a/modules/markup/tests/repo/repo1_filepreview/refs/heads/master b/modules/markup/tests/repo/repo1_filepreview/refs/heads/master
index df25bf45f0..709cffca17 100644
--- a/modules/markup/tests/repo/repo1_filepreview/refs/heads/master
+++ b/modules/markup/tests/repo/repo1_filepreview/refs/heads/master
@@ -1 +1 @@
-4c1aaf56bcb9f39dcf65f3f250726850aed13cd6
+eeb243c3395e1921c5d90e73bd739827251fc99d
diff --git a/modules/private/serv.go b/modules/private/serv.go
index 480a446954..6c7c753cf0 100644
--- a/modules/private/serv.go
+++ b/modules/private/serv.go
@@ -40,6 +40,7 @@ type ServCommandResults struct {
UserName string
UserEmail string
UserID int64
+ UserMode perm.AccessMode
OwnerName string
RepoName string
RepoID int64
diff --git a/modules/references/references.go b/modules/references/references.go
index c61d06d5dc..3b4bcb3706 100644
--- a/modules/references/references.go
+++ b/modules/references/references.go
@@ -32,7 +32,7 @@ var (
// issueNumericPattern matches string that references to a numeric issue, e.g. #1287
issueNumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[|\'|\")([#!][0-9]+)(?:\s|$|\)|\]|\'|\"|[:;,.?!]\s|[:;,.?!]$)`)
// issueAlphanumericPattern matches string that references to an alphanumeric issue, e.g. ABC-1234
- issueAlphanumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[|\"|\')([A-Z]{1,10}-[1-9][0-9]*)(?:\s|$|\)|\]|:|\.(\s|$)|\"|\')`)
+ issueAlphanumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[|\"|\')([A-Z]{1,10}-[1-9][0-9]*)(?:\s|$|\)|\]|:|\.(\s|$)|\"|\'|,)`)
// crossReferenceIssueNumericPattern matches string that references a numeric issue in a different repository
// e.g. org/repo#12345
crossReferenceIssueNumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[)([0-9a-zA-Z-_\.]+/[0-9a-zA-Z-_\.]+[#!][0-9]+)(?:\s|$|\)|\]|[:;,.?!]\s|[:;,.?!]$)`)
diff --git a/modules/references/references_test.go b/modules/references/references_test.go
index ffa7f993e3..d5f7c4b4c5 100644
--- a/modules/references/references_test.go
+++ b/modules/references/references_test.go
@@ -466,6 +466,7 @@ func TestRegExp_issueAlphanumericPattern(t *testing.T) {
"ABC-123:",
"\"ABC-123\"",
"'ABC-123'",
+ "ABC-123, unknown PR",
}
falseTestCases := []string{
"RC-08",
diff --git a/modules/secret/secret.go b/modules/secret/secret.go
index e70ae1839c..e3557b91b9 100644
--- a/modules/secret/secret.go
+++ b/modules/secret/secret.go
@@ -47,7 +47,7 @@ func AesDecrypt(key, text []byte) ([]byte, error) {
cfb.XORKeyStream(text, text)
data, err := base64.StdEncoding.DecodeString(string(text))
if err != nil {
- return nil, fmt.Errorf("AesDecrypt invalid decrypted base64 string: %w", err)
+ return nil, fmt.Errorf("AesDecrypt invalid decrypted base64 string: %w - it can be caused by a change of the [security].SECRET_KEY setting or a database corruption - `forgejo doctor check --run check-db-consistency --fix` will get rid of orphaned rows found in the `two_factor` table and may fix this problem if they are the one with the invalid content", err)
}
return data, nil
}
diff --git a/modules/setting/annex.go b/modules/setting/annex.go
new file mode 100644
index 0000000000..35e9e55c0e
--- /dev/null
+++ b/modules/setting/annex.go
@@ -0,0 +1,25 @@
+// 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"`
+ DisableP2PHTTP bool `ini:"DISABLE_P2PHTTP"`
+}{}
+
+func loadAnnexFrom(rootCfg ConfigProvider) {
+ sec := rootCfg.Section("annex")
+ if err := sec.MapTo(&Annex); err != nil {
+ log.Fatal("Failed to map Annex settings: %v", err)
+ }
+ if !sec.HasKey("DISABLE_P2PHTTP") {
+ // If DisableP2PHTTP is not explicitly set then use DisableHTTPGit as its default
+ Annex.DisableP2PHTTP = Repository.DisableHTTPGit
+ }
+}
diff --git a/modules/setting/service.go b/modules/setting/service.go
index 5a6cc254e0..74ed5cd3c9 100644
--- a/modules/setting/service.go
+++ b/modules/setting/service.go
@@ -138,6 +138,11 @@ func CompileEmailGlobList(sec ConfigSection, keys ...string) (globs []glob.Glob)
return globs
}
+// LoadServiceSetting loads the service settings
+func LoadServiceSetting() {
+ loadServiceFrom(CfgProvider)
+}
+
func loadServiceFrom(rootCfg ConfigProvider) {
sec := rootCfg.Section("service")
Service.ActiveCodeLives = sec.Key("ACTIVE_CODE_LIVE_MINUTES").MustInt(180)
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index c9d30836ac..9710fb23d8 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -153,6 +153,7 @@ func loadCommonSettingsFrom(cfg ConfigProvider) error {
loadCamoFrom(cfg)
loadI18nFrom(cfg)
loadGitFrom(cfg)
+ loadAnnexFrom(cfg)
loadMirrorFrom(cfg)
loadMarkupFrom(cfg)
loadQuotaFrom(cfg)
diff --git a/modules/templates/helper.go b/modules/templates/helper.go
index 55de85646c..023ba60fa9 100644
--- a/modules/templates/helper.go
+++ b/modules/templates/helper.go
@@ -103,6 +103,10 @@ func NewFuncMap() template.FuncMap {
"AppVer": func() string {
return setting.AppVer
},
+ "AppVerNoMetadata": func() string {
+ version, _, _ := strings.Cut(setting.AppVer, "+")
+ return version
+ },
"AppDomain": func() string { // documented in mail-templates.md
return setting.Domain
},
diff --git a/modules/util/remove.go b/modules/util/remove.go
index d1e38faf5f..39556e5e0b 100644
--- a/modules/util/remove.go
+++ b/modules/util/remove.go
@@ -4,7 +4,9 @@
package util
import (
+ "io/fs"
"os"
+ "path/filepath"
"runtime"
"syscall"
"time"
@@ -41,10 +43,48 @@ func Remove(name string) error {
return err
}
-// RemoveAll removes the named file or (empty) directory with at most 5 attempts.
+// MakeWritable recursively makes the named directory writable.
+func MakeWritable(name string) error {
+ return 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
+ })
+}
+
+// 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 = MakeWritable(name)
+ if err != nil {
+ // try again
+ <-time.After(100 * time.Millisecond)
+ continue
+ }
+
err = os.RemoveAll(name)
if err == nil {
break
diff --git a/options/locale/locale_bg.ini b/options/locale/locale_bg.ini
index 924ce710e0..133ffd248e 100644
--- a/options/locale/locale_bg.ini
+++ b/options/locale/locale_bg.ini
@@ -111,6 +111,7 @@ new_migrate.link = Нова миграция
new_org.link = Нова организация
copy_generic = Копиране в клипборда
copy_error = Неуспешно копиране
+copy_path = Копиране на пътя
[settings]
ui = Тема
@@ -159,7 +160,7 @@ comment_type_group_milestone = Етап
manage_emails = Управление на адресите на ел. поща
permission_read = Четене
update_password = Обновяване на паролата
-biography_placeholder = Разкажете ни малко за себе си! (Можете да използвате Markdown)
+biography_placeholder = Разкажете на другите малко за себе си! (Можете да използвате Маркдаун)
orgs = Организации
continue = Продължаване
blocked_users = Блокирани потребители
@@ -224,7 +225,7 @@ key_signature_gpg_placeholder = Започва с „-----BEGIN PGP SIGNATURE---
key_signature_ssh_placeholder = Започва с „-----BEGIN SSH SIGNATURE-----“
saved_successfully = Настройките бяха запазени успешно.
no_activity = Няма скорошна дейност
-theme_desc = Това ще бъде вашата тема по подразбиране в целия сайт.
+theme_desc = Тази тема ще се използва за уеб интерфейса, когато сте влезли.
keep_activity_private = Скриване на дейността от профилната страница
lookup_avatar_by_mail = Търсене на профилна снимка по адреса на ел. поща
password_incorrect = Текущата парола е неправилна.
@@ -235,7 +236,7 @@ twofa_disabled = Двуфакторното удостоверяване е из
orgs_none = Не сте участник в никакви организации.
repos_none = Не притежавате никакви хранилища.
blocked_users_none = Няма блокирани потребители.
-profile_desc = Контролирайте как вашият профил се показва на другите потребители. Вашият основен адрес на ел. поща ще се използва за известия, възстановяване на паролата и уеб базирани Git операции.
+profile_desc = Вашият профил
permission_write = Четене и писане
twofa_disable = Изключване на двуфакторното удостоверяване
twofa_enroll = Включване на двуфакторно удостоверяване
@@ -252,6 +253,9 @@ gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig
language.title = Език по подразбиране
language.localization_project = Помогнете ни да преведем Forgejo на вашия език! Научете повече .
language.description = Този език ще бъде запазен във вашия акаунт и ще се използва като език по подразбиране, след като влезете.
+pronouns_custom = Персонализирани
+visibility.limited_tooltip = Видимо само за влезли потребители
+pronouns_custom_label = Персонализирани местоимения
[packages]
container.labels.value = Стойност
@@ -280,6 +284,9 @@ dependencies = Зависимости
published_by_in = Публикуван %[1]s от %[3]s в %[5]s
published_by = Публикуван %[1]s от %[3]s
generic.download = Изтеглете пакета от командния ред:
+container.details.type = Тип образ
+alpine.repository = За хранилището
+container.images.title = Образи
[tool]
hours = %d часа
@@ -397,7 +404,7 @@ issues.keyword_search_unavailable = В момента търсенето по к
repo_desc_helper = Въведете кратко описание (опционално)
mirror_address = Клониране от URL
owner_helper = Някои организации може да не се показват в падащото меню поради ограничение за максимален брой хранилища.
-new_repo_helper = Хранилището съдържа всички файлове на проекта, включително хронологията на ревизиите. Вече хоствате хранилище другаде? Мигрирайте хранилище.
+new_repo_helper = Хранилището съдържа всички файлове на проекта, включително хронологията на ревизиите. Вече хоствате хранилище другаде? Мигрирайте хранилище .
repo_name_helper = Добрите имена на хранилища използват кратки, запомнящи се и уникални ключови думи.
migrated_from = Мигрирано от %[2]s
visibility_description = Само притежателят или участниците в организацията, ако имат права, ще могат да го видят.
@@ -424,14 +431,14 @@ settings.add_webhook = Добавяне на уеб-кука
template.webhooks = Уеб-куки
issues.label_templates.info = Все още няма етикети. Създайте етикет с „Нов етикет“ или използвайте предварително зададен набор от етикети:
labels = Етикети
-license_helper_desc = Лицензът определя какво могат и какво не могат да правят другите с вашия код. Не сте сигурни кой е подходящ за вашия проект? Вижте Избиране на лиценз.
+license_helper_desc = Лицензът определя какво могат и какво не могат да правят другите с вашия код. Не сте сигурни кой е подходящ за вашия проект? Вижте Избиране на лиценз .
issues.choose.blank = По подразбиране
settings.hooks = Уеб-куки
issue_labels = Етикети
issue_labels_helper = Изберете набор от етикети
readme_helper_desc = Това е мястото, където можете да напишете пълно описание на вашия проект.
repo_gitignore_helper = Изберете .gitignore шаблони
-auto_init = Да се инициализира хранилище (Добавя .gitignore, License и README)
+auto_init = Да се инициализира хранилище
template.issue_labels = Етикети за задачите
migrate_items_labels = Етикети
issues.label_templates.title = Зареждане на предв. зададен набор от етикети
@@ -815,7 +822,7 @@ diff.browse_source = Разглеждане на изходния код
file_view_rendered = Преглед на визуализация
issues.lock_with_reason = заключи като %s и ограничи обсъждането до сътрудници %s
milestones.new_subheader = Етапите ви помагат да управлявате задачите и да проследявате напредъка им.
-release.edit = редактиране
+release.edit = Редактиране
activity.published_release_label = Издание
activity.navbar.contributors = Допринесли
pulls.recently_pushed_new_branches = Изтласкахте в клона %[1]s %[2]s
@@ -939,7 +946,7 @@ pulls.approve_count_1 = %d одобрение
pulls.can_auto_merge_desc = Тази заявка за сливане може да бъде слята автоматично.
pulls.num_conflicting_files_1 = %d конфликтен файл
activity.git_stats_commit_n = %d подавания
-settings.event_issues = Модификация
+settings.event_issues = Изменение
branch.delete_head = Изтриване
branch.delete = Изтриване на клона „%s“
branch.delete_html = Изтриване на клона
@@ -1113,7 +1120,7 @@ pulls.reject_count_1 = %d поискана промяна
issues.review.show_resolved = Показване на решено
issues.review.hide_resolved = Скриване на решено
issues.review.resolve_conversation = Решаване на обсъждането
-diff.comment.markdown_info = Поддържа се стилизиране с markdown.
+diff.comment.markdown_info = Поддържа се стилизиране с Маркдаун.
diff.file_suppressed = Разликите не са показани, защото са твърде много
pulls.reject_count_n = %d поискани промени
settings.pulls.default_allow_edits_from_maintainers = Позволяване на редакции от поддържащите по подразбиране
@@ -1195,6 +1202,95 @@ issues.all_title = Общо
issues.new.assign_to_me = Възлагане на мен
ext_wiki = Външно уики
ext_issues = Външни задачи
+readme_helper = Изберете шаблон за файл README
+settings.event_pull_request_review_desc = Заявка за сливане е одобрена, отхвърлена или са добавени рецензионни коментари.
+settings.event_pull_request_review = Рецензии
+issues.filter_sort.relevance = Съответствие
+settings.confirm_wiki_branch_rename = Преименуване на клона на уикито
+settings.webhook.request = Заявка
+settings.webhook.response = Отговор
+settings.event_create = Създаване
+settings.event_push_only = Събития при изтласкване
+settings.event_delete = Изтриване
+settings.event_header_repository = Събития за хранилището
+settings.event_fork_desc = Хранилище е разклонено.
+settings.event_fork = Разклоняване
+settings.event_wiki_desc = Уики страница е създадена, преименувана, редактирана или изтрита.
+settings.event_issue_milestone = Етапи
+settings.event_pull_request_milestone_desc = Етап е добавен, премахнат или изменен.
+settings.event_pull_request_label_desc = Етикети на заявка за сливане са добавени или премахнати.
+settings.event_pull_request_merge = Сливане на заявка за сливане
+settings.archive.tagsettings_unavailable = Настройките за маркери не са налични в архивирани хранилища.
+settings.event_desc = Задействане при:
+settings.event_create_desc = Клон или маркер е създаден.
+generate_from = Генериране от
+settings.event_push_desc = Git изтласкване към хранилище.
+settings.event_package = Пакет
+settings.event_pull_request_label = Етикети
+settings.event_pull_request_assign_desc = Заявка за сливане е възложена или отвъзложена.
+settings.event_choose = Персонализирани събития…
+settings.event_header_issue = Събития при задачи
+fork_no_valid_owners = Това хранилище не може да бъде разклонено, защото няма валидни притежатели.
+settings.unarchive.text = Разархивирането на хранилище ще възстанови способността му да получава подавания и изтласквания, както и нови задачи и заявки за сливане.
+settings.archive.branchsettings_unavailable = Настройките за клонове не са налични в архивирани хранилища.
+settings.event_send_everything = Всички събития
+settings.event_pull_request_approvals = Одобрения на заявка за сливане
+release.invalid_external_url = Невалиден външен URL адрес: "%s"
+settings.event_delete_desc = Клон или маркер е изтрит.
+settings.discord_icon_url = URL адрес на иконка
+settings.discord_icon_url.exceeds_max_length = URL адресът на иконката трябва да е по-малък или равен на 2048 знака
+settings.event_push = Изтласкване
+settings.event_repository_desc = Хранилище е създадено или изтрито.
+settings.slack_icon_url = URL адрес на иконка
+settings.event_issue_comment = Коментари
+settings.event_pull_request_desc = Заявка за сливане е отворена, затворена, отворена наново или редактирана.
+settings.event_issue_comment_desc = Коментар на задача е създаден, редактиран или изтрит.
+settings.event_release_desc = Издание е публикувано, обновено или изтрито в хранилище.
+settings.event_pull_request_review_request = Искания за рецензия
+settings.event_pull_request_enforcement = Принудително изпълнение
+diff.git-notes.remove-header = Премахване на бележката
+diff.git-notes.add = Добавяне на бележка
+settings.event_pull_request_assign = Възлагане
+new_advanced_expand = Щракнете за разгъване
+new_advanced = Разширени настройки
+new_from_template = Използване на шаблон
+new_from_template_description = Можете да изберете съществуващо шаблонно хранилище в тази инстанция и да приложите неговите настройки.
+settings.event_pull_request_comment = Коментари
+repo_gitignore_helper_desc = Изберете кои файлове да не се проследяват от списък с шаблони за обичайните езици. Типичните артефакти, генерирани от инструментите за изграждане, са включени в .gitignore по подразбиране.
+object_format_helper = Формат на обектите на хранилището. Не може да се променя по-късно. SHA1 е най-съвместим.
+issues.num_reviews_one = %d рецензия
+settings.event_pull_request = Изменение
+settings.event_issue_label = Етикети
+settings.event_issue_assign = Възлагане
+settings.event_header_pull_request = Събития при заявка за сливане
+settings.event_issue_milestone_desc = Етап е добавен, премахнат или изменен.
+settings.event_issue_label_desc = Етикети на задача са добавени или премахнати.
+settings.event_issues_desc = Задача е отворена, затворена, отворена наново или редактирана.
+settings.webhook.headers = Заглавки
+settings.webhook.body = Тяло
+settings.event_pull_request_sync = Синхронизирано
+settings.event_pull_request_sync_desc = Клонът е обновен автоматично с целевия клон.
+settings.event_package_desc = Пакет е създаден или изтрит в хранилище.
+template_description = Шаблонните хранилища позволяват на потребителите да генерират нови хранилища със същата структура на директориите, файлове и опционални настройки.
+auto_init_description = Поставете началото на Git историята с README и по избор добавете файлове License и .gitignore.
+pulls.sign_in_require = Влезте , за да създадете нова заявка за сливане.
+issues.num_reviews_few = %d рецензии
+diff.git-notes.remove-body = Тази бележка ще бъде премахната.
+issues.review.add_remove_review_requests = поиска рецензии от %[1]s и премахна заявки за рецензия за %[2]s %[3]s
+form.name_pattern_not_allowed = Шаблонът "%s" не е разрешен в име на хранилище.
+settings.wiki_rename_branch_main_notices_2 = Това ще преименува перманентно вътрешния клон на уикито на хранилището %s. Съществуващите изтегляния ще трябва да бъдат обновени.
+settings.event_pull_request_milestone = Етапи
+settings.event_pull_request_comment_desc = Заявка за сливане е създадена, редактирана или изтрита.
+settings.event_issue_assign_desc = Задача е възложена или отвъзложена.
+settings.event_pull_request_review_request_desc = Рецензия на заявка за сливане е поискана или е премахната.
+generate_repo = Генериране на хранилище
+default_branch_helper = Стандартният клон е основния клон за заявки за сливане и подавания на код.
+
+issues.reaction.add = Добавяне на реакция
+issues.reaction.alt_few = %[1]s реагира с %[2]s.
+issues.reaction.alt_many = %[1]s и още %[2]d реагираха с %[3]s.
+issues.reaction.alt_remove = Премахване на реакция %[1]s от коментара.
+issues.reaction.alt_add = Добавяне на реакция %[1]s към коментара.
[modal]
confirm = Потвърждаване
@@ -1218,6 +1314,12 @@ buttons.italic.tooltip = Добавяне на курсив текст
buttons.link.tooltip = Добавяне на връзка
buttons.disable_monospace_font = Изключване на равноширокия шрифт
buttons.ref.tooltip = Препратка към задача или заявка за сливане
+table_modal.label.columns = Колони
+table_modal.label.rows = Редове
+table_modal.placeholder.content = Съдържание
+table_modal.placeholder.header = Заглавка
+buttons.new_table.tooltip = Добавяне на таблица
+table_modal.header = Добавяне на таблица
[org]
teams.write_access = Писане
@@ -1249,7 +1351,7 @@ settings.visibility.public = Публична
settings.visibility.limited_shortname = Ограничена
settings.visibility.private_shortname = Частна
settings.permission = Разрешения
-settings.visibility.limited = Ограничена (видима само за удостоверени потребители)
+settings.visibility.limited = Ограничена (видима само за влезли потребители)
settings.visibility.private = Частна (видима само за участниците в организацията)
org_name_helper = Имената на организациите е добре да са кратки и запомнящи се.
org_full_name_holder = Пълно име на организацията
@@ -1330,6 +1432,9 @@ err_empty_admin_email = Администраторският адрес на е
password_algorithm = Алгоритъм за хеш. на паролите
default_keep_email_private = Скриване на адресите на ел. поща по подразбиране
invalid_password_algorithm = Невалиден алгоритъм за хеш. на паролите
+err_admin_name_is_reserved = Потребителското име на администратора е невалидно, потребителското име е резервирано
+err_admin_name_pattern_not_allowed = Потребителското име на администратора е невалидно, потребителското име съответства с резервиран шаблон
+err_admin_name_is_invalid = Потребителското име на администратора е невалидно
[filter]
string.asc = А - Я
@@ -1361,6 +1466,14 @@ activate_account.text_1 = Здравейте, %[1]s , благодарим
activate_email.text = Моля, щракнете върху следната връзка, за да потвърдите своя адрес на ел. поща в рамките на %s :
activate_email = Потвърдете своя адрес на ел. поща
activate_account.text_2 = Моля, щракнете върху следната връзка, за да активирате своя акаунт в рамките на %s :
+issue_assigned.issue = @%[1]s ви възложи задача %[2]s в хранилище %[3]s.
+issue.action.push_n = @%[1]s изтласка %[3]d подавания към %[2]s
+issue.action.push_1 = @%[1]s изтласка %[3]d подаване към %[2]s
+repo.transfer.subject_to_you = %s иска да прехвърли хранилище "%s" към вас
+issue.action.merge = @%[1]s сля #%[2]d в %[3]s.
+issue_assigned.pull = @%[1]s ви възложи заявката за сливане %[2]s в хранилище %[3]s.
+issue.action.ready_for_review = @%[1]s отбеляза тази заявка за сливане като готова за рецензиране.
+repo.transfer.subject_to = %s иска да прехвърли хранилище "%s" към %s
[user]
joined_on = Присъединени на %s
@@ -1392,6 +1505,9 @@ followers.title.one = Последовател
following.title.one = Следван
following.title.few = Следвани
public_activity.visibility_hint.self_public = Вашата дейност е видима за всички, с изключение на взаимодействията в частни пространства. Конфигуриране .
+form.name_pattern_not_allowed = Шаблонът "%s" не е разрешен в потребителско име.
+form.name_reserved = Потребителското име "%s" е резервирано.
+public_activity.visibility_hint.self_private_profile = Вашата дейност е видима само за вас и администраторите на инстанцията, тъй като вашият профил е частен. Конфигуриране .
[home]
filter = Други филтри
@@ -1661,6 +1777,7 @@ variables.creation = Добавяне на променлива
variables.deletion.failed = Неуспешно премахване на променлива.
runners.task_list.repository = Хранилище
runners.description = Описание
+runs.no_workflows.help_no_write_access = За да научите повече за Forgejo Actions, вижте документацията .
[heatmap]
less = По-малко
diff --git a/options/locale/locale_ca.ini b/options/locale/locale_ca.ini
index ec8ae32668..dda88b1b46 100644
--- a/options/locale/locale_ca.ini
+++ b/options/locale/locale_ca.ini
@@ -1,10 +1,10 @@
[common]
-home = inici
+home = Inici
dashboard = Panell de control
explore = Explorar
help = Ajuda
logo = Logo
-sign_in = Entrar
+sign_in = Iniciar sessió
sign_in_with_provider = Entra amb %s
sign_in_or = o
sign_out = Sortir
@@ -15,7 +15,7 @@ page = Pàgina
template = Plantilla
language = Idioma
notifications = Notificacions
-active_stopwatch = Registre de Temps Actiu
+active_stopwatch = Registre de temps actiu
create_new = Crear…
user_profile_and_more = Perfil i Configuració…
signed_in_as = Entrat com
@@ -140,6 +140,14 @@ filter.not_archived = No arxivats
filter.not_fork = No és fork
filter.is_fork = Són forks
+new_repo.title = Nou repositori
+new_migrate.title = Nova migració
+new_org.title = Nova organització
+new_repo.link = Nou repositori
+new_migrate.link = Nova migració
+new_org.link = Nova organització
+copy_path = Copiar ruta
+
[search]
milestone_kind = Cerca fites...
fuzzy = Difusa
@@ -167,6 +175,9 @@ exact = Exacte
exact_tooltip = Inclou només resultats que són exactament el terme de cerca
issue_kind = Cerca problemes...
+regexp = Expressió regular
+regexp_tooltip = Interpreta el terme de cerca com una expressió regular
+
[heatmap]
number_of_contributions_in_the_last_12_months = %s contribucions en els últims 12 mesos
contributions_zero = Cap contribució
@@ -337,6 +348,72 @@ manual_activation_only = Contacti amb l'administrador de lloc per a completar l'
remember_me = Recordar aquest dispositiu
create_new_account = Registrar compte
+forgot_password_title = Contrasenya oblidada
+forgot_password = Contrasenya oblidada?
+hint_login = Ja tens compte? Entra ara!
+hint_register = Necessites un compte? Registra't ara.
+sign_up_button = Registra't ara.
+sign_up_successful = S'ha creat el compte correctament. Benvingut!
+confirmation_mail_sent_prompt = S'ha enviat un correu electrònic de confirmació a %s . Per tal de completar el registre, reviseu la safata d'entrada i seguiu l'enllaç que se us ha enviat en els següents %s. Si l'adreça de correu és incorrecta, podreu accedir al compte i demanar d'enviar un altre correu de confirmació a una altra adreça.
+must_change_password = Actualitza la contrasenya
+allow_password_change = Requereix a l'usuari canviar la contrasenya (recomanat)
+reset_password_mail_sent_prompt = S'ha enviat un correu electrònic de confirmació a %s . Per tal de completar el procés de recuperació del compte, reviseu la safata d'entrada i seguiu l'enllaç que se us ha enviat en els següents %s.
+active_your_account = Activeu el compte
+account_activated = El compte s'ha activat
+prohibit_login = El compte està en suspensió
+prohibit_login_desc = S'ha suspès la interacció del vostre compte amb la instància. Contacteu amb l'administrador per a recuperar-ne l'accés.
+resent_limit_prompt = Fa poc que heu sol·licitat un correu electrònic d'activació. Si us plau, espereu 3 minuts i torneu a intentar-ho.
+has_unconfirmed_mail = Hola %s, la vostra adreça de correu no s'ha confirmat (%s ). Si no heu rebut un correu de confirmació o necessiteu que l'enviem de nou, feu clic al botó següent.
+change_unconfirmed_email_summary = Canvieu l'adreça de correu on s'envia el correu d'activació.
+change_unconfirmed_email = Si heu proporcionat una direcció de correu incorrecta durant el registre, la podeu canviar aquí baix i se us enviarà una confirmació a l'adreça nova.
+change_unconfirmed_email_error = No s'ha pogut canviar l'adreça de correu: %v
+resend_mail = Feu clic aquí per tornar a enviar el correu electrònic d'activació
+send_reset_mail = Enviar correu electrònic de recuperació del compte
+reset_password = Recuperació del compte
+invalid_code = El codi de confirmació no és vàlid o ha caducat.
+invalid_code_forgot_password = El codi de confirmació és invàlid o ha caducat. Feu click aquí per a iniciar una sessió nova.
+invalid_password = La contrasenya no coincideix amb la que es va utilitzar per a crear el compte.
+reset_password_helper = Recuperar compte
+reset_password_wrong_user = Heu iniciat sessió com a %s, però l'enllaç de recuperació pertany a %s
+password_too_short = La longitud de la contrasenya no pot ser inferior a %d caràcters.
+non_local_account = Els usuaris no locals no poden actualitzar la seva contrasenya mitjançant l'interfície web de Forgejo
+verify = Verificar
+unauthorized_credentials = Les credencials són incorrectes o han caducat. Torneu a executar l'ordre o visiteu %s per a més informació
+scratch_code = Codi de recuperació
+use_scratch_code = Utilitzar un codi de recuperació
+use_onetime_code = Utilitzar un codi d'un sol ús
+twofa_scratch_used = Ja heu utilitzat el vostre codi de recuperació. Se us ha redirigit a la pàgina de configuració de l'autenticació de doble factor per tal d'eliminar el dispositiu o generar un codi de recuperació nou.
+twofa_passcode_incorrect = El codi d'accés és incorrecte. Si heu perdut el dispositiu, useu el codi de recuperació per a entrar.
+twofa_scratch_token_incorrect = El codi de recuperació és incorrecte.
+login_userpass = Entra
+oauth_signup_tab = Registrar compte nou
+oauth_signup_title = Completar compte nou
+oauth_signup_submit = Completar compte
+oauth_signin_tab = Vincular a un compte existent
+oauth_signin_title = Entreu per a autoritzar el compte vinculat
+oauth_signin_submit = Vincular compte
+oauth.signin.error = Hi ha hagut un error processant la sol·licitud d'autorització. Si persisteix, poseu-vos en contacte amb l'administrador del lloc.
+oauth.signin.error.access_denied = S'ha denegat la sol·licitud d'autorització.
+oauth.signin.error.temporarily_unavailable = Ha fallat l'autorització perquè el servidor d'autenticació no està disponible temporalment. Intenteu-ho de nou més tard.
+openid_connect_submit = Connectar
+openid_connect_title = Entreu a un compte existent
+openid_register_title = Crear un compte nou
+openid_signin_desc = Introduïu la URI OpenID. Per exemple: alice.openid.example.org o https://openid.example.org/alice.
+disable_forgot_password_mail = La recuperació de comptes està deshabilitada perquè no hi ha configuració de correu electrònic. Si us plau, contacteu amb l'administrador del lloc.
+disable_forgot_password_mail_admin = La recuperació de comptes només està disponible quan s'ha configurat el correu electrònic. Si us plau, configureu el correu electrònic per a habilitar la recuperació de comptes.
+email_domain_blacklisted = No podeu registrar-vos amb el correu electrònic.
+authorize_application = Autoritzar aplicació
+authorize_redirect_notice = Sereu redirigits a %s si autoritzeu aquesta aplicació.
+authorize_application_created_by = Aquesta aplicació l'ha creat %s.
+authorize_application_description = Si li concediu l'accés podrà accedir i escriure a tota la informació del vostre compte, inclòs repositoris privats i organitzacions.
+authorize_title = Autoritzeu "%s" a accedir al vostre compte?
+authorization_failed = Ha fallat l'autorització
+authorization_failed_desc = Ha fallat l'autorització perquè s'ha detectat una sol·licitud invàlida. Si us plau, contacteu amb el responsable de l'aplicació que heu intentat autoritzar.
+password_pwned = La contrasenya que heu introduït es troba en una llista de contrasenyes robades exposades en dades filtrades públicament. Si us plau, intenteu-ho de nou amb una contrasenya diferent i considereu modificar aquesta contrasenya a tot arreu on la utilitzeu.
+password_pwned_err = No s'ha pogut completar la sol·licitud a HaveIBeenPwned
+last_admin = No podeu eliminar l'últim usuari administrador. Com a mínim n'hi ha d'haver un.
+back_to_sign_in = Torneu a entrar
+
[editor]
buttons.indent.tooltip = Aniua els elements un nivell
buttons.unindent.tooltip = Desaniuna els elements un nivell
@@ -355,6 +432,13 @@ buttons.list.ordered.tooltip = Afegir una llista enumerada
buttons.list.task.tooltip = Afegir una llista de tasques
buttons.mention.tooltip = Mencionar un usuari o equip
+buttons.new_table.tooltip = Afegir taula
+table_modal.header = Afegir taula
+table_modal.placeholder.header = Capçalera
+table_modal.placeholder.content = Contingut
+table_modal.label.rows = Files
+table_modal.label.columns = Columnes
+
[home]
my_orgs = Organitzacions
show_more_repos = Mostra més repositoris…
@@ -381,4 +465,15 @@ filter = Altres filtres
footer.software = Sobre aquest software
footer.links = Enllaços
navbar = Barra de navegació
-footer = Peu de pàgina
\ No newline at end of file
+footer = Peu de pàgina
+
+[mail]
+view_it_on = Veure a %s
+reply = o responeu directament a aquest correu
+link_not_working_do_paste = No funciona l'enllaç? Proveu a copiar-lo i enganxar-lo al navegador web.
+hi_user_x = Hola %s ,
+activate_account = Si us plau, activeu el compte
+activate_account.text_1 = Hola %[1]s , gràcies per registrar-te a %[2]s!
+admin.new_user.user_info = Informació d'usuari
+admin.new_user.text = Si us plau, cliqueu aui per administrar aquest usuari des del panell d'administració.
+register_notify = Benvinguts a %s
\ No newline at end of file
diff --git a/options/locale/locale_cs-CZ.ini b/options/locale/locale_cs-CZ.ini
index bd983164b2..1894aeb81c 100644
--- a/options/locale/locale_cs-CZ.ini
+++ b/options/locale/locale_cs-CZ.ini
@@ -4,7 +4,7 @@ dashboard=Přehled
explore=Procházet
help=Nápověda
logo=Logo
-sign_in=Přihlášení
+sign_in=Přihlásit se
sign_in_with_provider = Přihlásit se přes %s
sign_in_or=nebo
sign_out=Odhlásit se
@@ -517,8 +517,8 @@ issue_assigned.issue=@%[1]s vás přiřadil/a k problému %[2]s v repozitáři %
issue.x_mentioned_you=@%s vás zmínil/a:
issue.action.force_push=%[1]s vynutil/a nahrání %[2]s z %[3]s do %[4]s.
-issue.action.push_1=@%[1]s nahrál/a %[3]d commit do %[2]s
-issue.action.push_n=@%[1]s nahrál/a %[3]d commity do %[2]s
+issue.action.push_1=Uživatel @%[1]s nahrál %[3]d revizi do %[2]s
+issue.action.push_n=Uživatel @%[1]s nahrál %[3]d revizí do %[2]s
issue.action.close=@%[1]s uzavřel/a #%[2]d.
issue.action.reopen=@%[1]s znovu otevřel/a #%[2]d.
issue.action.merge=@%[1]s sloučil/a #%[2]d do %[3]s.
@@ -590,9 +590,9 @@ AuthName=Název ověření
AdminEmail=E-mailová adresa správce
NewBranchName=Název nové větve
-CommitSummary=Shrnutí commity
-CommitMessage=Zpráva commitu
-CommitChoice=Výběr commitu
+CommitSummary=Shrnutí revize
+CommitMessage=Zpráva revize
+CommitChoice=Výběr revize
TreeName=Cesta k souboru
Content=Obsah
@@ -681,6 +681,8 @@ To = Název větve
Biography = Životopis
AccessToken = Přístupový token
+email_domain_is_not_allowed = Doména uživatelské e-mailové adresy %s je v rozporu se seznamem EMAIL_DOMAIN_ALLOWLIST nebo EMAIL_DOMAIN_BLOCKLIST. Ujistěte se, že je vaše adresa správně nastavena.
+
[user]
change_avatar=Změnit váš avatar…
joined_on=Přidal/a se %s
@@ -747,7 +749,7 @@ webauthn=Dvoufázové ověření (bezpečnostní klíče)
public_profile=Veřejný profil
biography_placeholder=Řekněte ostatním něco o sobě! (Je podporován Markdown)
location_placeholder=Sdílejte svou přibližnou polohu s ostatními
-profile_desc=Nastavte, jak bude váš profil zobrazen ostatním uživatelům. Vaše hlavní e-mailová adresa bude použita pro oznámení, obnovení hesla a operace Git.
+profile_desc=O vás
password_username_disabled=Externí uživatelé nemohou měnit svoje uživatelské jméno. Kontaktujte prosím svého administrátora pro více detailů.
full_name=Celé jméno
website=Web
@@ -767,7 +769,7 @@ language=Jazyk
ui=Motiv vzhledu
hidden_comment_types=Skryté typy komentářů
hidden_comment_types_description=Zde zkontrolované typy komentářů nebudou zobrazeny na stránkách problémů. Zaškrtnutí „Štítek“ například odstraní všechny komentáře „ přidal/odstranil “.
-hidden_comment_types.ref_tooltip=Komentáře, kde byl tento problém odkázán u jiného problému/commitu/…
+hidden_comment_types.ref_tooltip=Komentáře, kde byl tento problém odkázán z jiného problému/revize/…
hidden_comment_types.issue_ref_tooltip=Komentáře, kde uživatel změní větev/značku spojenou s problémem
comment_type_group_reference=Reference
comment_type_group_label=Štítek
@@ -780,7 +782,7 @@ comment_type_group_deadline=Uzávěrka
comment_type_group_dependency=Závislost
comment_type_group_lock=Stav zámku
comment_type_group_review_request=Žádost o posouzení
-comment_type_group_pull_request_push=Přidané commity
+comment_type_group_pull_request_push=Přidané revize
comment_type_group_project=Projekt
comment_type_group_issue_ref=Referenční číslo problému
saved_successfully=Vaše nastavení bylo úspěšně uloženo.
@@ -822,7 +824,7 @@ activations_pending=Čekající aktivace
can_not_add_email_activations_pending=Existuje čekající aktivace, zkuste to znovu za pár minut, pokud chcete přidat nový e-mail.
delete_email=Smazat
email_deletion=Odstranit e-mailovou adresu
-email_deletion_desc=E-mailová adresa a přidružené informace budou z vašeho účtu odstraněny. Commity Gitu s touto e-mailovou adresou zůstanou nezměněny. Pokračovat?
+email_deletion_desc=E-mailová adresa a přidružené informace budou z vašeho účtu odstraněny. Revize Gitu s touto e-mailovou adresou zůstanou nezměněny. Pokračovat?
email_deletion_success=E-mailová adresa byla odstraněna.
theme_update_success=Váš motiv vzhledu byl aktualizován.
theme_update_error=Vybraný motiv vzhledu neexistuje.
@@ -838,16 +840,16 @@ 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=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.
+keep_email_private_popup=Vaše e-mailová adresa nebude zobrazena na vašem profilu a nebude výchozí adresou pro revize provedené skrze webové rozhraní, jako nahrávání, úpravy a slučování. Namísto toho lze použít speciální adresu %s pro propojení revizí s vaším účtem. Tato možnost neovlivní existující revize.
openid_desc=OpenID vám umožní delegovat ověřování na externího poskytovatele.
manage_ssh_keys=Správa klíčů SSH
manage_ssh_principals=Spravovat SSH Principal certifikáty
manage_gpg_keys=Správa klíčů GPG
add_key=Přidat klíč
-ssh_desc=Tyto veřejné klíče SSH jsou propojeny s vaším účtem. Odpovídající soukromé klíče umožní plný přístup k vašim repozitářům. Klíče SSH, které byly ověřeny, mohou být použity pro ověření Git commitů podepsaných přes SSH.
+ssh_desc=Tyto veřejné klíče SSH jsou propojeny s vaším účtem. Odpovídající soukromé klíče umožní plný přístup k vašim repozitářům. Klíče SSH, které byly ověřeny, mohou být použity pro ověření Git revizí podepsaných přes SSH.
principal_desc=Tyto SSH Principal certifikáty jsou přidruženy k vašemu účtu a umožňují plný přístup do vašich repozitářů.
-gpg_desc=Tyto veřejné klíče GPG jsou propojeny s vaším účtem a používají se k ověření vašich commitů. Uložte je na bezpečné místo, jelikož umožňují podepsat commity vaší identitou.
+gpg_desc=Tyto veřejné klíče GPG jsou propojeny s vaším účtem a používají se k ověření vašich revizí. Uložte je na bezpečné místo, jelikož umožňují podepsat revize vaší identitou.
ssh_helper=Potřebujete pomoct? Podívejte se do příručky, jak vytvořit vlastní klíče SSH nebo vyřešte běžné problémy , se kterými se můžete potkat při použití SSH.
gpg_helper=Potřebujete pomoct? Podívejte se do příručky o GPG .
add_new_key=Přidat klíč SSH
@@ -861,9 +863,9 @@ ssh_principal_been_used=Tento SSH Principal certifikát již byl přidán na ser
gpg_key_id_used=Veřejný GPG klíč se stejným ID již existuje.
gpg_no_key_email_found=Tento GPG klíč neodpovídá žádné aktivované e-mailové adrese spojené s vaším účtem. Může být stále přidán, pokud podepíšete zadaný token.
gpg_key_matched_identities=Odpovídající identity:
-gpg_key_matched_identities_long=Vložené identity v tomto klíči odpovídají následujícím aktivovaným e-mailovým adresám tohoto uživatele. Commity odpovídající těmto e-mailovým adresám lze ověřit pomocí tohoto klíče.
+gpg_key_matched_identities_long=Vložené identity v tomto klíči odpovídají následujícím aktivovaným e-mailovým adresám tohoto uživatele. Revize odpovídající těmto e-mailovým adresám lze ověřit pomocí tohoto klíče.
gpg_key_verified=Ověřený klíč
-gpg_key_verified_long=Klíč byl ověřen pomocí tokenu a může být použit k ověření commitů shodujících se s libovolnou aktivovanou e-mailovou adresou pro tohoto uživatele navíc k jakékoli odpovídající identitě tohoto klíče.
+gpg_key_verified_long=Klíč byl ověřen pomocí tokenu a může být použit k ověření revizí shodujících se s libovolnou aktivovanou e-mailovou adresou pro tohoto uživatele navíc k jakékoli odpovídající identitě tohoto klíče.
gpg_key_verify=Ověřit
gpg_invalid_token_signature=Zadaný GPG klíč, podpis a token se neshodují nebo je token zastaralý.
gpg_token_required=Musíte zadat podpis pro níže uvedený token
@@ -874,7 +876,7 @@ gpg_token_signature=Zakódovaný podpis GPG
key_signature_gpg_placeholder=Začíná textem „-----BEGIN PGP SIGNATURE-----“
verify_gpg_key_success=GPG klíč „%s“ byl ověřen.
ssh_key_verified=Ověřený klíč
-ssh_key_verified_long=Klíč byl ověřen pomocí tokenu a může být použit k ověření commitů shodujících se s libovolnou vaší aktivovanou e-mailovou adresou pro tohoto uživatele.
+ssh_key_verified_long=Klíč byl ověřen pomocí tokenu a může být použit k ověření revizí shodujících se s libovolnou vaší aktivovanou e-mailovou adresou pro tohoto uživatele.
ssh_key_verify=Ověřit
ssh_invalid_token_signature=Zadaný SSH klíč, podpis nebo token se neshodují nebo je token zastaralý.
ssh_token_required=Musíte zadat podpis pro níže uvedený token
@@ -896,7 +898,7 @@ ssh_key_deletion=Odebrat klíč SSH
gpg_key_deletion=Odebrat klíč GPG
ssh_principal_deletion=Odstranit SSH Principal certifikát
ssh_key_deletion_desc=Odstranění SSH klíče zruší jeho přístup k vašemu účtu. Pokračovat?
-gpg_key_deletion_desc=Odstraněním klíče GPG zneplatníte ověření commitů, které jsou jím podepsány. Pokračovat?
+gpg_key_deletion_desc=Odstraněním klíče GPG zneplatníte ověření revizí, které jsou jím podepsány. Pokračovat?
ssh_principal_deletion_desc=Odstranění SSH Principal certifikátu zruší jeho přístup k vašemu účtu. Pokračovat?
ssh_key_deletion_success=SSH klíč byl odstraněn.
gpg_key_deletion_success=GPG klíč byl odstraněn.
@@ -914,7 +916,7 @@ principal_state_desc=Tento SSH Principal certifikát byl použit během posledn
show_openid=Zobrazit na profilu
hide_openid=Odstranit z profilu
ssh_disabled=SSH je zakázáno
-ssh_signonly=SSH je v současné době zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu.
+ssh_signonly=SSH je v současné době zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu revizí.
ssh_externally_managed=Tento SSH klíč je spravován externě pro tohoto uživatele
manage_social=Správa propojených účtů sociálních sítí
social_desc=Tyto účty sociálních sítí lze použít k přihlášení k vašemu účtu. Ujistěte se, že jsou všechny vaše.
@@ -966,7 +968,7 @@ oauth2_client_secret_hint=Tajný klíč se znovu nezobrazí po opuštění nebo
oauth2_application_edit=Upravit
oauth2_application_create_description=Aplikace OAuth2 poskytují přístup vašim aplikacím třetích stran k uživatelským účtům na této instanci.
oauth2_application_remove_description=Odebráním OAuth2 aplikace zabrání přístupu ověřeným uživatelům na této instanci. Pokračovat?
-oauth2_application_locked=Gitea předregistruje některé OAuth2 aplikace při spuštění, pokud je to povoleno v konfiguraci. Aby se zabránilo neočekávanému chování, nelze je upravovat ani odstranit. Více informací naleznete v dokumentaci OAuth2.
+oauth2_application_locked=Forgejo předem zaregistruje některé OAuth2 aplikace při spuštění, pokud je to povoleno v konfiguraci. Aby se zabránilo neočekávanému chování, nelze je upravovat ani odstranit. Více informací naleznete v dokumentaci OAuth2.
authorized_oauth2_applications=Autorizované aplikace OAuth2
authorized_oauth2_applications_description=Těmto aplikacím třetích stran jste udělili přístup ke svému osobnímu účtu Forgejo. Zrušte prosím přístup aplikacím, které již nejsou používány.
@@ -1010,7 +1012,7 @@ remove_account_link=Odstranit propojený účet
remove_account_link_desc=Odstraněním propojeného účtu zrušíte jeho přístup k vašemu Forgejo účtu. Pokračovat?
remove_account_link_success=Propojený účet byl odstraněn.
-hooks.desc=Přidat webhooky, které budou spouštěny pro všechny repozitáře vve vašem vlastnictví.
+hooks.desc=Přidejte webhooky, které budou spouštěny pro všechny repozitáře ve vašem vlastnictví.
orgs_none=Nejste členem žádné organizace.
repos_none=Nevlastníte žádné repozitáře.
@@ -1054,6 +1056,8 @@ language.title = Výchozí jazyk
keep_activity_private.description = Vaše veřejná aktivita 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! Více informací .
+user_block_yourself = Nemůžete zablokovat sami sebe.
+pronouns_custom_label = Vlastní zájmena
[repo]
new_repo_helper=Repozitář obsahuje všechny soubory projektu, včetně historie revizí. Už jej hostujete jinde? Migrovat repozitář .
@@ -1102,7 +1106,7 @@ object_format_helper = Objektový formát repozitáře. Později jej nelze změn
readme=README
readme_helper=Vyberte šablonu souboru README
readme_helper_desc=Do tohoto místa můžete zadat celý popis vašeho projektu.
-auto_init=Inicializovat repozitář (přidá soubory .gitignore, License a README)
+auto_init=Inicializovat repozitář
trust_model_helper=Vyberte model důvěry pro ověření podpisu. Možnosti jsou:
trust_model_helper_collaborator=Spolupracovník: Důvěřovat podpisům spolupracovníků
trust_model_helper_committer=Přispěvatel: Důvěřovat podpisům, které se shodují s přispěvateli
@@ -1111,12 +1115,12 @@ trust_model_helper_default=Výchozí: Použít výchozí model důvěry pro tuto
create_repo=Vytvořit repozitář
default_branch=Výchozí větev
default_branch_label=výchozí
-default_branch_helper=Výchozí větev je základní větev pro žádosti o sloučení a commity kódu.
+default_branch_helper=Výchozí větev je základní větev pro žádosti o sloučení a revize kódu.
mirror_prune=Vyčistit
mirror_prune_desc=Odstranit zastaralé reference na vzdálené sledování
mirror_interval=Interval zrcadlení (platné časové jednotky jsou „h“, „m“ a „s“). Nastavením na 0 zakážete periodickou synchronizaci. (Minimální interval: %s)
mirror_interval_invalid=Interval zrcadlení není platný.
-mirror_sync_on_commit=Synchronizovat při nahrávání commitů
+mirror_sync_on_commit=Synchronizovat při nahrávání revizí
mirror_address=Klonovat z URL
mirror_address_desc=Zadejte požadované přístupové údaje do sekce Ověření.
mirror_address_url_invalid=Poskytnutá URL je neplatná. Všechny části musíte správně nahradit escape sekvencí.
@@ -1149,7 +1153,7 @@ blame_prior=Zobrazit blame před touto změnou
blame.ignore_revs.failed=Nepodařilo se ignorovat revize v .git-blame-ignore-revs .
author_search_tooltip=Zobrazí maximálně 30 uživatelů
-tree_path_not_found_commit=Cesta %[1]s v commitu %[2]s neexistuje
+tree_path_not_found_commit=Cesta %[1]s v revizi %[2]s neexistuje
tree_path_not_found_branch=Cesta %[1]s ve větvi %[2]s neexistuje
tree_path_not_found_tag=Cesta %[1]s ve značce %[2]s neexistuje
@@ -1265,7 +1269,7 @@ empty_message=Tento repozitář nemá žádný obsah.
broken_message=Data gitu, která jsou základem tohoto repozitáře, nelze číst. Kontaktujte správce této instance nebo smažte tento repositář.
code=Zdrojový kód
-code.desc=Přístup ke zdrojovým kódům, souborům, commitům a větvím.
+code.desc=Přístup ke zdrojovým kódům, souborům, revizím a větvím.
branch=Větev
tree=Strom
clear_ref=Vymazat aktuální referenci
@@ -1283,8 +1287,8 @@ org_labels_desc=Štítky na úrovni organizace, které mohou být použity se %[1]s.
-editor.create_new_branch=Vytvořit novou větev pro tento commit a vytvořit žádost o sloučení.
-editor.create_new_branch_np=Vytvořte novou větev z tohoto commitu.
+editor.create_new_branch=Vytvořit novou větev pro tuto revizi a vytvořit žádost o sloučení.
+editor.create_new_branch_np=Vytvořit novou větev z této revize.
editor.propose_file_change=Navrhnout změnu souboru
-editor.new_branch_name=Pojmenujte novou větev pro tento commit
+editor.new_branch_name=Pojmenujte novou větev pro tuto revizi
editor.new_branch_name_desc=Název nové větve…
editor.cancel=Zrušit
editor.filename_cannot_be_empty=Jméno nemůže být prázdné.
@@ -1378,7 +1384,7 @@ editor.file_is_a_symlink=`„%s“ je symbolický odkaz. Symbolické odkazy nemo
editor.filename_is_a_directory=Jméno souboru „%s“ je již použito jako jméno adresáře v tomto repozitáři.
editor.file_editing_no_longer_exists=Upravovaný soubor „%s“ již není součástí tohoto repozitáře.
editor.file_deleting_no_longer_exists=Odstraňovaný soubor „%s“ již není součástí tohoto repozitáře.
-editor.file_changed_while_editing=Obsah souboru se od zahájení úprav změnil. Klikněte sem pro jejich zobrazení nebo proveďte commit změn ještě jednou pro jejich přepsání.
+editor.file_changed_while_editing=Obsah souboru se od zahájení úprav změnil. Klikněte sem pro jeho zobrazení nebo odešlete změny ještě jednou pro jeho přepsání.
editor.file_already_exists=Soubor „%s“ již existuje v tomto repozitáři.
editor.commit_empty_file_header=Odeslat prázdný soubor
editor.commit_empty_file_text=Soubor, který se chystáte odeslat, je prázdný. Pokračovat?
@@ -1392,16 +1398,16 @@ editor.add_subdir=Přidat adresář…
editor.unable_to_upload_files=Nepodařilo se nahrát soubory do „%s“. Chyba: %v
editor.upload_file_is_locked=Soubor „%s“ je uzamčen uživatelem %s.
editor.upload_files_to_dir=Nahrány soubory do „%s“
-editor.cannot_commit_to_protected_branch=Nelze vytvořit commit v chráněné větvi „%s“.
+editor.cannot_commit_to_protected_branch=Nelze vytvořit revizi v chráněné větvi „%s“.
editor.no_commit_to_branch=Nepodařilo se odeslat přímo do větve:
editor.user_no_push_to_branch=Uživatel nemůže nahrávat do větve
-editor.require_signed_commit=Větev vyžaduje podepsaný commit
+editor.require_signed_commit=Větev vyžaduje podepsanou revizi
editor.cherry_pick=Cherry-pick %s na:
editor.revert=Vrátit %s na:
commits.desc=Procházet historii změn zdrojového kódu.
-commits.commits=Commity
-commits.no_commits=Žádné společné commity. „%s“ a „%s“ mají zcela odlišnou historii.
+commits.commits=Revize
+commits.no_commits=Žádné společné revize. „%s“ a „%s“ mají zcela odlišnou historii.
commits.nothing_to_compare=Tyto větve jsou stejné.
commits.search=Hledání commitů…
commits.search.tooltip=Můžete předřadit klíčová slova s „author:“, „committer:“, „after:“ nebo „before:“, např. „revert author:Alice before:2019-01-03“.
@@ -1414,21 +1420,21 @@ commits.older=Starší
commits.newer=Novější
commits.signed_by=Podepsáno
commits.signed_by_untrusted_user=Podepsáno nedůvěryhodným uživatelem
-commits.signed_by_untrusted_user_unmatched=Podepsáno nedůvěryhodným uživatelem, který nesouhlasí s přispěvatelem
+commits.signed_by_untrusted_user_unmatched=Podepsáno nedůvěryhodným uživatelem, který neodpovídá přispěvateli
commits.gpg_key_id=ID klíče GPG
commits.ssh_key_fingerprint=Otisk klíče SSH
-commits.view_path=Zobrazit v tomto bodě v historii
+commits.view_path=Zobrazit tento bod v historii
commit.operations=Operace
commit.revert=Vrátit
commit.revert-header=Vrátit: %s
-commit.revert-content=Vyberte větev pro návrat na:
+commit.revert-content=Vyberte větev pro návrat:
commit.cherry-pick=Cherry-pick
commit.cherry-pick-header=Cherry-pick: %s
-commit.cherry-pick-content=Vyberte větev pro Cherry-pick na:
+commit.cherry-pick-content=Vyberte větev pro Cherry-pick:
commitstatus.error=Chyba
-commitstatus.failure=Chyba
+commitstatus.failure=Selhání
commitstatus.pending=Čekající
commitstatus.success=Úspěch
@@ -1611,15 +1617,15 @@ issues.context.edit=Upravit
issues.context.delete=Smazat
issues.no_content=K dispozici není žádný popis.
issues.close=Zavřít problém
-issues.comment_pull_merged_at=sloučený commit %[1]s do %[2]s %[3]s
-issues.comment_manually_pull_merged_at=ručně sloučený commit %[1]s do %[2]s %[3]s
+issues.comment_pull_merged_at=sloučena revize %[1]s do %[2]s %[3]s
+issues.comment_manually_pull_merged_at=ručně sloučena revize %[1]s do %[2]s %[3]s
issues.close_comment_issue=Zavřít s komentářem
issues.reopen_issue=Znovu otevřít
issues.reopen_comment_issue=Znovu otevřít s komentářem
issues.create_comment=Okomentovat
issues.closed_at=`uzavřel/a tento problém %[2]s `
issues.reopened_at=`znovu otevřel/a tento problém %[2]s `
-issues.commit_ref_at=`odkázal/a na tento problém z commitu %[2]s `
+issues.commit_ref_at=`odkázal/a na tento problém z revize %[2]s `
issues.ref_issue_from=`odkázal/a na tento problém %[4]s %[2]s `
issues.ref_pull_from=`odkázal/a na tuto žádost o sloučení %[4]s %[2]s `
issues.ref_closing_from=`odkazoval/a na tento problém ze žádosti o sloučení %[4]s, která jej uzavře , %[2]s `
@@ -1725,8 +1731,8 @@ issues.due_date=Termín dokončení
issues.invalid_due_date_format=Termín dokončení musí být ve formátu „rrrr-mm-dd“.
issues.error_modifying_due_date=Změna termínu dokončení selhala.
issues.error_removing_due_date=Odstranění termínu dokončení selhalo.
-issues.push_commit_1=přidal/a %d commit %s
-issues.push_commits_n=přidal/a %d commity %s
+issues.push_commit_1=přidal/a %d revizi %s
+issues.push_commits_n=přidal/a %d revize %s
issues.force_push_codes=`vynucené nahrání %[1]s od %[2]s
do %[4]s
%[6]s`
issues.force_push_compare=Porovnat
issues.due_date_form=rrrr-mm-dd
@@ -1831,13 +1837,13 @@ pulls.switch_comparison_type=Přepnout typ porovnání
pulls.switch_head_and_base=Prohodit hlavní a základní větev
pulls.filter_branch=Filtrovat větev
pulls.no_results=Nebyly nalezeny žádné výsledky.
-pulls.show_all_commits=Zobrazit všechny commity
+pulls.show_all_commits=Zobrazit všechny revize
pulls.show_changes_since_your_last_review=Zobrazit změny od vašeho posledního posouzení
-pulls.showing_only_single_commit=Zobrazuji pouze změny commitu %[1]s
+pulls.showing_only_single_commit=Zobrazuji pouze změny revize %[1]s
pulls.showing_specified_commit_range=Zobrazují se pouze změny mezi %[1]s..%[2]s
-pulls.select_commit_hold_shift_for_range=Vyberte commit. Podržte klávesu shift + klepněte pro výběr rozsahu
+pulls.select_commit_hold_shift_for_range=Vyberte revizi. Podržte klávesu Shift a klikněte pro výběr rozsahu
pulls.review_only_possible_for_full_diff=Posouzení je možné pouze při zobrazení plného rozlišení
-pulls.filter_changes_by_commit=Filtrovat podle commitu
+pulls.filter_changes_by_commit=Filtrovat podle revize
pulls.nothing_to_compare=Tyto větve jsou stejné. Není třeba vytvářet žádost o sloučení.
pulls.nothing_to_compare_have_tag = Vybraná větev a značka jsou shodné.
pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tato žádost o sloučení bude prázdná.
@@ -1847,7 +1853,7 @@ pulls.title_desc_few=chce sloučit %[1]d commity z větve %[2]s
do
pulls.merged_title_desc_few=sloučil %[1]d commity z větve %[2]s
do větve %[3]s
před %[4]s
pulls.change_target_branch_at=`změnil/a cílovou větev z %s na %s %s`
pulls.tab_conversation=Konverzace
-pulls.tab_commits=Commity
+pulls.tab_commits=Revize
pulls.tab_files=Změněné soubory
pulls.reopen_to_merge=Otevřete znovu tuto žádost pro provedení sloučení.
pulls.cant_reopen_deleted_branch=Tuto žádost o sloučení nelze znovu otevřít, protože větev byla smazána.
@@ -1866,7 +1872,7 @@ pulls.data_broken=Tato žádost o sloučení je rozbitá kvůli chybějícím in
pulls.files_conflicted=Tato žádost o sloučení obsahuje změny, které jsou v rozporu s cílovou větví.
pulls.is_checking=Právě probíhá kontrola konfliktů při sloučení. Zkuste to za chvíli.
pulls.is_ancestor=Tato větev je již součástí cílové větve. Není co sloučit.
-pulls.is_empty=Změny na této větvi jsou již na cílové větvi. Toto bude prázdný commit.
+pulls.is_empty=Změny na této větvi se již nacházejí na cílové větvi. Tato revize bude prázdná.
pulls.required_status_check_failed=Některé požadované kontroly nebyly úspěšné.
pulls.required_status_check_missing=Některé požadované kontroly chybí.
pulls.required_status_check_administrator=Jako administrátor stále můžete sloučit tuto žádost.
@@ -1887,25 +1893,25 @@ pulls.reject_count_1=%d žádost o změnu
pulls.reject_count_n=%d žádostí o změnu
pulls.waiting_count_1=%d čekající posouzení
pulls.waiting_count_n=%d čekajících posouzení
-pulls.wrong_commit_id=id commitu musí být id commitu v cílové větvi
+pulls.wrong_commit_id=id revize musí být id revize v cílové větvi
pulls.no_merge_desc=Tato žádost nemůže být sloučena, protože všechny možnosti repozitáře na sloučení jsou zakázány.
pulls.no_merge_helper=Povolte možnosti sloučení v nastavení repozitáře nebo proveďte sloučení žádosti ručně.
pulls.no_merge_wip=Tato žádost nemůže být sloučena, protože je označena jako rozpracovaná.
pulls.no_merge_not_ready=Tento žádost není připravena na sloučení, zkontrolujte stav posouzení a kontroly stavu.
pulls.no_merge_access=Nemáte oprávnění sloučit tuto žádost.
-pulls.merge_pull_request=Vytvořit slučovací commit
+pulls.merge_pull_request=Vytvořit slučovací revizi
pulls.rebase_merge_pull_request=Rebase pak fast-forward
-pulls.rebase_merge_commit_pull_request=Rebase a poté vytvořit slučovací commit
-pulls.squash_merge_pull_request=Vytvořit squash commit
+pulls.rebase_merge_commit_pull_request=Provést rebase a poté vytvořit slučovací revizi
+pulls.squash_merge_pull_request=Vytvořit squash revizi
pulls.merge_manually=Sloučeno ručně
-pulls.merge_commit_id=ID slučovacího commitu
-pulls.require_signed_wont_sign=Větev vyžaduje podepsané commity, ale toto sloučení nebude podepsáno
+pulls.merge_commit_id=ID slučovací revize
+pulls.require_signed_wont_sign=Větev vyžaduje podepsané revize, ale toto sloučení nebude podepsáno
pulls.invalid_merge_option=Pro tuto žádost nemůžete použít tuto možnost sloučení.
pulls.merge_conflict=Sloučení selhalo: při slučování došlo ke konfliktu. Tip: zkuste jinou strategii
pulls.merge_conflict_summary=Chybové hlášení
-pulls.rebase_conflict=Sloučení selhalo: došlo ke konfliktu při rebase commitu: %[1]s. Tip: zkuste jinou strategii
+pulls.rebase_conflict=Sloučení selhalo: došlo ke konfliktu při provádění rebase revize %[1]s. Tip: zkuste jinou strategii
pulls.rebase_conflict_summary=Chybové hlášení
pulls.unrelated_histories=Sloučení selhalo: hlava a základ revize nesdílí společnou historii. Tip: zkuste jinou strategii
pulls.merge_out_of_date=Sloučení selhalo: základ byl aktualizován při generování sloučení. Tip: zkuste to znovu.
@@ -1935,7 +1941,7 @@ pulls.reopened_at=`znovu otevřel/a tuto žádost o sloučení dokumentace . Příklady: main, release/**
settings.protect_patterns=Vzory
@@ -2457,11 +2463,11 @@ settings.block_on_official_review_requests=Blokovat sloučení při oficiální
settings.block_on_official_review_requests_desc=Slučování nebude možné, pokud mají oficiální požadavek na posouzení, i když mají k dispozici dostatek schválení.
settings.block_outdated_branch=Blokovat sloučení, pokud je požadavek na natažení zastaralý
settings.block_outdated_branch_desc=Slučování nebude možné, pokud je hlavní větev za základní větví.
-settings.default_branch_desc=Vybrat výchozí větev repozitáře pro požadavky na natažení a revize kódu:
+settings.default_branch_desc=Vybrat výchozí větev repozitáře pro žádosti o sloučení a příspěvky kódu:
settings.merge_style_desc=Sloučit styly
settings.default_merge_style_desc=Výchozí styl sloučení
settings.choose_branch=Vyberte větev…
-settings.no_protected_branch=Nejsou tu žádné chráněné větve.
+settings.no_protected_branch=Nemáte žádné chráněné větve.
settings.edit_protected_branch=Upravit
settings.protected_branch_required_rule_name=Požadovaný název pravidla
settings.protected_branch_duplicate_rule_name=Již existuje pravidlo pro tuto sadu větví
@@ -2484,7 +2490,7 @@ settings.matrix.room_id=ID místnosti
settings.matrix.message_type=Typ zprávy
settings.archive.button=Archivovat repozitář
settings.archive.header=Archivovat tento repozitář
-settings.archive.text = Archivováním repozitáře jej celý převedete do stavu pouze pro čtení. Bude skryt z nástěnky. Nikdo (ani vy!) nebude moci vytvářet nové commity ani otevírat problémy a žádosti o sloučení.
+settings.archive.text = Archivováním repozitáře jej celý převedete do stavu pouze pro čtení. Bude skryt z nástěnky. Nikdo (ani vy!) nebude moci vytvářet nové revize ani otevírat problémy a žádosti o sloučení.
settings.archive.success=Repozitář byl úspěšně archivován.
settings.archive.error=Nastala chyba při archivování repozitáře. Prohlédněte si záznam pro více detailů.
settings.archive.error_ismirror=Nemůžete archivovat zrcadlený repozitář.
@@ -2492,7 +2498,7 @@ settings.archive.branchsettings_unavailable=Nastavení větví není v archivova
settings.archive.tagsettings_unavailable=Nastavení značek nejsou v archivovaných repozitářích k dispozici.
settings.unarchive.button=Zrušit archivaci repozitáře
settings.unarchive.header=Obnovit tento repozitář
-settings.unarchive.text=Obnovení repozitáře vrátí možnost přijímání commitů a nahrávání. Stejně tak se obnoví i možnost vytváření nových problémů a žádostí o sloučení.
+settings.unarchive.text=Obnovení repozitáře vrátí možnost přijímání revizí a nahrávání. Stejně tak se obnoví i možnost vytváření nových problémů a žádostí o sloučení.
settings.unarchive.success=Repozitář byl úspěšně obnoven.
settings.unarchive.error=Nastala chyba při obnovování repozitáře. Prohlédněte si záznam pro více detailů.
settings.update_avatar_success=Avatar repozitáře byl aktualizován.
@@ -2500,7 +2506,7 @@ settings.lfs=LFS
settings.lfs_filelist=LFS soubory uložené v tomto repozitáři
settings.lfs_no_lfs_files=V tomto repozitáři nejsou uloženy žádné LFS soubory
settings.lfs_findcommits=Najít revize
-settings.lfs_lfs_file_no_commits=Pro tento soubor LFS nebyly nalezeny žádné commity
+settings.lfs_lfs_file_no_commits=Pro tento soubor LFS nebyly nalezeny žádné revize
settings.lfs_noattribute=Tato cesta nemá uzamykatelný atribut ve výchozí větvi
settings.lfs_delete=Odstranit LFS soubor s OID %s
settings.lfs_delete_warning=Odstranění souboru LFS může při kontrole způsobit chybu „objekt neexistuje“. Jste si jisti?
@@ -2576,7 +2582,7 @@ diff.review.approve=Schválit
diff.review.self_reject=Autoři požadavků na natažení nemohou požadovat změny na svém vlastním požadavku na natažení
diff.review.reject=Požadovat změny
diff.review.self_approve=Autoři požadavku na natažení nemohou schválit svůj vlastní požadavek na natažení
-diff.committed_by=odevzdal
+diff.committed_by=autor:
diff.protected=Chráněno
diff.image.side_by_side=Vedle sebe
diff.image.swipe=Posunout
@@ -2618,7 +2624,7 @@ release.edit_release=Aktualizovat vydání
release.delete_release=Smazat vydání
release.delete_tag=Smazat značku
release.deletion=Smazat vydání
-release.deletion_desc=Smazání vydání jej pouze odebere z Gitea. Nebude to mít vliv na značku Git, obsah vašeho repozitáře nebo jeho historii. Pokračovat?
+release.deletion_desc=Smazáním vydání jej pouze odeberete z Forgeja. Nebude to mít vliv na značku Gitu, obsah vašeho repozitáře nebo jeho historii. Pokračovat?
release.deletion_success=Vydání bylo odstraněno.
release.deletion_tag_desc=Odstraní tuto značku z repozitáře. Obsah repozitáře a historie zůstanou nezměněny. Pokračovat?
release.deletion_tag_success=Značka byla odstraněna.
@@ -2641,7 +2647,7 @@ branch.delete_html=Odstranit větev
branch.delete_desc=Smazání větve je trvalé. Přestože zrušená větev může existovat i po krátkou dobu, než bude skutečně odstraněna, NELZE ji většinou vrátit. Pokračovat?
branch.deletion_success=Větev „%s“ byla smazána.
branch.deletion_failed=Nepodařilo se odstranit větev „%s“.
-branch.delete_branch_has_new_commits=Větev „%s“ nemůže být smazána, protože byly přidány nové commity po sloučení.
+branch.delete_branch_has_new_commits=Větev „%s“ nelze odstranit, protože byly po sloučení přidány nové revize.
branch.create_branch=Vytvořit větev %s
branch.create_from=z „%s“
branch.create_success=Větev „%s“ byla vytvořena.
@@ -2708,12 +2714,12 @@ mirror_sync = synchronizováno
blame.ignore_revs = Ignorování revizí v souboru .git-blame-ignore-revs . Klikněte sem pro udělení výjimky a zobrazení normálního přehledu blame.
commits.browse_further = Procházet dále
issues.role.first_time_contributor = První přispěvatel
-editor.invalid_commit_mail = Neplatný e-mail pro vytvoření commitu.
+editor.invalid_commit_mail = Neplatný e-mail pro vytvoření revize.
commits.renamed_from = Přejmenováno z %s
-activity.navbar.recent_commits = Nedávné commity
+activity.navbar.recent_commits = Nedávné revize
settings.units.units = Jednotky
pulls.blocked_by_user = V tomto repozitáři nemůžete vytvořit žádost o sloučení, protože jste byli zablokováni jeho majitelem.
-pulls.clear_merge_message_hint = Vymazáním zprávy o sloučení pouze odstraníte obsah zprávy commitu a ponecháte vygenerované git trailery, jako „Co-Authored-By …“.
+pulls.clear_merge_message_hint = Vymazáním zprávy o sloučení pouze odstraníte obsah zprávy revize a ponecháte vygenerované git trailery, jako „Co-Authored-By …“.
pulls.agit_explanation = Vytvořeno pomocí workflow AGit. AGit umožňuje přispěvatelům navrhovat změny pomocí „git push“ bez vytváření forku nebo nové větve.
contributors.contribution_type.deletions = Odstranění
settings.pull_mirror_sync_in_progress = Probíhá načítání změn ze vzdáleného %s.
@@ -2722,7 +2728,7 @@ settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Tuto ak
settings.new_owner_blocked_doer = Nový majitel vás zablokoval.
settings.mirror_settings.pushed_repository = Odeslaný repozitář
settings.add_collaborator_blocked_our = Nepodařilo se přidat spolupracovníka, jelikož byl zablokován majitelem repozitáře.
-pulls.commit_ref_at = `se odkázal na tuto žádost o sloučení z commitu %[2]s `
+pulls.commit_ref_at = `se odkázal/a na tuto žádost o sloučení z revize %[2]s `
settings.wiki_rename_branch_main = Normalizovat název větve Wiki
settings.wiki_rename_branch_main_desc = Přejmenovat větev interně používanou pro Wiki na „%s“. Tato změna je trvalá a nelze ji vrátit.
pulls.fast_forward_only_merge_pull_request = Pouze zrychlené
@@ -2746,24 +2752,24 @@ settings.add_collaborator_blocked_them = Nepodařilo se přidat spolupracovníka
settings.ignore_stale_approvals = Ignorovat zastaralá schválení
settings.event_pull_request_merge = Sloučení žádosti o sloučení
settings.event_pull_request_approvals = Schválení žádostí o sloučení
-settings.ignore_stale_approvals_desc = Nepočítat schválení udělená u starších commitů (zastaralá schválení) do celkového počtu schválení u ŽS. Není relevantní, pokud byla zastaralá schválení již zrušena.
+settings.ignore_stale_approvals_desc = Nepočítat schválení udělená u starších revizí (zastaralá schválení) do celkového počtu schválení u žádosti o sloučení. Není relevantní, pokud byla zastaralá schválení již zrušena.
file_follow = Následovat symbolický odkaz
settings.protect_status_check_patterns_desc = Zadejte vzorce pro upřesnění kontrol, které musí projít před sloučením větví do větve, která se shoduje s tímto pravidlem. Na každý řádek zadejte jeden vzorec. Vzorce nesmí být prázdné.
settings.archive.mirrors_unavailable = Zrcadla nejsou v archivovaných repozitářích k dispozici.
settings.protect_enable_merge_desc = Kdokoli s přístupem k zápisu bude moci slučovat žádosti o sloučení do této větve.
settings.event_pull_request_review_request_desc = Bylo požádáno o posouzení žádosti o sloučení nebo bylo toto požádání odstraněno.
-error.broken_git_hook = Zdá se, že u tohoto repozitáře jsou rozbité Git hooks. Pro jejich opravení se prosím řiďte pokyny v dokumentaci a poté odešlete několik commitů pro obnovení stavu.
+error.broken_git_hook = Zdá se, že u tohoto repozitáře jsou rozbité Git webhooky. Pro jejich opravení se prosím řiďte pokyny v dokumentaci a poté odešlete pár revizí pro obnovení stavu.
pulls.title_desc_one = žádá o sloučení %[1]d commitu z %[2]s
do %[3]s
pulls.merged_title_desc_one = sloučil %[1]d commit z %[2]s
do %[3]s
%[4]s
open_with_editor = Otevřít pomocí %s
commits.search_branch = Tato větev
-editor.commit_id_not_matching = Tento soubor se během úpravy změnil. Proveďte commit do nové větve a poté je slučte.
+editor.commit_id_not_matching = Tento soubor se během úpravy změnil. Odešlete změny do nové větve a poté je slučte.
pulls.ready_for_review = Připraveni na posouzení?
settings.rename_branch_failed_protected = Nepodařilo se přejmenovat větev %s, jelikož se jedná o chráněnou větev.
editor.push_out_of_date = Push je nejspíše zastaralý.
stars = Oblíbení
-n_commit_one = %s commit
-n_commit_few = %s commitů
+n_commit_one = %s revize
+n_commit_few = %s revizí
n_branch_one = %s větev
n_tag_one = %s značka
n_tag_few = %s značek
@@ -2809,7 +2815,7 @@ 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ů
+activity.commit = Aktivita revizí
milestones.filter_sort.name = Název
release.type_attachment = Příloha
release.type_external_asset = Externí příloha
@@ -2849,13 +2855,30 @@ issues.num_reviews_one = %d kontrola
issues.num_reviews_few = %d kontrol
issues.summary_card_alt = Souhrn problému s názvem „%s“ v repozitáři %s
editor.add_tmpl.filename = nazevsouboru
+settings.default_update_style_desc = Výchozí způsob aktualizací používaný pro aktualizace žádostí o sloučení, které jsou pozadu oproti základní větvi.
+pulls.sign_in_require = Přihlaste se pro vytvoření nové žádosti o sloučení.
+new_from_template = Použít šablonu
+new_from_template_description = Můžete si vybrat existující šablonu repozitáře na této instanci a použít její nastavení.
+new_advanced = Pokročilá nastavení
+new_advanced_expand = Klikněte pro rozbalení
+auto_init_description = Vytvořit historii Gitu se souborem README a volitelně přidat soubory License a .gitignore.
+summary_card_alt = Karta se souhrnem repozitáře %s
+issues.reaction.alt_many = Uživatel %[1]s a %[2]d dalších zareagovali s %[3]s.
+release.summary_card_alt = Karta souhrnu vydání s názvem „%s“ v repozitáři %s
+issues.reaction.add = Přidat reakci
+issues.reaction.alt_few = Uživatel %[1]s zareagoval pomocí %[2]s.
+issues.context.menu = Nabídka komentáře
+issues.reaction.alt_remove = Odstranit %[1]s reakci z komentáře.
+issues.reaction.alt_add = Přidat %[1]s reakci na komentář.
+
+editor.commit_email = E-mail revize
[graphs]
component_loading_info = Tohle může chvíli trvat…
component_failed_to_load = Došlo k neočekávané chybě.
code_frequency.what = frekvence kódu
contributors.what = příspěvky
-recent_commits.what = nedávné commity
+recent_commits.what = nedávné revize
component_loading = Načítání %s...
component_loading_failed = Nepodařilo se načíst %s
@@ -3003,7 +3026,7 @@ last_page=Poslední
total=Celkem: %d
settings=Nastavení správce
-dashboard.new_version_hint=Gitea %s je nyní k dispozici, právě u vás běži %s. Podívej se na blogu pro více informací.
+dashboard.new_version_hint=Forgejo %s je nyní k dispozici, aktuálně používáte verzi %s. Pro více informací viz blog .
dashboard.statistic=Souhrn
dashboard.operations=Operace údržby
dashboard.system_status=Stav systému
@@ -3516,7 +3539,7 @@ self_check.database_collation_mismatch=Očekávejte, že databáze použije coll
self_check.database_inconsistent_collation_columns=Databáze používá collation %s, ale tyto sloupce používají chybné collation. To může způsobit neočekávané problémy.
self_check.database_fix_mysql=Pro uživatele MySQL/MariaDB můžete použít příkaz „forgejo doctor convert“, který opraví problémy s porovnáním. Problém také můžete ručně vyřešit příkazem „ALTER ... COLLATE ...“ SQL.
self_check = Vlastní kontrola
-self_check.database_collation_case_insensitive=Databáze používá collation %s, což je collation nerozlišující velká a malá písmena. Ačkoli s ní Gitea může pracovat, mohou se vyskytnout vzácné případy, kdy nebude fungovat podle očekávání.
+self_check.database_collation_case_insensitive=Databáze používá collation %s, což je collation nerozlišující velká a malá písmena. Ačkoli s ní Forgejo může pracovat, mohou se vyskytnout vzácné případy, kdy nebude fungovat podle očekávání.
auths.oauth2_map_group_to_team = Zmapovat zabrané skupiny u týmů organizací (volitelné - vyžaduje název claimu výše)
monitor.queue.settings.desc = Pooly dynamicky rostou podle blokování fronty jejich workerů.
@@ -3563,7 +3586,7 @@ delete_branch=smazal/a větev %[2]s z %[3]s
compare_branch=Porovnat
compare_commits=Porovnat %d revizí
compare_commits_general=Porovnat revize
-mirror_sync_push=synchronizoval/a commity do %[3]s v %[4]s ze zrcadla
+mirror_sync_push=synchronizoval/a revize do %[3]s v %[4]s ze zrcadla
mirror_sync_create=synchronizoval/a novou referenci %[3]s do %[4]s ze zrcadla
mirror_sync_delete=synchronizoval/a a smazal/a referenci %[2]s
v %[3]s ze zrcadla
approve_pull_request=`schválil/a %[3]s#%[2]s `
@@ -3618,13 +3641,13 @@ no_subscriptions=Žádné odběry
[gpg]
default_key=Podepsáno výchozím klíčem
error.extract_sign=Selhalo získání podpisu
-error.generate_hash=Selhalo vygenerování hash revize
+error.generate_hash=Selhalo vygenerování hashe revize
error.no_committer_account=Žádný účet není propojen s e-mailovou adresou přispěvatele
error.no_gpg_keys_found=V databázi nebyl nalezen žádný známý klíč pro tento podpis
-error.not_signed_commit=Nepodepsaný commit
+error.not_signed_commit=Nepodepsaná revize
error.failed_retrieval_gpg_keys=Nepodařilo se získat žádný klíč propojený s účtem přispěvatele
-error.probable_bad_signature=VAROVÁNÍ! Přestože v databázi existuje klíč s tímto ID, tento commit neověřuje! Tento commit je PODEZŘELÝ.
-error.probable_bad_default_signature=VAROVÁNÍ! Ačkoli výchozí klíč má toto ID, neověřuje tento commit! Tento commit je PODEZŘELÝ.
+error.probable_bad_signature=VAROVÁNÍ! Přestože v databázi existuje klíč s tímto ID, tato revize jím není ověřena! Tato revize je PODEZŘELÁ.
+error.probable_bad_default_signature=VAROVÁNÍ! Přestože má výchozí klíč toto ID, tato revize jím není ověřena! Tato revize je PODEZŘELÁ.
[units]
unit=Jednotka
@@ -3846,7 +3869,7 @@ runners.task_list.no_tasks=Zatím zde nejsou žádné úlohy.
runners.task_list.run=Spustit
runners.task_list.status=Status
runners.task_list.repository=Repozitář
-runners.task_list.commit=Commit
+runners.task_list.commit=Revize
runners.task_list.done_at=Dokončeno v
runners.edit_runner=Upravit Runner
runners.update_runner=Aktualizovat změny
@@ -3866,7 +3889,7 @@ runners.reset_registration_token=Resetovat registrační token
runners.reset_registration_token_success=Registrační token runneru byl úspěšně obnoven
runs.all_workflows=Všechny workflowy
-runs.commit=Commit
+runs.commit=Revize
runs.scheduled=Naplánováno
runs.invalid_workflow_helper=Konfigurační soubor pracovního postupu je neplatný. Zkontrolujte prosím konfigurační soubor: %s
runs.no_matching_online_runner_helper=Žádný odpovídající online runner s popiskem: %s
@@ -3879,7 +3902,7 @@ runs.no_workflows=Zatím neexistují žádné pracovní postupy.
runs.no_workflows.quick_start = Nevíte jak začít s Gitea Action? Podívejte se na průvodce rychlým startem .
runs.no_workflows.documentation = Další informace o Gitea Action, viz dokumentace .
runs.no_runs=Pracovní postup zatím nebyl spuštěn.
-runs.empty_commit_message=(prázdná zpráva commitu)
+runs.empty_commit_message=(prázdná zpráva revize)
workflow.disable=Zakázat workflow
workflow.disable_success=Workflow „%s“ byl úspěšně deaktivován.
@@ -3952,7 +3975,7 @@ code_kind = Hledat kód...
package_kind = Hledat balíčky...
project_kind = Hledat projekty...
branch_kind = Hledat větve...
-commit_kind = Hledat commity...
+commit_kind = Hledat revize...
runner_kind = Hledat runnery...
no_results = Nenalezeny žádné odpovídající výsledky.
fuzzy_tooltip = Zahrnout také výsledky, které úzce odpovídají hledanému výrazu
diff --git a/options/locale/locale_da.ini b/options/locale/locale_da.ini
new file mode 100644
index 0000000000..6abcd284c5
--- /dev/null
+++ b/options/locale/locale_da.ini
@@ -0,0 +1,1833 @@
+[common]
+home = Hjem
+dashboard = Instrumentpanel
+explore = Udforsk
+help = Hjælp
+logo = Logo
+sign_in = Login
+sign_in_with_provider = Login med %s
+sign_in_or = eller
+sign_out = Logud
+sign_up = Register
+return_to_forgejo = Vend tilbage til Forgejo
+new_repo.title = Ny repository
+retry = Prøv igen
+link_account = Link konto
+register = Register
+powered_by = Baseret på %s
+version = Version
+create_new = Opret…
+user_profile_and_more = Profil og indstillinger…
+page = Side
+template = Skabelon
+language = Sprog
+notifications = Notifikationer
+active_stopwatch = Aktiv tidsregistrering
+enable_javascript = Dette websted kræver JavaScript.
+toc = Indholdsfortegnelse
+licenses = Licenser
+more_items = Flere genstande
+username = Brugernavn
+email = E-mailadresse
+password = Adgangskode
+access_token = Adgangstoken
+re_type = Bekræft adgangskode
+captcha = CAPTCHA
+twofa = To-faktor autentificering
+twofa_scratch = To-faktor skrabekode
+webauthn_sign_in = Tryk på knappen på din sikkerhedsnøgle. Hvis din sikkerhedsnøgle ikke har nogen knap, skal du indsætte den igen.
+webauthn_use_twofa = Brug en tofaktorkode fra din telefon
+webauthn_error = Kunne ikke læse din sikkerhedsnøgle.
+webauthn_unsupported_browser = Din browser understøtter i øjeblikket ikke WebAuthn.
+webauthn_error_unknown = Der opstod en ukendt fejl. Prøv venligst igen.
+webauthn_error_unable_to_process = Serveren kunne ikke behandle din anmodning.
+webauthn_error_duplicated = Sikkerhedsnøglen er ikke tilladt for denne anmodning. Sørg for, at nøglen ikke allerede er registreret.
+webauthn_error_empty = Du skal angive et navn for denne nøgle.
+organization = Organisation
+mirror = Mirror
+new_mirror = Ny mirror
+new_fork = Ny repository fork
+new_project = Nyt projekt
+new_project_column = Ny kolonne
+admin_panel = Side administration
+settings = Indstillinger
+your_profile = Profil
+your_starred = Stjernemarkeret
+your_settings = Indstillinger
+passcode = Passcode
+repository = Repository
+new_org.title = Ny organisation
+new_repo.link = Nyt repository
+new_migrate.link = Ny migration
+new_org.link = Ny organisation
+all = Alle
+sources = Kilder
+mirrors = Mirrors
+collaborative = Samarbejdende
+forks = Forks
+activities = Aktiviteter
+pull_requests = Pull anmodninger
+issues = Problemer
+milestones = Milepæle
+ok = OK
+cancel = Annuller
+rerun = Kør igen
+rerun_all = Kør alle jobs igen
+save = Gem
+add = Tilføj
+add_all = Tilføj alle
+remove = Slet
+remove_all = Slet alle
+remove_label_str = Slet genstand "%s"
+edit = Redigere
+view = Se
+test = Test
+disabled = Deaktiveret
+copy = Kopiér
+copy_generic = Kopiér til udklipsholder
+copy_url = Kopiér URL
+copy_path = Kopiér sti
+copy_content = Kopier indhold
+copy_branch = Kopiér branch navn
+copy_success = Kopieret!
+copy_error = Kopiering mislykkedes
+write = Skriv
+preview = Forhåndsvisning
+loading = Indlæser…
+error = Fejl
+error413 = Du har opbrugt din kvote.
+go_back = Gå tilbage
+never = Aldrig
+unknown = Ukendt
+rss_feed = RSS feed
+pin = Pin
+unpin = Frigør
+artifacts = Artefakter
+archived = Arkiveret
+concept_system_global = Global
+concept_user_individual = Individuel
+concept_code_repository = Repository
+concept_user_organization = Organisation
+show_timestamps = Vis tidsstempler
+show_log_seconds = Vis sekunder
+tracked_time_summary = Opsummering af sporet tid baseret på filtre af problemliste
+signed_in_as = Logget ind som
+webauthn_error_insecure = WebAuthn understøtter kun sikre forbindelser. Til test over HTTP kan du bruge oprindelsen "localhost" eller "127.0.0.1"
+invalid_data = Ugyldige data: %v
+webauthn_insert_key = Indsæt din sikkerhedsnøgle
+webauthn_press_button = Tryk venligst på knappen på din sikkerhedsnøgle…
+webauthn_error_timeout = Timeout nået, før din nøgle kunne læses. Genindlæs denne side og prøv igen.
+enabled = Aktiveret
+locked = Låst
+copy_hash = Kopiér hash
+error404 = Den side, du forsøger at nå, enten findes ikke eller du er ikke autoriseret til at se den.
+confirm_delete_artifact = Er du sikker på, at du vil slette artefakten "%s"?
+new_migrate.title = Ny migration
+copy_type_unsupported = Denne filtype kan ikke kopieres
+toggle_menu = TIl/Fra menu
+show_full_screen = Vis fuld skærm
+download_logs = Download logs
+confirm_delete_selected = Bekræft at slette alle valgte genstande?
+name = Navn
+value = Værdi
+filter = Filter
+filter.clear = Ryd filtre
+filter.is_archived = Arkiveret
+filter.not_archived = Ikke arkiveret
+filter.is_fork = Forks
+filter.not_fork = Ikke forks
+filter.is_mirror = Mirrors
+filter.not_mirror = Ikke mirrors
+filter.is_template = Skabeloner
+filter.not_template = Ikke skabeloner
+filter.public = Offentlig
+filter.private = Privat
+
+[search]
+search = Søg...
+type_tooltip = Søge type
+fuzzy = Fuzzy
+fuzzy_tooltip = Medtag resultater, der også matcher søgeordet tæt
+union = Almindelig
+union_tooltip = Inkluder resultater, der matcher et hvilket som helst af de mellemrumsadskilte søgeord
+exact = Nøjagtig
+exact_tooltip = Medtag kun resultater, der matcher den nøjagtige søgeterm
+regexp = RegExp
+regexp_tooltip = Fortolk søgetermen som et regulært udtryk
+org_kind = Søg i organisationer...
+team_kind = Søg efter hold...
+code_kind = Søg kode...
+code_search_by_git_grep = Aktuelle kodesøgeresultater leveres af "git grep". Der kan være bedre resultater, hvis webstedsadministratoren aktiverer kodeindeksering.
+package_kind = Søg pakker...
+project_kind = Søg efter projekter...
+commit_kind = Søg commits...
+branch_kind = Søg branches...
+runner_kind = Søg runners...
+issue_kind = Søg i problemer...
+milestone_kind = Søg milepæle...
+pull_kind = Søg pulls...
+repo_kind = Søg depoter...
+code_search_unavailable = Kodesøgning er ikke tilgængelig i øjeblikket. Kontakt venligst webstedets administrator.
+no_results = Ingen matchende resultater fundet.
+user_kind = Søg brugere...
+keyword_search_unavailable = Søgning efter nøgleord er ikke tilgængelig i øjeblikket. Kontakt venligst webstedets administrator.
+
+[aria]
+navbar = Navigationslinje
+footer = Sidefod
+footer.software = Omkring dette software
+footer.links = Links
+
+[heatmap]
+number_of_contributions_in_the_last_12_months = %s bidrag inden for de sidste 12 måneder
+contributions_zero = Ingen bidrag
+contributions_format = {contributions} på {month} {day}, {year}
+contributions_one = bidrag
+contributions_few = bidragene
+less = Mindre
+more = Mere
+
+[editor]
+buttons.heading.tooltip = Tilføj overskrift
+buttons.bold.tooltip = Tilføj fed tekst
+buttons.italic.tooltip = Tilføj kursiv tekst
+buttons.quote.tooltip = Citat tekst
+buttons.code.tooltip = Tilføj kode
+buttons.link.tooltip = Tilføj et link
+buttons.list.unordered.tooltip = Tilføj en punktliste
+buttons.list.task.tooltip = Tilføj en liste over opgaver
+buttons.list.ordered.tooltip = Tilføj en nummereret liste
+buttons.mention.tooltip = Nævn en bruger eller et hold
+buttons.ref.tooltip = Henvis til et problem eller pull-anmodning
+buttons.enable_monospace_font = Aktiver monospace-skrifttype
+buttons.disable_monospace_font = Deaktiver monospace-skrifttype
+buttons.new_table.tooltip = Tilføj tabel
+table_modal.header = Tilføj tabel
+table_modal.placeholder.header = Hoved
+table_modal.placeholder.content = Indhold
+table_modal.label.rows = Rækker
+table_modal.label.columns = Kolonner
+buttons.unindent.tooltip = Udsortere genstande med ét niveau
+buttons.indent.tooltip = Indlejring af genstande med ét niveau
+buttons.switch_to_legacy.tooltip = Brug den gamle editor i stedet
+
+[filter]
+string.asc = A - Z
+string.desc = Z - A
+
+[error]
+occurred = Der opstod en fejl
+not_found = Målet kunne ikke findes.
+network_error = Netværksfejl
+server_internal = Intern serverfejl
+report_message = Hvis du mener, at dette er en Forgejo-fejl, skal du søge efter problemer på Codeberg eller åbne et nyt problem, hvis det er nødvendigt.
+
+[startpage]
+app_desc = En smertefri, selv-hostet Git-tjeneste
+install = Nem at installere
+platform = På tværs af platforme
+platform_desc = Det er bekræftet, at Forgejo kører på frie operativsystemer som Linux og FreeBSD, samt forskellige CPU-arkitekturer. Vælg den du elsker!
+lightweight = Letvægtig
+lightweight_desc = Forgejo har lave minimale krav og kan køre på en billig Raspberry Pi. Spar din maskines energi!
+license = Åben kildekode
+license_desc = Få Forgejo ! Slut dig til os ved at bidrage til at gøre dette projekt endnu bedre. Vær ikke genert over at være en bidragyder!
+install_desc = Du skal blot køre binæren for din platform, send den med Docker , eller få det pakket .
+
+[install]
+install = Installation
+title = Indledende konfiguration
+docker_helper = Hvis du kører Forgejo inde i Docker, skal du læse dokumentationen , før du ændrer nogen indstillinger.
+require_db_desc = Forgejo kræver MySQL, PostgreSQL, SQLite3 eller TiDB (MySQL-protokol).
+db_title = Database indstillinger
+db_type = Database type
+host = Vært
+user = Brugernavn
+password = Adgangskode
+db_name = Database navn
+db_schema = Schema
+db_schema_helper = Lad stå tom for databasestandard ("offentlig").
+ssl_mode = SSL
+reinstall_error = Du forsøger at installere i en eksisterende Forgejo-database
+reinstall_confirm_check_1 = Dataene krypteret af SECRET_KEY i app.ini kan gå tabt: brugere kan muligvis ikke logge ind med 2FA/OTP, og mirrors fungerer muligvis ikke korrekt. Ved at markere dette felt bekræfter du, at den aktuelle app.ini-fil indeholder den korrekte SECRET_KEY.
+reinstall_confirm_check_3 = Du bekræfter, at du er helt sikker på, at denne Forgejo kører med den korrekte app.ini placering, og at du er sikker på, at du skal gen-installere. Du bekræfter, at du anerkender ovenstående risici.
+err_empty_db_path = SQLite3-databasestien må ikke være tom.
+no_admin_and_disable_registration = Du kan ikke deaktivere brugerens selvregistrering uden at oprette en administratorkonto.
+err_empty_admin_password = Administratoradgangskoden må ikke være tom.
+err_empty_admin_email = Administrator-e-mailen må ikke være tom.
+err_admin_name_is_reserved = Administratorbrugernavnet er ugyldigt, brugernavnet er reserveret
+err_admin_name_pattern_not_allowed = Administratorbrugernavnet er ugyldigt, brugernavnet matcher et reserveret mønster
+err_admin_name_is_invalid = Administratorbrugernavnet er ugyldigt
+general_title = Generelle indstillinger
+app_name = Instans titel
+app_slogan_helper = Indtast dit instans slogan her. Lad være tom for at deaktivere.
+lfs_path_helper = Filer sporet af Git LFS vil blive gemt i denne mappe. Lad være tom for at deaktivere.
+run_user = Bruger at køre som
+lfs_path = Git LFS rodsti
+repo_path = Depot rodsti
+domain = Server domæne
+domain_helper = Domæne eller værtsadresse for serveren.
+ssh_port = SSH server port
+ssh_port_helper = Portnummer, der vil blive brugt af SSH-serveren. Lad være tomt for at deaktivere SSH-serveren.
+http_port = HTTP lytte port
+http_port_helper = Portnummer, der vil blive brugt af Forgejo-webserveren.
+app_url = Base URL
+log_root_path = Log sti
+log_root_path_helper = Logfiler vil blive skrevet til denne mappe.
+optional_title = Valgfrie indstillinger
+email_title = E-mail-indstillinger
+smtp_addr = SMTP vært
+smtp_port = SMTP port
+smtp_from = Send e-mail som
+smtp_from_invalid = "Send e-mail som"-adressen er ugyldig
+mailer_user = SMTP brugernavn
+mailer_password = SMTP adgangskode
+register_confirm = Kræv e-mail-bekræftelse for at registrere
+mail_notify = Aktiver e-mailmeddelelser
+server_service_title = Server- og tredjeparts tjenesteindstillinger
+offline_mode = Aktiver lokal tilstand
+disable_gravatar = Deaktiver Gravatar
+disable_gravatar.description = Deaktiver brug af Gravatar eller andre tredjeparts avatar kilder. Standardbilleder vil blive brugt til bruger avatarer, medmindre de uploader deres egen avatar til instansen.
+federated_avatar_lookup = Aktiver fødererede avatarer
+federated_avatar_lookup.description = Slå avatarer op ved hjælp af Libravatar.
+disable_registration = Deaktiver selvregistrering
+allow_only_external_registration = Tillad kun registrering via eksterne tjenester
+allow_only_external_registration.description = Brugere vil kun være i stand til at oprette nye konti ved at bruge konfigurerede eksterne tjenester.
+openid_signin = Aktiver OpenID-logon
+openid_signin.description = Tillad brugere at logge ind via OpenID.
+app_slogan = Instans slogan
+repo_path_helper = Fjerne Git depoter vil blive gemt i denne mappe.
+smtp_from_helper = E-mailadresse Forgejo vil bruge. Indtast en almindelig e-mailadresse, eller brug formatet "Navn" .
+run_user_helper = Operativsystemets brugernavn, som Forgejo kører som. Bemærk, at denne bruger skal have adgang til depotets rodsti.
+app_name_helper = Indtast dit instans-navn her. Det vil blive vist på hver side.
+offline_mode.description = Deaktiver tredjeparts indholdsleverings netværk og server alle ressourcer lokalt.
+disable_registration.description = Kun instans administratoren vil være i stand til at oprette nye brugerkonti. Det anbefales stærkt at holde registreringen deaktiveret, medmindre du har til hensigt at være vært for en offentlig instans for alle og klar til at håndtere store mængder spamkonti.
+openid_signup = Aktiver OpenID-selvregistrering
+sqlite_helper = Filsti til SQLite3-databasen. Indtast en absolut sti, hvis du kører Forgejo som en tjeneste.
+path = Sti
+reinstall_confirm_message = Geninstallation med en eksisterende Forgejo-database kan forårsage flere problemer. I de fleste tilfælde bør du bruge din eksisterende "app.ini" til at køre Forgejo. Hvis du ved, hvad du laver, skal du bekræfte følgende:
+reinstall_confirm_check_2 = Depoterne og indstillingerne skal muligvis synkroniseres igen. Ved at markere dette felt bekræfter du, at du vil re-synkronisere hooks for depoter og authorized_keys-filen manuelt. Du bekræfter, at du vil sikre dig, at indstillingerne for depoter og mirror er korrekte.
+app_url_helper = Base adresse for HTTP(S)-klone-URL'er og e-mail-meddelelser.
+enable_captcha = Aktiver registrering CAPTCHA
+enable_captcha.description = Kræv brugere at bestå CAPTCHA for at oprette konti.
+require_sign_in_view = Kræv at logge ind for at se instansindhold
+default_keep_email_private = Skjul e-mailadresser som standard
+default_keep_email_private.description = Aktiver skjulning af e-mail-adresser for nye brugere som standard, så disse oplysninger ikke lækkes umiddelbart efter tilmelding.
+default_allow_create_organization = Tillad oprettelse af organisationer som standard
+default_enable_timetracking = Aktiver tidsregistrering som standard
+default_enable_timetracking.description = Tillad som standard brug af tidssporings-funktion for nye depoter.
+admin_title = Indstillinger for administratorkonto
+admin_setting.description = Det er valgfrit at oprette en administratorkonto. Den første registrerede bruger bliver automatisk administrator.
+admin_name = Administrator brugernavn
+admin_password = Adgangskode
+confirm_password = Bekræft adgangskode
+admin_email = E-mailadresse
+config_location_hint = Disse konfigurationsmuligheder vil blive gemt i:
+install_btn_confirm = Installer Forgejo
+invalid_db_setting = Databaseindstillingerne er ugyldige: %v
+invalid_db_table = Databasetabellen "%s" er ugyldig: %v
+invalid_repo_path = Depotets rodsti er ugyldig: %v
+invalid_app_data_path = Appens datasti er ugyldig: %v
+run_user_not_match = Brugernavnet som "bruger det skal køres som" er ikke det aktuelle brugernavn: %s -> %s
+internal_token_failed = Kunne ikke generere intern token: %v
+secret_key_failed = Kunne ikke generere hemmelig nøgle: %v
+save_config_failed = Konfigurationen kunne ikke gemmes: %v
+invalid_admin_setting = Administratorkonto indstillingen er ugyldig: %v
+invalid_log_root_path = Log stien er ugyldig: %v
+allow_dots_in_usernames = Tillad brugere at bruge prikker i deres brugernavne. Påvirker ikke eksisterende konti.
+no_reply_address = Skjult e-mail-domæne
+invalid_password_algorithm = Ugyldig hash-algoritme for adgangskode
+enable_update_checker = Aktiver opdateringskontrol
+env_config_keys = Miljøkonfiguration
+env_config_keys_prompt = Følgende miljøvariabler vil også blive anvendt på din konfigurationsfil:
+test_git_failed = Kunne ikke teste "git" kommandoen: %v
+sqlite3_not_available = Denne Forgejo-version understøtter ikke SQLite3. Download venligst den officielle binære version fra %s (ikke "gobuild"-versionen).
+no_reply_address_helper = Domænenavn til brugere med en skjult e-mailadresse. For eksempel vil brugernavnet "joe" blive logget i Git som "joe@noreply.example.org", hvis det skjulte e-mail-domæne er sat til "noreply.example.org".
+require_sign_in_view.description = Begræns indholdsadgang til ind-loggede brugere. Gæster vil kun kunne besøge autentificerings sider..
+default_allow_create_organization.description = Tillad nye brugere at oprette organisationer som standard. Når denne mulighed er deaktiveret, skal en administrator give tilladelse til at oprette organisationer til nye brugere.
+password_algorithm = Adgangskode hash algoritme
+enable_update_checker_helper_forgejo = Den vil med jævne mellemrum tjekke for nye Forgejo versioner ved at tjekke en TXT DNS-posten på release.forgejo.org.
+password_algorithm_helper = Indstil adgangskode-hash-algoritmen. Algoritmer har forskellige krav og styrke. Argon2-algoritmen er ret sikker, men bruger meget hukommelse og kan være upassende til små systemer.
+openid_signup.description = Tillad brugere at oprette konti via OpenID, hvis selvregistrering er aktiveret.
+
+[home]
+uname_holder = Brugernavn eller e-mailadresse
+switch_dashboard_context = Skift instrumentpanel-kontekst
+my_repos = Depoter
+my_orgs = Organisationer
+view_home = Se %s
+filter = Andre filtre
+filter_by_team_repositories = Filtrer efter holddepoter
+feed_of = Feed af "%s"
+show_archived = Arkiveret
+show_both_archived_unarchived = Viser både arkiveret og ikke-arkiveret
+show_only_archived = Viser kun arkiverede
+show_only_unarchived = Viser kun ikke-arkiveret
+show_private = Privat
+show_only_private = Viser kun privat
+show_only_public = Viser kun offentligt
+issues.in_your_repos = I dine depoter
+show_both_private_public = Viser både offentlige og private
+
+[explore]
+repos = Depoter
+users = Brugere
+stars_one = %d stjerne
+stars_few = %d stjerner
+forks_one = %d fork
+forks_few = %d forks
+organizations = Organisationer
+code = Kode
+code_last_indexed_at = Sidst indekseret %s
+relevant_repositories = Kun relevante depoter vises, vis ufiltrerede resultater .
+go_to = Gå til
+relevant_repositories_tooltip = Depoter som er forks, eller som ikke har noget emne, intet ikon og ingen beskrivelse, er skjult.
+
+[auth]
+create_new_account = Registrer konto
+disable_register_prompt = Registrering er deaktiveret. Kontakt venligst din side-administrator.
+disable_register_mail = E-mailbekræftelse for registrering er deaktiveret.
+manual_activation_only = Kontakt din side-administrator for at fuldføre aktiveringen.
+remember_me = Husk denne enhed
+forgot_password_title = Glemt adgangskode
+forgot_password = Glemt adgangskode?
+hint_register = Har du brug for en konto? Registrer dig nu.
+sign_up_button = Registrer nu.
+sign_up_successful = Kontoen blev oprettet. Velkommen!
+must_change_password = Opdater din adgangskode
+allow_password_change = Kræv, at brugeren ændrer adgangskode (anbefales)
+reset_password_mail_sent_prompt = En bekræftelses-e-mail er blevet sendt til %s . For at fuldføre kontogendannelses-processen skal du tjekke din indbakke og følge det medfølgende link inden for de næste %s.
+active_your_account = Aktiver din konto
+account_activated = Kontoen er blevet aktiveret
+prohibit_login = Kontoen er suspenderet
+prohibit_login_desc = Din konto er blevet suspenderet fra interaktion med instansen. Kontakt instans-administratoren for at få adgang igen.
+change_unconfirmed_email_summary = Skift den e-mailadresse, aktiveringsmail sendes til.
+change_unconfirmed_email_error = Kan ikke ændre e-mailadressen: %v
+resend_mail = Klik her for at sende din aktiverings-e-mail igen
+send_reset_mail = Send gendannelses-e-mail
+reset_password = Kontogendannelse
+invalid_code = Din bekræftelseskode er ugyldig eller er udløbet.
+invalid_code_forgot_password = Din bekræftelseskode er ugyldig eller er udløbet. Klik her for at starte en ny session.
+invalid_password = Din adgangskode stemmer ikke overens med den adgangskode, der blev brugt til at oprette kontoen.
+reset_password_helper = Gendan konto
+resent_limit_prompt = Du har allerede anmodet om en aktiverings-e-mail for nylig. Vent venligst 3 minutter, og prøv igen.
+reset_password_wrong_user = Du er logget ind som %s, men linket til kontogendannelse er beregnet til %s
+confirmation_mail_sent_prompt = En ny bekræftelses-e-mail er blevet sendt til %s . For at fuldføre registreringsprocessen skal du tjekke din indbakke og følge det medfølgende link inden for de næste %s. Hvis e-mailen er forkert, kan du logge ind og anmode om, at endnu en bekræftelses-e-mail sendes til en anden adresse.
+change_unconfirmed_email = Hvis du har opgivet den forkerte e-mailadresse under tilmeldingen, kan du ændre den nedenfor, og der vil i stedet blive sendt en bekræftelse til den nye adresse.
+hint_login = Har du allerede en konto? Log ind nu!
+has_unconfirmed_mail = Hej %s, du har en ubekræftet e-mailadresse (%s ). Hvis du ikke har modtaget en bekræftelses-e-mail eller har brug for at sende en ny, bedes du klikke på knappen nedenfor.
+password_too_short = Adgangskodelængden må ikke være mindre end %d tegn.
+non_local_account = Ikke-lokale brugere kan ikke opdatere deres adgangskode via Forgejo-webgrænsefladen.
+verify = Verificere
+unauthorized_credentials = Legitimationsoplysningerne er forkerte eller er udløbet. Prøv din kommando igen, eller se %s for at få flere oplysninger
+scratch_code = Skrabekode
+use_scratch_code = Brug en skrabekode
+use_onetime_code = Brug en engangskode
+twofa_scratch_used = Du har brugt din skrabekode. Du er blevet omdirigeret til siden med to-faktorindstillinger, så du kan fjerne din enhedstilmelding eller generere en ny skrabekode.
+twofa_passcode_incorrect = Din passcode er forkert. Hvis du har forlagt din enhed, skal du bruge din skrabekode til at logge ind.
+twofa_scratch_token_incorrect = Din skrabekode er forkert.
+login_userpass = Login
+oauth_signup_tab = Registrer ny konto
+oauth_signup_title = Fuldfør ny konto
+oauth_signup_submit = Gennemfør konto
+oauth_signin_tab = Link til en eksisterende konto
+oauth_signin_title = Log ind for at godkende linket konto
+oauth_signin_submit = Link konto
+oauth.signin.error = Der opstod en fejl under behandling af godkendelsesanmodningen. Hvis denne fejl fortsætter, bedes du kontakte webstedets administrator.
+oauth.signin.error.access_denied = Godkendelsesanmodningen blev afvist.
+oauth.signin.error.temporarily_unavailable = Godkendelse mislykkedes, fordi godkendelsesserveren midlertidigt ikke er tilgængelig. Prøv venligst igen senere.
+openid_connect_submit = Forbind
+openid_connect_title = Opret forbindelse til en eksisterende konto
+openid_register_title = Opret ny konto
+openid_register_desc = Den valgte OpenID URI er ukendt. Knyt den til en ny konto her.
+disable_forgot_password_mail = Kontogendannelse er deaktiveret, fordi der ikke er konfigureret nogen e-mail. Kontakt venligst din webstedsadministrator.
+email_domain_blacklisted = Du kan ikke registrere dig med din e-mailadresse.
+authorize_application = Godkend Applikation
+authorize_redirect_notice = Du vil blive omdirigeret til %s, hvis du godkender denne applikation.
+authorize_application_created_by = Denne applikation blev oprettet af %s.
+authorize_application_description = Hvis du giver adgangen, vil den være i stand til at få adgang til og skrive til alle dine kontooplysninger, inklusive private depoter og organisationer.
+authorize_title = Tillad "%s" at få adgang til din konto?
+authorization_failed = Godkendelse mislykkedes
+password_pwned_err = Kunne ikke fuldføre anmodningen til HaveIBeenPwned
+last_admin = Du kan ikke fjerne den sidste admin. Der skal være mindst én administrator.
+back_to_sign_in = Tilbage til Log ind
+sign_in_openid = Fortsæt med OpenID
+openid_signin_desc = Indtast din OpenID URI. For eksempel: alice.openid.example.org eller https://openid.example.org/alice.
+disable_forgot_password_mail_admin = Kontogendannelse er kun tilgængelig, når e-mail er konfigureret. Konfigurer venligst e-mail for at aktivere kontogendannelse.
+password_pwned = Den adgangskode, du valgte, er på en liste over stjålne adgangskoder , der tidligere er blevet afsløret i forbindelse med offentlige databrud. Prøv venligst igen med en anden adgangskode, og overvej også at ændre denne adgangskode et andet sted.
+openid_connect_desc = Den valgte OpenID URI er ukendt. Knyt den til en ny konto her.
+authorization_failed_desc = Godkendelsen mislykkedes, fordi vi har registreret en ugyldig anmodning. Kontakt venligst vedligeholderen af den app, du har forsøgt at godkende.
+
+[mail]
+view_it_on = Se det på %s
+reply = eller svar direkte på denne e-mail
+link_not_working_do_paste = Virker linket ikke? Prøv at kopiere og indsætte det i din browsers URL-linje.
+hi_user_x = Hej %s ,
+activate_account = Aktiver venligst din konto
+activate_account.text_1 = Hej %[1]s , tak, fordi du registrerede dig hos %[2]s!
+activate_account.text_2 = Klik venligst på følgende link for at aktivere din konto inden for %s :
+activate_email = Bekræft din e-mailadresse
+admin.new_user.subject = Ny bruger %s har lige tilmeldt sig
+admin.new_user.user_info = Brugeroplysninger
+admin.new_user.text = Venligst klik her for at administrere denne bruger fra administrationspanelet.
+register_notify = Velkommen til %s
+register_notify.text_1 = dette er din registreringsbekræftelses-e-mail for %s!
+register_notify.text_3 = Hvis en anden har lavet denne konto for dig, skal du først indstille din adgangskode .
+reset_password = Gendan din konto
+password_change.subject = Din adgangskode er blevet ændret
+password_change.text_1 = Adgangskoden til din konto er lige blevet ændret.
+primary_mail_change.subject = Din primære mail er blevet ændret
+totp_disabled.subject = TOTP er blevet deaktiveret
+totp_disabled.text_1 = Tidsbaseret engangsadgangskode (TOTP) på din konto er netop blevet deaktiveret.
+totp_disabled.no_2fa = Der er ikke længere konfigureret andre 2FA-metoder, hvilket betyder, at det ikke længere er nødvendigt at logge ind på din konto hos 2FA.
+removed_security_key.subject = En sikkerhedsnøgle er blevet fjernet
+removed_security_key.text_1 = Sikkerhedsnøglen "%[1]s" er lige blevet fjernet fra din konto.
+account_security_caution.text_1 = Hvis dette var dig, så kan du roligt ignorere denne mail.
+totp_enrolled.subject = Du har aktiveret TOTP som 2FA-metode
+totp_enrolled.text_1.has_webauthn = Du har lige aktiveret TOTP for din konto. Dette betyder, at du for alle fremtidige login til din konto kan bruge TOTP som en 2FA-metode eller bruge en af dine sikkerhedsnøgler.
+register_success = Registreringen lykkedes
+issue_assigned.pull = @%[1]s har tildelt dig at trække anmodning %[2]s i depotet %[3]s.
+issue_assigned.issue = @%[1]s har tildelt dig et problem %[2]s i depotet %[3]s.
+register_notify.text_2 = Du kan logge ind på din konto med dit brugernavn: %s
+primary_mail_change.text_1 = Din kontos primære mail er lige blevet ændret til %[1]s. Det betyder, at denne e-mailadresse ikke længere vil modtage e-mail-meddelelser for din konto.
+account_security_caution.text_2 = Hvis dette ikke var dig, er din konto kompromitteret. Kontakt venligst administratorerne af dette websted.
+activate_email.text = Klik venligst på følgende link for at bekræfte din e-mailadresse inden for %s :
+reset_password.text = Hvis dette var dig, skal du klikke på følgende link for at gendanne din konto inden for %s :
+removed_security_key.no_2fa = Der er ikke længere konfigureret andre 2FA-metoder, hvilket betyder, at det ikke længere er nødvendigt at logge ind på din konto hos 2FA.
+totp_enrolled.text_1.no_webauthn = Du har lige aktiveret TOTP for din konto. Det betyder, at du for alle fremtidige login til din konto skal bruge TOTP som 2FA-metode.
+issue.x_mentioned_you = @%s nævnte dig:
+issue.action.force_push = %[1]s tvangs pushed %[2]s fra %[3]s til %[4]s.
+issue.action.push_1 = @%[1]s pushed %[3]d commit til %[2]s
+issue.action.push_n = @%[1]s pushed %[3]d commits til %[2]s
+issue.action.close = @%[1]s lukket #%[2]d.
+issue.action.reopen = @%[1]s genåbnet #%[2]d.
+issue.action.merge = @%[1]s merged #%[2]d ind i %[3]s.
+issue.action.approve = @%[1]s godkendte denne pull-anmodning.
+issue.action.reject = @%[1]s anmodede om ændringer på denne pull-anmodning.
+issue.action.review = @%[1]s kommenterede denne pull-anmodning.
+issue.action.review_dismissed = @%[1]s afviste den seneste kontrol fra %[2]s for denne pull-anmodning.
+issue.action.ready_for_review = @%[1]s markerede denne pull-anmodning klar til gennemgang.
+issue.action.new = @%[1]s oprettede #%[2]d.
+issue.in_tree_path = I %s:
+release.new.subject = %s i %s udgivet
+release.new.text = @%[1]s udgivet %[2]s i %[3]s
+release.title = Title: %s
+release.note = Note:
+release.downloads = Downloads:
+release.download.zip = Kildekode (ZIP)
+release.download.targz = Kildekode (TAR.GZ)
+repo.transfer.subject_to = %s ønsker at overføre depotet "%s" til %s
+repo.transfer.subject_to_you = %s ønsker at overføre depotet "%s" til dig
+repo.transfer.to_you = dig
+repo.transfer.body = For at acceptere eller afvise det, besøg %s eller ignorer det.
+repo.collaborator.added.subject = %s føjede dig til %s som samarbejdspartner
+repo.collaborator.added.text = Du er blevet tilføjet som samarbejdspartner til depotet:
+team_invite.subject = %[1]s har inviteret dig til at deltage i %[2]s organisationen
+team_invite.text_1 = %[1]s har inviteret dig til at deltage i teamet %[2]s i organisationen %[3]s.
+team_invite.text_2 = Klik venligst på følgende link for at blive medlem af holdet:
+team_invite.text_3 = Note: Denne invitation var beregnet til %[1]s. Hvis du ikke forventede denne invitation, kan du ignorere denne e-mail.
+
+[modal]
+yes = Ja
+no = Nej
+confirm = Bekærft
+cancel = Annuller
+modify = Updatere
+
+[form]
+UserName = Brugernavn
+FullName = Fulde navn
+Description = Beskrivelse
+Pronouns = Stedord
+Biography = Biografi
+Website = Websted
+Location = Lokation
+RepoName = Depot navn
+Email = E-mailadresse
+Password = Adgangskode
+Retype = Bekræft adgangskode
+PayloadUrl = Payload URL
+TeamName = Holdnavn
+AuthName = Autorisationsnavn
+AdminEmail = Admin email
+To = Gren navn
+AccessToken = Adgangstoken
+NewBranchName = Nyt gren navn
+CommitSummary = Commit oversigt
+CommitMessage = Commit besked
+CommitChoice = Commit valg
+TreeName = Fil sti
+Content = Indhold
+SSPISeparatorReplacement = Separator
+SSPIDefaultLanguage = Standard sprog
+require_error = ` må ikke være tomt.`
+alpha_dash_error = ` bør kun indeholde alfanumeriske, bindestreg ("-") og understregningstegn ("_").`
+alpha_dash_dot_error = ` bør kun indeholde alfanumeriske tegn, bindestreg ("-"), understregning ("_") og prik ("".").`
+git_ref_name_error = ` skal være et veludformet Git-referencenavn.`
+size_error = ` skal være størrelse %s.`
+min_size_error = ` skal indeholde mindst %s tegn.`
+email_error = ` er ikke en gyldig e-mailadresse.`
+url_error = `"%s" er ikke en gyldig URL.`
+include_error = ` skal indeholde understreng "%s".`
+glob_pattern_error = ` globmønster er ugyldigt: %s.`
+regex_pattern_error = ` regex-mønster er ugyldigt: %s.`
+invalid_group_team_map_error = ` mapping er ugyldig: %s`
+unknown_error = Ukendt fejl:
+captcha_incorrect = CAPTCHA-koden er forkert.
+password_not_match = Adgangskoderne stemmer ikke overens.
+lang_select_error = Vælg et sprog fra listen.
+username_been_taken = Brugernavnet er allerede taget.
+username_change_not_local_user = Ikke-lokale brugere må ikke ændre deres brugernavn.
+repo_name_been_taken = Depotnavnet er allerede brugt.
+repository_force_private = Tving Privat er aktiveret: private depoter kan ikke gøres offentlige.
+repository_files_already_exist = Der findes allerede filer for dette depot. Kontakt systemadministratoren.
+repository_files_already_exist.delete = Der findes allerede filer for dette depot. Du skal slette dem.
+visit_rate_limit = Fjernbesøg adresseret takstbegrænsning.
+2fa_auth_required = Fjernbesøg krævede godkendelse af to faktorer.
+org_name_been_taken = Organisationsnavnet er allerede taget.
+team_name_been_taken = Holdnavnet er allerede taget.
+team_no_units_error = Tillad adgang til mindst én depotsektion.
+email_been_used = E-mailadressen er allerede brugt.
+email_invalid = E-mailadressen er ugyldig.
+openid_been_used = OpenID-adressen "%s" er allerede brugt.
+password_complexity = Adgangskoden opfylder ikke kompleksitetskravene:
+password_lowercase_one = Mindst ét lille bogstav
+password_uppercase_one = Mindst ét stort tegn
+password_digit_one = Mindst ét ciffer
+enterred_invalid_repo_name = Det depotnavn, du indtastede, er forkert.
+enterred_invalid_org_name = Det organisationsnavn, du har indtastet, er forkert.
+enterred_invalid_owner_name = Det nye ejernavn er ikke gyldigt.
+enterred_invalid_password = Den adgangskode, du indtastede, er forkert.
+unset_password = Login-brugeren har ikke angivet adgangskoden.
+user_not_exist = Brugeren eksisterer ikke.
+team_not_exist = Holdet eksisterer ikke.
+last_org_owner = Du kan ikke fjerne den sidste bruger fra "ejere"-teamet. Der skal være mindst én ejer for en organisation.
+duplicate_invite_to_team = Brugeren var allerede inviteret som et holdmedlem.
+organization_leave_success = Du har forladt organisationen %s.
+invalid_ssh_key = Kan ikke bekræfte din SSH-nøgle: %s
+invalid_gpg_key = Kan ikke bekræfte din GPG-nøgle: %s
+invalid_ssh_principal = Ugyldig principal: %s
+unable_verify_ssh_key = Kan ikke bekræfte SSH-nøglen, dobbelttjek den for fejl.
+auth_failed = Godkendelse mislykkedes: %v
+still_own_repo = Din konto ejer et eller flere depoter, slet eller overfør dem først.
+still_has_org = Din konto er medlem af en eller flere organisationer, forlad dem først.
+still_own_packages = Din konto ejer en eller flere pakker, slet dem først.
+org_still_own_packages = Denne organisation ejer stadig en eller flere pakker, slet dem først.
+target_branch_not_exist = Gren målet eksisterer ikke.
+admin_cannot_delete_self = Du kan ikke slette dig selv, når du er administrator. Fjern venligst dine administratorrettigheder først.
+required_prefix = Input skal starte med "%s"
+username_error = ` kan kun indeholde alfanumeriske tegn ("0-9","a-z","A-Z"), bindestreg ("-"), understregning ("_") og prik ("."). Det kan ikke begynde eller slutte med ikke-alfanumeriske tegn, og på hinanden følgende ikke-alfanumeriske tegn er også forbudt.`
+max_size_error = ` må højst indeholde %s tegn.`
+repository_files_already_exist.adopt_or_delete = Der findes allerede filer for dette depot. Enten adopter dem eller slet dem.
+org_still_own_repo = Denne organisation ejer stadig et eller flere depoter, slet eller overfør dem først.
+username_error_no_dots = ` kan kun indeholde alfanumeriske tegn ("0-9","a-z","A-Z"), bindestreg ("-") og understregning ("_"). Det kan ikke begynde eller slutte med ikke-alfanumeriske tegn, og på hinanden følgende ikke-alfanumeriske tegn er også forbudt.`
+username_password_incorrect = Brugernavn eller adgangskode er forkert.
+repository_files_already_exist.adopt = Filer findes allerede for dette depot og kan kun adopteres.
+password_special_one = Mindst ét specialtegn (tegnsætning, parenteser, anførselstegn osv.)
+unsupported_login_type = Login typen understøttes ikke for at slette kontoen.
+cannot_add_org_to_team = En organisation kan ikke tilføjes som et holdmedlem.
+must_use_public_key = Nøglen du har angivet er en privat nøgle. Lad være med at uploade din private nøgle nogen steder. Brug din offentlige nøgle i stedet.
+
+email_domain_is_not_allowed = Domænet for brugerens e-mailadresse %s er i konflikt med EMAIL_DOMAIN_ALLOWLIST eller EMAIL_DOMAIN_BLOCKLIST. Sørg for, at du har indstillet e-mailadressen korrekt.
+
+[user]
+change_avatar = Skift din avatar…
+joined_on = Tilmeldte sig den %s
+repositories = Depoter
+activity = Offentlig aktivitet
+followers.title.one = Følger
+followers.title.few = Følgere
+following.title.one = Følger
+following.title.few = Følger
+followers_one = %d følger
+followers_few = %d følgere
+following_one = %d følger
+following_few = %d følger
+follow = Følg
+unfollow = Fjern følg
+block_user = Bloker bruger
+block_user.detail = Bemærk venligst, at blokering af en bruger har andre effekter, såsom:
+block_user.detail_1 = I vil holde op med at følge hinanden og vil ikke være i stand til at følge hinanden.
+block_user.detail_2 = Denne bruger vil ikke være i stand til at interagere med de depoter, du ejer, eller de problemer og kommentarer, du har oprettet.
+block_user.detail_3 = I vil ikke være i stand til at tilføje hinanden som depot-samarbejdspartnere.
+follow_blocked_user = Du kan ikke følge denne bruger, fordi du har blokeret denne bruger, eller denne bruger har blokeret dig.
+starred = Stjernemarkerede depoter
+watched = Overvågede depoter
+code = Kode
+overview = Oversigt
+block = Block
+user_bio = Biografi
+email_visibility.limited = Din e-mailadresse er synlig for alle godkendte brugere
+show_on_map = Vis dette sted på et kort
+settings = Brugerindstillinger
+public_activity.visibility_hint.admin_public = Denne aktivitet er synlig for alle, men som administrator kan du også se interaktioner i private rum.
+public_activity.visibility_hint.self_private = Din aktivitet er kun synlig for dig og instans-administratorerne. Konfigurer .
+public_activity.visibility_hint.admin_private = Denne aktivitet er synlig for dig, fordi du er administrator, men brugeren ønsker, at den forbliver privat.
+form.name_reserved = Brugernavnet "%s" er reserveret.
+form.name_pattern_not_allowed = Mønsteret "%s" er ikke tilladt i et brugernavn.
+form.name_chars_not_allowed = Brugernavnet "%s" indeholder ugyldige tegn.
+unblock = Fjern blokering
+projects = Projekter
+disabled_public_activity = Denne bruger har deaktiveret den offentlige synlighed af aktiviteten.
+public_activity.visibility_hint.self_public = Din aktivitet er synlig for alle, undtagen interaktioner i private rum. Konfigurer .
+public_activity.visibility_hint.self_private_profile = Din aktivitet er kun synlig for dig og instans-administratorerne, fordi din profil er privat. Konfigurer .
+
+[settings]
+profile = Profil
+account = Konto
+appearance = Udseende
+password = Adgangskode
+security = Sikkerhed
+avatar = Avatar
+ssh_gpg_keys = SSH / GPG nøgler
+applications = Applikationer
+orgs = Organisationer
+repos = Depoter
+delete = Slet konto
+twofa = To-faktor-godkendelse (TOTP)
+organization = Organisationer
+uid = UID
+webauthn = To-faktor-godkendelse (sikkerhedsnøgler)
+blocked_users = Blokerede brugere
+public_profile = Offentlig profil
+location_placeholder = Del din omtrentlige placering med andre
+password_username_disabled = Ikke-lokale brugere må ikke ændre deres brugernavn. Kontakt venligst din webstedsadministrator for flere detaljer.
+full_name = Fulde navn
+website = Websted
+location = Lokation
+pronouns = Stedord
+pronouns_custom = Brugerdefineret
+pronouns_unspecified = Uspecificeret
+update_theme = Skift tema
+update_language = Skift sprog
+update_language_success = Sproget er blevet opdateret.
+update_profile_success = Din profil er blevet opdateret.
+change_username = Dit brugernavn er blevet ændret.
+change_username_redirect_prompt = Det gamle brugernavn vil omdirigere, indtil nogen gør krav på det.
+continue = Fortsæt
+cancel = Annuller
+language = Sprog
+language.title = Standard sprog
+language.description = Dette sprog gemmes på din konto og bruges som standard, når du logger ind.
+ui = Tema
+additional_repo_units_hint = Foreslå at aktivere yderligere depotenheder
+additional_repo_units_hint_description = Vis et "Aktiver mere"-tip for depoter, der ikke har alle tilgængelige enheder aktiveret.
+update_hints = Opdater tips
+hints = Tips
+update_hints_success = Tips er blevet opdateret.
+hidden_comment_types = Skjulte kommentartyper
+hidden_comment_types.ref_tooltip = Kommentarer, hvor dette problem blev refereret fra en anden problem/commit/…
+hidden_comment_types.issue_ref_tooltip = Kommentarer, hvor brugeren ændrer grenen/taget, der er knyttet til problemet
+comment_type_group_reference = Reference
+comment_type_group_label = Etiket
+comment_type_group_milestone = Milepæl
+comment_type_group_assignee = Udpegningsmodtager
+comment_type_group_title = Title
+comment_type_group_branch = Gren
+comment_type_group_time_tracking = Tidsregistrering
+comment_type_group_deadline = Tidsfrist
+comment_type_group_dependency = Dependency
+comment_type_group_lock = Lås status
+comment_type_group_review_request = Gennemgå anmodning
+comment_type_group_pull_request_push = Tilføjet commits
+comment_type_group_project = Projekt
+comment_type_group_issue_ref = Problem henvisning
+privacy = Privatliv
+keep_activity_private = Skjul aktivitet fra profilsiden
+lookup_avatar_by_mail = Slå avatar up efter e-mailadresse
+enable_custom_avatar = Brug tilpasset avatar
+delete_current_avatar = Slet nuværende avatar
+uploaded_avatar_not_a_image = Den uploadede fil er ikke et billede.
+update_avatar_success = Din avatar er blevet opdateret.
+update_user_avatar_success = Brugerens avatar er blevet opdateret.
+change_password = Skift adgangskode
+update_password = Opdater adgangskode
+old_password = Nuværende adgangskode
+new_password = Ny adgangskode
+retype_new_password = Bekræft ny adgangskode
+password_incorrect = Den aktuelle adgangskode er forkert.
+password_change_disabled = Ikke-lokale brugere kan ikke opdatere deres adgangskode via Forgejo-webgrænsefladen.
+manage_emails = Administrer e-mailadresser
+manage_themes = Standard tema
+manage_openid = OpenID-adresser
+theme_desc = Dette tema vil blive brugt til webgrænsefladen, når du er logget ind.
+primary = Primær
+activated = Aktiveret
+requires_activation = Kræver aktivering
+primary_email = Gør til primær
+activate_email = Send aktivering
+activations_pending = Aktiveringer afventer
+can_not_add_email_activations_pending = Der er en afventende aktivering, prøv igen om et par minutter, hvis du vil tilføje en ny e-mail.
+delete_email = Slet
+email_deletion = Fjern e-mailadresse
+email_deletion_success = E-mailadressen er blevet fjernet.
+theme_update_success = Dit tema blev opdateret.
+theme_update_error = Det valgte tema findes ikke.
+openid_deletion = Fjern OpenID-adresse
+openid_deletion_desc = Fjernelse af denne OpenID-adresse fra din konto vil forhindre dig i at logge ind med den. Fortsætte?
+openid_deletion_success = OpenID-adressen er blevet fjernet.
+add_new_email = Tilføj e-mailadresse
+add_new_openid = Tilføj ny OpenID URI
+language.localization_project = Hjælp os med at oversætte Forgejo til dit sprog! Få flere oplysninger .
+update_language_not_found = Sprog "%s" er ikke tilgængeligt.
+hidden_comment_types_description = Kommentartyper, der er markeret her, vil ikke blive vist på problemsider. Hvis du f.eks. markerer "Etiket", fjernes alle " tilføjede/fjernede " kommentarer.
+update_profile = Opdater profil
+change_username_prompt = Note: Ændring af dit brugernavn ændrer også din konto-URL.
+biography_placeholder = Fortæl andre lidt om dig selv! (Markdown understøttes)
+profile_desc = Om dig
+saved_successfully = Dine indstillinger blev gemt.
+keep_activity_private.description = Din offentlige aktivitet vil kun være synlig for dig og instans-administratorerne.
+email_desc = Din primære e-mailadresse vil blive brugt til meddelelser, gendannelse af adgangskode og, forudsat at den ikke er skjult, webbaserede Git-operationer.
+uploaded_avatar_is_too_big = Den uploadede filstørrelse (%d KiB) overstiger den maksimale størrelse (%d KiB).
+email_deletion_desc = E-mailadressen og relaterede oplysninger vil blive fjernet fra din konto. Git commits af denne e-mailadresse forbliver uændret. Fortsætte?
+choose_new_avatar = Vælg ny avatar
+update_avatar = Opdater avatar
+change_password_success = Din adgangskode er blevet opdateret. Log ind med din nye adgangskode fra nu af.
+add_email = Tilføj e-mailadresse
+add_openid = Tilføj OpenID URI
+add_email_confirmation_sent = En bekræftelses-e-mail er blevet sendt til "%s". For at bekræfte din e-mailadresse, tjek venligst din indbakke og følg det medfølgende link inden for de næste %s.
+add_openid_success = Den nye OpenID-adresse er blevet tilføjet.
+keep_email_private = Skjul e-mailadresse
+openid_desc = OpenID lader dig uddelegere godkendelse til en ekstern udbyder.
+manage_ssh_keys = Administrer SSH-nøgler
+manage_ssh_principals = Administrer SSH-certifikatprincippere
+manage_gpg_keys = Administrer GPG-nøgler
+add_key = Tilføj nøgle
+ssh_desc = Disse offentlige SSH-nøgler er knyttet til din konto. De tilsvarende private nøgler giver fuld adgang til dine depoter. SSH-nøgler, der er blevet bekræftet, kan bruges til at bekræfte SSH-signerede Git-commits.
+principal_desc = Disse SSH-certifikatprincipper er knyttet til din konto og giver fuld adgang til dine depoter.
+ssh_helper = Har du brug for hjælp? Se vejledningen til at oprette dine egne SSH-nøgler eller løse almindelige problemer a> du kan støde på når du bruger SSH.
+gpg_helper = Har du brug for hjælp? Se vejledningen om GPG .
+key_content_gpg_placeholder = Begynder med "-----BEGIN PGP PUBLIC KEY BLOCK-----"
+add_new_principal = Tilføj principal
+ssh_key_been_used = Denne SSH-nøgle er allerede blevet tilføjet til serveren.
+ssh_key_name_used = En SSH-nøgle med samme navn findes allerede på din konto.
+ssh_principal_been_used = Denne principal er allerede blevet tilføjet til serveren.
+gpg_key_id_used = Der findes allerede en offentlig GPG-nøgle med samme id.
+gpg_no_key_email_found = Denne GPG-nøgle matcher ikke nogen aktiveret e-mail-adresse tilknyttet din konto. Det kan stadig tilføjes, hvis du underskriver det medfølgende token.
+gpg_key_matched_identities = Matchede identiteter:
+gpg_key_verified = Verificeret nøgle
+gpg_key_verified_long = Nøglen er blevet bekræftet med et token og kan bruges til at bekræfte commits, der matcher alle aktiverede e-mailadresser for denne bruger ud over eventuelle matchede identiteter for denne nøgle.
+gpg_key_verify = Bekræft
+gpg_invalid_token_signature = Den medfølgende GPG-nøgle, signatur og token stemmer ikke overens, eller token er forældet.
+gpg_token_required = Du skal angive en underskrift for nedenstående token
+gpg_token = Token
+gpg_token_signature = Pansret GPG-signatur
+key_signature_gpg_placeholder = Begynder med "-----BEGIN PGP SIGNATURE-----"
+verify_gpg_key_success = GPG-nøglen "%s" er blevet bekræftet.
+ssh_key_verified = Verificeret nøgle
+ssh_token_required = Du skal angive en underskrift for nedenstående token
+ssh_token = Token
+ssh_token_help = Du kan generere en signatur ved at bruge:
+ssh_token_signature = Pansret SSH signatur
+key_signature_ssh_placeholder = Begynder med "-----BEGIN SSH SIGNATURE-----"
+verify_ssh_key_success = SSH-nøglen "%s" er blevet bekræftet.
+subkeys = Undernøgler
+key_name = Nøglenavn
+key_id = Nøgle ID
+key_content = Indhold
+principal_content = Indhold
+add_key_success = SSH-nøglen "%s" er blevet tilføjet.
+add_principal_success = SSH-certifikatprincippet "%s" er blevet tilføjet.
+delete_key = Slet
+ssh_key_deletion = Slet SSH-nøgle
+gpg_key_deletion = Slet GPG-nøglen
+ssh_principal_deletion = Slet SSH Certificate Principal
+gpg_key_deletion_desc = Fjernelse af en GPG-nøgle afbekræfter commits, der er underskrevet af den. Fortsætte?
+ssh_principal_deletion_desc = Fjernelse af en SSH Certificate Principal tilbagekalder dens adgang til din konto. Fortsætte?
+ssh_key_deletion_success = SSH-nøglen er blevet fjernet.
+ssh_principal_deletion_success = Principal er blevet fjernet.
+added_on = Tilføjet den %s
+valid_until_date = Gyldig indtil %s
+last_used = Sidst brugt på
+no_activity = Ingen nylig aktivitet
+can_read_info = Læs
+can_write_info = Skriv
+token_state_desc = Dette token er blevet brugt inden for de sidste 7 dage
+principal_state_desc = Denne principal er blevet brugt inden for de sidste 7 dage
+show_openid = Vis på profil
+hide_openid = Skjul fra profil
+ssh_externally_managed = Denne SSH-nøgle administreres eksternt for denne bruger
+manage_access_token = Adgangstoken
+generate_new_token = Generer nyt token
+tokens_desc = Disse tokens giver adgang til din konto ved hjælp af Forgejo API.
+token_name = Token navn
+generate_token = Generer token
+generate_token_success = Dit nye token er blevet genereret. Kopier den nu, da den ikke vises igen.
+delete_token = Slet
+access_token_deletion = Slet adgangstoken
+access_token_deletion_desc = Sletning af et token vil tilbagekalde adgangen til din konto for applikationer, der bruger den. Dette kan ikke fortrydes. Fortsætte?
+repo_and_org_access = Depot og organisationsadgang
+permissions_public_only = Kun offentlig
+permissions_access_all = Alle (offentlige, private og begrænsede)
+select_permissions = Vælg tilladelser
+permission_no_access = Ingen adgang
+permission_read = Læs
+permission_write = Læs og skriv
+permissions_list = Tilladelser:
+manage_oauth2_applications = Administrer OAuth2-applikationer
+edit_oauth2_application = Rediger OAuth2-applikation
+add_email_success = Den nye e-mailadresse er blevet tilføjet.
+key_content_ssh_placeholder = Begynder med "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", eller "sk-ssh-ed25519@openssh.com"
+gpg_key_matched_identities_long = De indlejrede identiteter i denne nøgle matcher de følgende aktiverede e-mailadresser for denne bruger. Commits, der matcher disse e-mailadresser, kan bekræftes med denne nøgle.
+gpg_key_deletion_success = GPG-nøglen er blevet fjernet.
+email_preference_set_success = E-mail-præference er blevet indstillet.
+keep_email_private_popup = Din e-mailadresse vil ikke blive vist på din profil og vil ikke være standard for commits foretaget via webgrænsefladen, som f.eks. filupload, redigeringer og merge commits. I stedet kan en speciel adresse %s bruges til at linke commits til din konto. Denne mulighed vil ikke påvirke eksisterende commits.
+gpg_desc = Disse offentlige GPG-nøgler er knyttet til din konto og bruges til at bekræfte dine commits. Opbevar dine private nøgler sikkert, da de giver dig mulighed for at underskrive commits med din identitet.
+gpg_token_help = Du kan generere en signatur ved at bruge:
+ssh_key_verified_long = Nøglen er blevet bekræftet med et token og kan bruges til at bekræfte commits, der matcher enhver aktiveret e-mail-adresse for denne bruger.
+ssh_key_deletion_desc = Fjernelse af en SSH-nøgle tilbagekalder dens adgang til din konto. Fortsætte?
+ssh_signonly = SSH er i øjeblikket deaktiveret, så disse nøgler bruges kun til bekræftelse af commit signatur.
+at_least_one_permission = Du skal vælge mindst én tilladelse for at oprette et token
+ssh_key_verify = Bekræft
+ssh_invalid_token_signature = Den angivne SSH-nøgle, signatur eller token stemmer ikke overens, eller token er forældet.
+add_gpg_key_success = GPG-nøglen "%s" er blevet tilføjet.
+valid_forever = Gyldig for evigt
+ssh_disabled = SSH er deaktiveret
+key_state_desc = Denne nøgle er blevet brugt inden for de sidste 7 dage
+generate_token_name_duplicate = %s er allerede blevet brugt som applikationsnavn. Brug venligst en ny.
+delete_token_success = Tokenet er blevet slettet. Applikationer, der bruger den, har ikke længere adgang til din konto.
+access_token_desc = Valgte tokentilladelser begrænser kun autorisation til de tilsvarende API -ruter. Læs dokumentationen for at få flere oplysninger.
+oauth2_applications_desc = OAuth2-applikationer gør det muligt for din tredjepartsapplikation at godkende brugere sikkert i denne Forgejo-instans.
+remove_oauth2_application = Slet OAuth2-applikation
+remove_oauth2_application_desc = Sletning af en OAuth2-applikation vil tilbagekalde adgangen til alle signerede adgangstokens. Vil du fortsætte?
+remove_oauth2_application_success = Ansøgningen er blevet slettet.
+create_oauth2_application = Opret en ny OAuth2-applikation
+create_oauth2_application_button = Opret applikation
+create_oauth2_application_success = Du har oprettet en ny OAuth2-applikation.
+update_oauth2_application_success = Du har opdateret OAuth2-applikationen.
+oauth2_application_name = Applikationsnavn
+oauth2_redirect_uris = Omdiriger URI'er. Brug venligst en ny linje for hver URI.
+save_application = Gem
+oauth2_client_id = Klient ID
+oauth2_client_secret = Klient hemmelighed
+oauth2_regenerate_secret = Genskab hemmeligheden
+oauth2_regenerate_secret_hint = Har du mistet din hemmelighed?
+oauth2_client_secret_hint = Hemmeligheden vil ikke blive vist igen, når du forlader eller opdaterer denne side. Sørg for, at du har gemt den.
+oauth2_application_edit = Redigere
+oauth2_confidential_client = Fortrolig klient. Vælg for apps, der holder hemmeligheden fortrolig, såsom webapps. Vælg ikke for indbyggede apps, herunder desktop- og mobilapps.
+oauth2_application_create_description = OAuth2-applikationer giver din tredjepartsapplikation adgang til brugerkonti på denne instans.
+oauth2_application_remove_description = Fjernelse af en OAuth2-applikation forhindrer den i at få adgang til autoriserede brugerkonti på denne instans. Vil du fortsætte?
+authorized_oauth2_applications = Autoriserede OAuth2-applikationer
+revoke_key = Tilbagekald
+revoke_oauth2_grant = Tilbagekald adgang
+revoke_oauth2_grant_description = Tilbagekaldelse af adgang for denne tredjepartsapplikation forhindrer denne applikation i at få adgang til dine data. Er du sikker?
+revoke_oauth2_grant_success = Adgangen blev tilbagekaldt.
+twofa_desc = For at beskytte din konto mod adgangskodetyveri kan du bruge en smartphone eller en anden enhed til at modtage tidsbaserede engangsadgangskoder ("TOTP").
+twofa_is_enrolled = Din konto er i øjeblikket tilmeldt til tofaktorgodkendelse.
+twofa_not_enrolled = Din konto er i øjeblikket ikke tilmeldt to-faktor-godkendelse.
+twofa_disable = Deaktiver to-faktor-godkendelse
+twofa_scratch_token_regenerate = Gendan engangsgendannelsesnøgle
+twofa_scratch_token_regenerated = Din gendannelsesnøgle til engangsbrug er nu %s. Opbevar det et sikkert sted, da det ikke vil blive vist igen.
+twofa_enroll = Tilmeld dig to-faktor-godkendelse
+twofa_recovery_tip = Hvis du mister din enhed, vil du være i stand til at bruge en gendannelsesnøgle til engangsbrug for at få adgang til din konto igen.
+oauth2_application_locked = Forgejo forhåndsregistrerer nogle OAuth2-applikationer ved opstart, hvis det er aktiveret i config. For at forhindre uventet adfærd kan disse hverken redigeres eller fjernes. Se venligst OAuth2-dokumentationen for at få flere oplysninger.
+authorized_oauth2_applications_description = Du har givet adgang til din personlige Forgejo-konto til disse tredjepartsapplikationer. Tilbagekald venligst adgangen for applikationer, der ikke længere er i brug.
+manage_account_links = Tilknyttede konti
+manage_account_links_desc = Disse eksterne konti er knyttet til din Forgejo-konto.
+link_account = Link konto
+remove_account_link = Slet linket konto
+remove_account_link_desc = Fjernelse af en tilknyttet konto vil tilbagekalde dens adgang til din Forgejo-konto. Vil du fortsætte?
+remove_account_link_success = Den tilknyttede konto er blevet fjernet.
+twofa_disable_note = Du kan deaktivere to-faktor-godkendelse, hvis det er nødvendigt.
+twofa_disable_desc = Deaktivering af to-faktor-godkendelse vil gøre din konto mindre sikker. Vil du fortsætte?
+regenerate_scratch_token_desc = Hvis du har forlagt din gendannelsesnøgle eller allerede har brugt den til at logge på, kan du nulstille den her.
+twofa_disabled = To-faktor-godkendelse er blevet deaktiveret.
+scan_this_image = Scan dette billede med din godkendelsesapplikation:
+then_enter_passcode = Og indtast adgangskoden vist i applikationen:
+passcode_invalid = Passkoden er forkert. Prøv igen.
+twofa_enrolled = Din konto er blevet tilmeldt. Opbevar din gendannelsesnøgle til engangsbrug (%s) et sikkert sted, da den ikke vil blive vist igen.
+twofa_failed_get_secret = Det lykkedes ikke at få hemmelig-koden.
+or_enter_secret = Eller indtast hemmelig-koden: %s
+webauthn_desc = Sikkerhedsnøgler er hardwareenheder, der indeholder kryptografiske nøgler. De kan bruges til to-faktor-godkendelse. Sikkerhedsnøgler skal understøtte WebAuthn Authenticator -standarden.
+webauthn_register_key = Tilføj sikkerhedsnøgle
+webauthn_nickname = Kaldenavn
+webauthn_delete_key = Slet sikkerhedsnøglen
+webauthn_delete_key_desc = Hvis du sletter en sikkerhedsnøgle, kan du ikke længere logge ind med den. Vil du fortsætte?
+webauthn_key_loss_warning = Hvis du mister dine sikkerhedsnøgler, mister du adgangen til din konto.
+webauthn_alternative_tip = Du vil måske gerne konfigurere en ekstra godkendelsesmetode.
+hooks.desc = Tilføj webhooks, som vil blive udløst for alle depoter , som du ejer.
+orgs_none = Du er ikke medlem af nogen organisationer.
+repos_none = Du ejer ikke nogen depoter.
+delete_account = Slet din konto
+delete_prompt = Denne handling vil permanent slette din brugerkonto. Det KAN IKKE fortrydes.
+confirm_delete_account = Bekræft sletning
+email_notifications.enable = Aktiver e-mail-notifikationer
+email_notifications.onmention = Kun e-mail ved omtale
+email_notifications.disable = Deaktiver e-mail-notifikationer
+email_notifications.submit = Indstil e-mail-præference
+email_notifications.andyourown = Og dine egne notifikationer
+visibility = Brugersynlighed
+visibility.public = Offentlig
+visibility.public_tooltip = Synlig for alle
+visibility.limited_tooltip = Kun synlig for brugere, der er logget ind
+visibility.private = Privat
+blocked_since = Blokeret siden %s
+user_unblock_success = Blokeringen af brugeren er blevet fjernet.
+user_block_success = Brugeren er blevet blokeret.
+blocked_users_none = Der er ingen blokerede brugere.
+visibility.limited = Begrænset
+delete_account_desc = Er du sikker på, at du vil slette denne brugerkonto permanent?
+visibility.private_tooltip = Kun synlig for medlemmer af organisationer, du har tilsluttet dig
+delete_with_all_comments = Din konto er yngre end %s. For at undgå spøgelseskommentarer slettes alle problemer/PR-kommentarer med kontoen.
+delete_account_title = Slet brugerkonto
+user_block_yourself = Du kan ikke blokere dig selv.
+pronouns_custom_label = Brugerdefinerede stedord
+
+[repo]
+rss.must_be_on_branch = Du skal være på en gren for at have et RSS-feed.
+admin.manage_flags = Administrer flag
+admin.enabled_flags = Flag aktiveret for depotet:
+admin.update_flags = Opdater flag
+admin.flags_replaced = Depot flag udskiftet
+owner = Ejer
+owner_helper = Nogle organisationer vises muligvis ikke i dropdown-menuen på grund af en maksimal grænse for optælling af depoter.
+repo_name = Depot navn
+repo_name_helper = Gode depotnavne bruger korte, mindeværdige og unikke nøgleord.
+repo_size = Depotstørrelse
+size_format = %[1]s: %[2]s, %[3]s: %[4]s
+template = Skabelon
+template_select = Vælg en skabelon
+template_helper = Gør depot til en skabelon
+visibility = Synlighed
+visibility_helper = Gør depotet privat
+visibility_helper_forced = Din webstedsadministrator tvinger nye depoter til at være private.
+clone_helper = Har du brug for hjælp til kloning? Besøg Hjælp .
+fork_repo = Fork depot
+fork_from = Fork fra
+already_forked = Du har allerede forked %s
+fork_to_different_account = Fork til en anden konto
+fork_branch = Gren, der skal klones til fork
+all_branches = Alle grene
+fork_no_valid_owners = Dette depot kan ikke blive forked, fordi der ikke er nogen gyldige ejere.
+use_template = Brug denne skabelon
+open_with_editor = Åben med %s
+download_zip = Download ZIP
+download_tar = Download TAR.GZ
+download_bundle = Download BUNDLE
+generate_repo = Generer depot
+generate_from = Generer fra
+repo_desc = Beskrivelse
+repo_lang = Sprog
+repo_gitignore_helper = Vælg .gitignore skabeloner
+issue_labels = Etiketter
+issue_labels_helper = Vælg et etiketsæt
+license = Licens
+object_format = Objektformat
+object_format_helper = Objektformatet for depotet. Kan ikke ændres senere. SHA1 er den mest kompatible.
+readme = LÆSMIG
+readme_helper = Vælg en LÆSMIG-filskabelon
+readme_helper_desc = Dette er stedet, hvor du kan skrive en komplet beskrivelse af dit projekt.
+auto_init = Initialiser depot
+create_repo = Opret depot
+default_branch = Standard gren
+default_branch_label = standard
+default_branch_helper = Standardgrenen er basegrenen for pull-anmodninger og kode-commits.
+mirror_prune = Prune
+mirror_prune_desc = Slet forældede referencer til fjernsporing
+mirror_interval = Spejlinterval (gyldige tidsenheder er "h", "m", "s"). 0 for at deaktivere periodisk synkronisering. (Minimumsinterval: %s)
+mirror_interval_invalid = Spejlintervallet er ikke gyldigt.
+mirror_use_ssh.text = Brug SSH-godkendelse
+mirror_use_ssh.not_available = SSH-godkendelse er ikke tilgængelig.
+mirror_denied_combination = Kan ikke bruge offentlig nøgle- og adgangskodebaseret godkendelse i kombination.
+mirror_sync = synkroniseret
+mirror_sync_on_commit = Synkroniser når commits er pushed
+mirror_address = Klon fra URL
+mirror_address_desc = Angiv eventuelle nødvendige legitimationsoplysninger i sektionen Autorisation.
+mirror_address_url_invalid = Den angivne URL er ugyldig. Du skal escape alle komponenter i URL'en korrekt.
+mirror_lfs = Stort fillager (LFS)
+mirror_lfs_desc = Aktiver spejling af LFS-data.
+mirror_lfs_endpoint = LFS-endepunkt
+mirror_last_synced = Sidst synkroniseret
+mirror_password_placeholder = (Uændret)
+mirror_password_blank_placeholder = (Usat)
+mirror_password_help = Skift brugernavn for at slette en gemt adgangskode.
+watchers = Observatører
+stargazers = Stjernekiggere
+stars_remove_warning = Dette vil fjerne alle stjerner fra dette depot.
+forks = Forks
+stars = Stjerner
+reactions_more = og %d mere
+unit_disabled = Webstedsadministratoren har deaktiveret denne depotsektion.
+adopt_preexisting_label = Adopter filer
+adopt_preexisting = Adopter allerede eksisterende filer
+adopt_preexisting_content = Opret depot fra %s
+adopt_preexisting_success = Adopterede filer og oprettet depot fra %s
+delete_preexisting_label = Slet
+delete_preexisting = Slet allerede eksisterende filer
+delete_preexisting_content = Slet filer i %s
+delete_preexisting_success = Slettede ikke-adopterede filer i %s
+blame_prior = Se skylden før denne ændring
+blame.ignore_revs.failed = Kunne ikke ignorere revisioner i .git-blame-ignore-revs .
+author_search_tooltip = Viser maksimalt 30 brugere
+tree_path_not_found_commit = Sti %[1]s eksisterer ikke i commit %[2]s
+tree_path_not_found_branch = Sti %[1]s findes ikke i gren %[2]s
+tree_path_not_found_tag = Sti %[1]s findes ikke i tag %[2]s
+transfer.accept = Accepter overførsel
+transfer.accept_desc = Overfør til "%s"
+transfer.reject = Afvis overførsel
+transfer.no_permission_to_accept = Du har ikke tilladelse til at acceptere denne overførsel.
+transfer.no_permission_to_reject = Du har ikke tilladelse til at afvise denne overførsel.
+desc.private = Privat
+desc.public = Offentlig
+desc.template = Skabelon
+desc.archived = Arkiveret
+desc.sha256 = SHA256
+template.items = Skabelonelementer
+template.git_content = Git-indhold (standardgren)
+template.git_hooks = Git hooks
+template.webhooks = Webhooks
+template.topics = Emner
+template.avatar = Avatar
+template.issue_labels = Problem etiketter
+template.one_item = Skal vælge mindst ét skabelonelement
+template.invalid = Skal vælge et skabelondepot
+admin.failed_to_replace_flags = Det lykkedes ikke at erstatte depot flag
+repo_desc_helper = Indtast en kort beskrivelse (valgfrit)
+mirror_use_ssh.helper = Forgejo vil spejle depotet via Git over SSH og oprette et nøglepar til dig, når du vælger denne mulighed. Du skal sikre dig, at den genererede offentlige nøgle er autoriseret til at pushe til destinationsdepotet. Du kan ikke bruge adgangskodebaseret godkendelse, når du vælger dette.
+adopt_search = Indtast brugernavn for at søge efter ikke-adopterede depoter... (lad stå tomt for at finde alle)
+fork_visibility_helper = Synligheden af et forked depot kan ikke ændres.
+license_helper = Vælg en licensfil
+language_other = Andre
+desc.internal = Internt
+visibility_description = Kun ejeren eller organisationens medlemmer, hvis de har rettigheder, vil kunne se det.
+new_repo_helper = Et depot indeholder alle projektfiler, inklusive revisionshistorik. Er du allerede vært for en et andet sted? Migrer depot .
+visibility_fork_helper = (Hvis du ændrer dette, vil det påvirke synligheden af alle forks.)
+mirror_lfs_endpoint_desc = Synkronisering vil forsøge at bruge klon-url'en til at bestemme LFS-serveren . Du kan også angive et brugerdefineret endepunkt, hvis depots LFS-data er gemt et andet sted.
+template_description = Skabelondepoter lader brugere generere nye depoter med samme mappestruktur, filer og valgfri indstillinger.
+repo_gitignore_helper_desc = Vælg, hvilke filer der ikke skal spores, fra en liste over skabeloner til almindelige sprog. Typiske artefakter genereret af hvert sprogs byggeværktøjer er inkluderet på .gitignore som standard.
+license_helper_desc = En licens styrer, hvad andre kan og ikke kan gøre med din kode. Er du i tvivl om, hvilken der passer til dit projekt? Se Vælg en licens .
+template.git_hooks_tooltip = Du er i øjeblikket ikke i stand til at ændre eller fjerne Git hooks, når først de er tilføjet. Vælg kun dette, hvis du har tillid til skabelondepotet.
+mirror_public_key = Offentlig SSH-nøgle
+blame.ignore_revs = Ignorerer revisioner i .git-blame-ignore-revs . Klik her for at omgå og se den normale skyldvisning.
+mirror_address_protocol_invalid = Den angivne URL er ugyldig. Kun http(s):// eller git:// placeringer kan bruges til spejling.
+transfer.reject_desc = Annuller overførsel til "%s"
+archive.title = Dette depot er arkiveret. Du kan se filer og klone dem, men du kan ikke pushe eller åbne problemer eller pull-anmodninger.
+archive.title_date = Dette depot er blevet arkiveret på %s. Du kan se filer og klone dem, men du kan ikke pushe eller åbne problemer eller pull-anmodninger.
+archive.issue.nocomment = Denne depot er arkiveret. Du kan ikke kommentere på problemer.
+form.reach_limit_of_creation_1 = Ejeren har allerede nået grænsen på %d depot.
+form.reach_limit_of_creation_n = Ejeren har allerede nået grænsen på %d depoterne.
+form.name_reserved = Depotnavnet "%s" er reserveret.
+form.string_too_long = Den givne streng er længere end %d tegn.
+need_auth = Autorisation
+migrate_options = Migrationsmuligheder
+migrate_options_mirror_helper = Dette depot vil være et spejl
+migrate_options_lfs = Migrer LFS-filer
+migrate_options_lfs_endpoint.label = LFS endepunkt
+migrate_options_lfs_endpoint.description.local = En lokal serversti understøttes også.
+migrate_items = Migration Elementer
+migrate_items_wiki = Wiki
+migrate_items_milestones = Milepæle
+migrate_items_labels = Etiketter
+migrate_items_issues = Problemmer
+migrate_items_pullrequests = Pull-anmodninger
+migrate_items_merge_requests = Flet anmodninger
+migrate_items_releases = Udgivelser
+migrate_repo = Migrer depot
+migrate.clone_address_desc = HTTP(S) eller Git "klone" URL'en for et eksisterende depot
+migrate.clone_local_path = eller en lokal serversti
+migrate.permission_denied = Du har ikke tilladelse til at importere lokale depoter.
+migrate.permission_denied_blocked = Du kan ikke importere fra ikke-tilladte værter. Bed venligst administratoren om at kontrollere ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS indstillingerne.
+migrate.invalid_local_path = Den lokale sti er ugyldig. Den eksisterer ikke eller er ikke en mappe.
+migrate.invalid_lfs_endpoint = LFS-endepunktet er ikke gyldigt.
+migrate.failed = Migrering mislykkedes: %v
+migrate.migrate_items_options = Adgangstoken er påkrævet for at migrere yderligere elementer
+migrated_from_fake = Migreret fra %[1]s
+migrate.migrate = Migrer fra %s
+migrate.migrating = Migrerer fra %s ...
+migrate.migrating_failed = Migrering fra %s mislykkedes.
+migrate.migrating_failed.error = Kunne ikke migrere: %s
+migrate.migrating_failed_no_addr = Migration mislykkedes.
+migrate.git.description = Migrer kun et depot fra enhver Git-tjeneste.
+migrate.gitlab.description = Migrer data fra gitlab.com eller andre GitLab-instanser.
+migrate.forgejo.description = Migrer data fra codeberg.org eller andre Forgejo-instanser.
+migrate.gogs.description = Migrer data fra notabug.org eller andre Gogs-instanser.
+migrate.codebase.description = Migrer data fra codebasehq.com.
+migrate.migrating_git = Migrering af Git-data
+migrate.migrating_topics = Migrering af emner
+migrate.migrating_milestones = Migrerende milepæle
+migrate.migrating_labels = Migrering af etiketter
+migrate.migrating_releases = Migrering af udgivelser
+migrate.migrating_issues = Migrering af problemer
+migrate.migrating_pulls = Migrering af pull-anmodninger
+migrate.cancel_migrating_title = Annuller migrering
+mirror_from = spejl af
+forked_from = forked fra
+generated_from = genereret fra
+fork_from_self = Du kan ikke forke et depot, du ejer.
+migrate.onedev.description = Migrer data fra code.onedev.io eller andre OneDev-instanser.
+archive.pull.nocomment = Denne depot er arkiveret. Du kan ikke kommentere på pull-anmodninger.
+migrated_from = Migreret fra %[2]s
+migrate.gitea.description = Migrer data fra gitea.com eller andre Gitea-instanser.
+migrate.gitbucket.description = Migrer data fra GitBucket-instanser.
+migrate.github_token_desc = Du kan sætte et eller flere tokens med kommasepareret her for at gøre migreringen hurtigere på grund af GitHub API-hastighedsgrænsen. ADVARSEL: Misbrug af denne funktion kan overtræde tjenesteudbyderens politik og føre til kontoblokering.
+migrate_options_lfs_endpoint.description = Migration vil forsøge at bruge din fjern-Git til at bestemme LFS-serveren . Du kan også angive et brugerdefineret slutpunkt, hvis depots LFS-data er gemt et andet sted.
+form.name_pattern_not_allowed = Mønsteret "%s" er ikke tilladt i et depotnavn.
+migrate_options_lfs_endpoint.placeholder = Hvis det efterlades tomt, vil endepunktet blive afledt fra klonens URL
+migrate.clone_address = Migrer / Klon fra URL
+migrate.github.description = Migrer data fra github.com eller GitHub Enterprise server.
+migrate.cancel_migrating_confirm = Vil du annullere denne migrering?
+more_operations = Flere operationer
+new_from_template = Brug en skabelon
+new_from_template_description = Du kan vælge en eksisterende depotskabelon på denne instans og anvende dens indstillinger.
+new_advanced = Avancerede indstillinger
+new_advanced_expand = Klik for at udvide
+auto_init_description = Start Git-historikken med en LÆSMIG og tilføj eventuelt licens- og .gitignore-filer.
+unwatch = Fjern overvågning
+star = Stjerne
+unstar = Fjern stjerne
+fork = Fork
+download_archive = Download depot
+no_desc = Ingen beskrivelse
+code = Kode
+audio_not_supported_in_browser = Din browser understøtter ikke HTML5 "audio"-tagget.
+clone_this_repo = Klon dette depot
+create_new_repo_command = Oprettelse af et nyt depot på kommandolinjen
+push_exist_repo = Push et eksisterende depot fra kommandolinjen
+empty_message = Dette depot indeholder ikke noget indhold.
+code.desc = Få adgang til kildekode, filer, commits og grene.
+branch = Gren
+tree = Træ
+clear_ref = `Ryd nuværende reference`
+find_tag = Find tag
+branches = Grene
+tag = Tag
+tags = Tags
+issues = Problemer
+pulls = Pull-anmodninger
+project = Projekter
+file_permalink = Permalink
+file_too_large = Filen er for stor til at blive vist.
+ambiguous_runes_header = `Denne fil indeholder tvetydige Unicode-tegn`
+ambiguous_runes_description = `Denne fil indeholder Unicode-tegn, der kan forveksles med andre tegn. Hvis du tror, at dette er med vilje, kan du roligt ignorere denne advarsel. Brug Escape-knappen til at afsløre dem.`
+invisible_runes_line = `Denne linje har usynlige Unicode-tegn`
+ambiguous_runes_line = `Denne linje har tvetydige Unicode-tegn`
+ambiguous_character = `%[1]c [U+%04[1]X] kan forveksles med %[2]c [U+%04[2]X]`
+escape_control_characters = Escape
+unescape_control_characters = Unescape
+file_copy_permalink = Kopiér permalink
+view_git_blame = Se git skyld
+video_not_supported_in_browser = Din browser understøtter ikke HTML5 "video"-tagget.
+stored_lfs = Lagret med Git LFS
+symbolic_link = Symbolsk link
+executable_file = Eksekverbar fil
+vendored = Vendored
+generated = Genereret
+commit_graph = Commit graf
+commit_graph.select = Vælg grene
+commit_graph.hide_pr_refs = Skjul pull-anmodninger
+commit_graph.monochrome = Mono
+commit_graph.color = Farve
+commit.contained_in = Denne commit er indeholdt i:
+commit.contained_in_default_branch = Denne commit er en del af standardgrenen
+commit.load_referencing_branches_and_tags = Indlæs grene og tags, der refererer til denne commit
+blame = Skyld
+download_file = Download fil
+normal_view = Normal visning
+line = linje
+lines = linjer
+from_comment = (kommentar)
+no_eol.text = Ingen EOL
+no_eol.tooltip = Denne fil indeholder ikke et afsluttende linjesluttegn.
+editor.add_file = Tilføj fil
+editor.new_file = Ny fil
+editor.upload_file = Upload fil
+editor.edit_file = Rediger fil
+editor.preview_changes = Forhåndsvisning af ændringer
+editor.cannot_edit_lfs_files = LFS-filer kan ikke redigeres i webgrænsefladen.
+editor.cannot_edit_non_text_files = Binære filer kan ikke redigeres i webgrænsefladen.
+editor.edit_this_file = Rediger fil
+editor.this_file_locked = Filen er låst
+editor.must_be_on_a_branch = Du skal være på en gren for at foretage eller foreslå ændringer til denne fil.
+editor.fork_before_edit = Du skal fork dette depot for at foretage eller foreslå ændringer til denne fil.
+editor.delete_this_file = Slet fil
+editor.must_have_write_access = Du skal have skriveadgang for at foretage eller foreslå ændringer til denne fil.
+filter_branch_and_tag = Filtrer gren eller tag
+quick_guide = Hurtig guide
+broken_message = Git-dataene, der ligger til grund for dette depot, kan ikke læses. Kontakt administratoren af denne instans eller slet dette depot.
+invisible_runes_header = `Denne fil indeholder usynlige Unicode-tegn`
+cite_this_repo = Citér dette depot
+invisible_runes_description = `Denne fil indeholder usynlige Unicode-tegn, der ikke kan skelnes for mennesker, men som kan behandles anderledes af en computer. Hvis du tror, at dette er med vilje, kan du roligt ignorere denne advarsel. Brug Escape-knappen til at afsløre dem.`
+fork_guest_user = Log ind for at forke dette depot.
+watch_guest_user = Log ind for at overvåge dette depot.
+watch = Overvåg
+star_guest_user = Log ind for at stjernemarkere dette depot.
+subscribe.issue.guest.tooltip = Log ind for at abonnere på dette problem.
+subscribe.pull.guest.tooltip = Log ind for at abonnere på denne pull-anmodning.
+release = Udgivelse
+releases = Udgivelser
+packages = Pakker
+actions = Handlinger
+labels = Etiketter
+milestones = Milepæle
+n_commit_few = %s commits
+n_branch_one = %s gren
+n_branch_few = %s grene
+org_labels_desc_manage = Styr
+commits = Commits
+commit = Commit
+org_labels_desc = Etiketter på organisationsniveau, der kan bruges med alle depoter under denne organisation
+n_commit_one = %s commit
+n_release_few = %s udgivelser
+released_this = udgivet dette
+file.title = %s ved %s
+file_raw = Rå
+file_follow = Følg symbollink
+editor.or = eller
+editor.fail_to_update_file_summary = Fejlmeddelelse:
+editor.push_rejected_summary = Fuldstændig afvisningsmeddelelse:
+editor.add_subdir = Tilføj en mappe…
+editor.unable_to_upload_files = Kunne ikke uploade filer til "%s" med fejl: %v
+n_tag_one = %s tag
+n_tag_few = %s tags
+n_release_one = %s udgivelse
+file_history = Historie
+file_view_source = Se kilde
+file_view_rendered = Vis gengivet
+file_view_raw = Vis rå
+editor.file_delete_success = Filen "%s" er blevet slettet.
+editor.name_your_file = Navngiv din fil…
+editor.filename_help = Tilføj en mappe ved at skrive dens navn efterfulgt af en skråstreg ("/"). Fjern en mappe ved at skrive backspace i begyndelsen af inputfeltet.
+editor.cancel_lower = Annuller
+editor.commit_signed_changes = Commit underskrevne ændringer
+editor.file_is_a_symlink = `"%s" er et symbolsk link. Symbolske links kan ikke redigeres i webeditoren`
+editor.filename_is_a_directory = Filnavnet "%s" er allerede brugt som et mappenavn i dette depot.
+editor.upload_file_is_locked = Filen "%s" er låst af %s.
+editor.upload_files_to_dir = Upload filer til "%s"
+editor.cannot_commit_to_protected_branch = Kan ikke commit til den beskyttede gren "%s".
+editor.no_commit_to_branch = Kan ikke commit direkte til grenen fordi:
+editor.user_no_push_to_branch = Brugeren kan ikke push til gren
+editor.require_signed_commit = Gren kræver en underskrevet commit
+editor.cherry_pick = Kirsebær-pluk %s på:
+editor.revert = Vend %s tilbage til:
+commits.desc = Gennemse kildekodens ændringshistorik.
+commits.commits = Commits
+commits.no_commits = Ingen commits til fælles. "%s" og "%s" har helt forskellige historier.
+commits.nothing_to_compare = Disse grene er ens.
+commits.search.tooltip = Du kan præfikse nøgleord med "forfatter:", "committer:", "efter:" eller "før:", f.eks. "vend forfatter:Alice før:2019-01-13".
+commits.search_branch = Denne gren
+commits.search_all = Alle grene
+commits.author = Forfatter
+commits.gpg_key_id = GPG nøgle-id
+commits.ssh_key_fingerprint = SSH nøgle fingeraftryk
+commits.view_path = Se på dette tidspunkt i historien
+commit.operations = Operationer
+commit.revert = Revert
+commit.revert-header = Revert: %s
+commit.revert-content = Vælg gren for at revert til:
+editor.directory_is_a_file = Katalognavnet "%s" er allerede brugt som et filnavn i dette depot.
+editor.branch_already_exists = Gren "%s" findes allerede i dette depot.
+editor.filename_cannot_be_empty = Filnavnet må ikke være tomt.
+editor.commit_changes = Commit ændringer
+editor.signoff_desc = Tilføj en Signed-off-by trailer af committeren i slutningen af commit log-meddelelsen.
+editor.commit_directly_to_this_branch = Commit direkte til %[1]s -grenen.
+editor.add_tmpl = Tilføj "<%s>"
+editor.add_tmpl.filename = filnavn
+editor.add = Tilføj %s
+editor.update = Opdater %s
+editor.delete = Slet %s
+editor.patch = Påfør patch
+editor.patching = Patching:
+editor.fail_to_apply_patch = Kan ikke anvende patch "%s"
+editor.new_patch = Nyt patch
+editor.commit_message_desc = Tilføj en valgfri udvidet beskrivelse…
+editor.create_new_branch = Opret en ny gren til denne commit og start en pull-anmodning.
+editor.create_new_branch_np = Opret en ny gren til denne commit.
+editor.propose_file_change = Foreslå filændring
+editor.new_branch_name = Navngiv den nye gren for denne commit
+editor.new_branch_name_desc = Ny gren navn…
+editor.cancel = Annuller
+commits.signed_by_untrusted_user_unmatched = Signeret af ikke-pålidelig bruger, der ikke matcher committer
+commits.signed_by = Signeret af
+commits.signed_by_untrusted_user = Signeret af en ikke-pålidelig bruger
+commit.cherry-pick = Kirsebær-pluk
+commit.cherry-pick-header = Kirsebærpluk: %s
+commit.cherry-pick-content = Vælg en gren at kirsebær-pluk på:
+commitstatus.failure = Fiasko
+commitstatus.error = Fejl
+projects.create_success = Projektet "%s" er blevet oprettet.
+projects.title = Titel
+projects.new = Nyt projekt
+projects.new_subheader = Koordiner, spor og opdater dit arbejde ét sted, så projekter forbliver gennemsigtige og planmæssigt.
+editor.filename_is_invalid = Filnavnet er ugyldigt: "%s".
+projects.deletion_desc = Sletning af et projekt fjerner det fra alle relaterede problemer. Vil du fortsætte?
+projects.deletion_success = Projektet er blevet slettet.
+projects.modify = Rediger projekt
+projects.type.none = Intet
+projects.type.basic_kanban = Grundlæggende kanban
+projects.type.bug_triage = Fejltriage
+projects.template.desc = Skabelon
+projects.template.desc_helper = Vælg en projektskabelon for at komme i gang
+projects.column.edit = Rediger kolonne
+projects.column.set_default_desc = Indstil denne kolonne som standard for ukategoriserede problemer og pulls
+projects.column.delete = Slet kolonne
+projects.column.deletion_desc = Sletning af en projektkolonne flytter alle relaterede problemer til standardkolonnen. Vil du fortsætte?
+projects.column.color = Farve
+projects.open = Åben
+projects.close = Luk
+projects.column.assigned_to = Tildelt til
+projects.card_type.desc = Forhåndsvisninger af kort
+projects.card_type.images_and_text = Billeder og tekst
+projects.card_type.text_only = Kun tekst
+issues.desc = Organiser fejlrapporter, opgaver og milepæle.
+editor.invalid_commit_mail = Ugyldig mail til oprettelse af en commit.
+editor.branch_does_not_exist = Gren "%s" findes ikke i dette depot.
+editor.file_editing_no_longer_exists = Filen, der redigeres, "%s", findes ikke længere i dette depot.
+projects.column.edit_title = Navn
+projects.column.new_title = Navn
+projects.column.new_submit = Opret kolonne
+projects.column.new = Ny kolonne
+projects.column.set_default = Indstil standard
+editor.file_deleting_no_longer_exists = Filen, der slettes, "%s", eksisterer ikke længere i dette depot.
+editor.no_changes_to_show = Der er ingen ændringer at vise.
+editor.fail_to_update_file = Kunne ikke opdatere/oprette filen "%s".
+editor.push_rejected_no_message = Ændringen blev afvist af serveren uden en besked. Tjek venligst Git hooks.
+editor.push_rejected = Ændringen blev afvist af serveren. Tjek venligst Git hooks.
+projects.create = Opret projekt
+projects.deletion = Slet projekt
+projects.edit = Rediger projekt
+projects.edit_subheader = Projekter organiserer problemer og sporer fremskridt.
+projects.edit_success = Projekt "%s" er blevet opdateret.
+issues.new.no_label = Ingen etiketter
+issues.new.clear_labels = Tydelige etiketter
+issues.new.projects = Projekter
+issues.new.clear_projects = Ryd projekter
+issues.new.no_projects = Intet projekt
+issues.new.open_projects = Åben projekter
+issues.new.closed_projects = Lukkede projekter
+issues.new.no_items = Ingen elementer
+issues.new.milestone = Milepæl
+issues.new.no_milestone = Ingen milepæl
+issues.filter_assignees = Filter tildelt
+issues.filter_milestones = Filter Milepæl
+issues.filter_projects = Filter projekt
+issues.filter_labels = Filter etiket
+issues.filter_reviewers = Filter anmelder
+issues.new = Nyt problem
+issues.new.title_empty = Titel må ikke være tom
+issues.new.labels = Etiketter
+issues.new.clear_milestone = Ryd milepæl
+issues.new.open_milestone = Åben milepæle
+issues.new.closed_milestone = Lukkede milepæle
+issues.new.assignees = Tilvalgte
+issues.new.clear_assignees = Ryd tildelte
+issues.filter_sort.recentupdate = For nylig opdateret
+issues.filter_sort.leastupdate = Sidst opdateret
+issues.filter_sort.mostcomment = De fleste kommenterede
+issues.filter_sort.leastcomment = Mindst kommenteret
+issues.filter_sort.nearduedate = Nærmeste forfaldsdato
+issues.filter_sort.farduedate = Længste forfaldsdato
+issues.filter_sort.moststars = Flest stjerner
+editor.file_changed_while_editing = Filens indhold er ændret, siden du begyndte at redigere. Klik her for at se dem eller Bekræft ændringer igen for at overskrive dem.
+editor.file_already_exists = En fil med navnet "%s" findes allerede i dette depot.
+editor.commit_id_not_matching = Filen blev ændret, mens du redigerede den. Forpligt dig til en ny gren og merge derefter.
+editor.push_out_of_date = Pushet ser ud til at være forældet.
+editor.commit_empty_file_header = Commit en tom fil
+editor.commit_empty_file_text = Den fil, du er ved at commitere, er tom. Vil du fortsætte?
+commits.message = Besked
+commits.browse_further = Gennemse videre
+commits.renamed_from = Omdøbt fra %s
+commits.date = Dato
+commits.older = Ældre
+commits.newer = Nyere
+issues.new.no_assignees = Ingen tildelte
+issues.new.assign_to_me = Tildel mig
+issues.action_assignee_no_select = Ingen tildelt
+issues.action_check = Marker/fjern markeringen
+issues.action_check_all = Marker/fjern markeringen af alle elementer
+issues.opened_by = åbnet %[1]s af %[3]s
+pulls.merged_by = af %[3]s blev merged %[1]s
+pulls.merged_by_fake = af %[2]s blev merged %[1]s
+issues.closed_by = af %[3]s blev lukket %[1]s
+projects.desc = Håndtere problemer og pulls i projektboards.
+issues.filter_sort.feweststars = Færre stjerner
+issues.action_assignee = Tildelte
+commitstatus.success = Succes
+ext_issues = Eksterne problemer
+projects = Projekter
+projects.description = Beskrivelse (valgfrit)
+projects.description_placeholder = Beskrivelse
+issues.new.no_reviewers = Ingen anmeldere
+issues.choose.get_started = Kom godt i gang
+issues.choose.open_external_link = Åben
+issues.choose.blank = Standard
+issues.choose.blank_about = Opret et problem fra standardskabelon.
+issues.choose.ignore_invalid_templates = Ugyldige skabeloner er blevet ignoreret
+issues.filter_sort.mostforks = Fleste forks
+issues.filter_sort.fewestforks = Mindste forks
+issues.action_open = Åben
+issues.action_close = Lukket
+issues.action_label = Etiket
+issues.action_milestone_no_select = Ingen milepæl
+commitstatus.pending = Afventer
+issues.edit.already_changed = Kunne ikke gemme ændringer af problemet. Det ser ud til, at indholdet allerede er blevet ændret af en anden bruger. Opdater siden, og prøv at redigere igen for at undgå at overskrive deres ændringer
+issues.action_milestone = Milepæl
+issues.comment_pull_merged_at = merged commit %[1]s ind i %[2]s %[3]s
+issues.comment_manually_pull_merged_at = manuelt merged commit %[1]s into %[2]s %[3]s
+issues.context.edit = Redigere
+issues.context.delete = Slet
+issues.no_content = Ingen beskrivelse angivet.
+issues.close = Luk problem
+
+summary_card_alt = Oversigtskort for depot %s
+issues.choose.invalid_templates = %v ugyldig(e) skabelon(er) fundet
+issues.choose.invalid_config = Problemkonfigurationen indeholder fejl:
+issues.no_ref = Ingen gren/tag angivet
+issues.create = Opret problem
+issues.new_label = Ny etiket
+issues.new_label_placeholder = Etiketnavn
+issues.new_label_desc_placeholder = Beskrivelse
+issues.create_label = Opret etiket
+issues.label_templates.title = Indlæs en etiketforudindstilling
+issues.label_templates.info = Der findes endnu ingen etiketter. Opret en etiket med "Ny etiket", eller brug en etiketforudindstilling:
+issues.label_templates.helper = Vælg en etiketforudindstilling
+issues.label_templates.use = Brug etiketforudindstilling
+issues.label_templates.fail_to_load_file = Kunne ikke indlæse etiketskabelonfilen "%s": %v
+issues.add_label = tilføjede %s etiketten %s
+issues.add_labels = tilføjede %s etiketterne %s
+issues.remove_label = fjernede %s etiketten %s
+issues.remove_labels = fjernede %s etiketterne %s
+issues.add_remove_labels = tilføjede %s og fjernede %s etiketter %s
+issues.add_milestone_at = `føjede dette til %s milepælen %s`
+issues.add_project_at = `føjede dette til %s - projektet %s`
+issues.change_milestone_at = "ændrede milepælen fra %s til %s %s"
+issues.change_project_at = `modificerede projektet fra %s til %s %s`
+issues.remove_milestone_at = `fjernede dette fra %s milepælen %s`
+issues.remove_project_at = `fjernede dette fra %s -projektet %s`
+issues.deleted_milestone = `(slettet)`
+issues.deleted_project = `(slettet)`
+issues.self_assign_at = `selv tildelt denne %s".
+issues.add_assignee_at = `blev tildelt af %s %s`
+issues.remove_assignee_at = `blev utildelt af %s %s`
+issues.remove_self_assignment = `fjernede deres opgave %s`
+issues.change_title_at = `ændret titel fra %s til %s %s`
+issues.change_ref_at = `ændret reference fra %s til %s %s`
+issues.remove_ref_at = `fjernet reference %s %s`
+issues.add_ref_at = `tilføjet reference %s %s`
+issues.delete_branch_at = `slettet gren %s %s`
+issues.filter_label = Etiket
+issues.filter_label_exclude = `Brug alt
+ klik/enter
for at ekskludere etiketter`
+issues.filter_label_no_select = Alle etiketter
+issues.filter_label_select_no_label = Ingen etiket
+issues.filter_milestone = Milepæl
+issues.filter_milestone_all = Alle milepæle
+issues.filter_milestone_none = Ingen milepæle
+issues.filter_milestone_open = Åbne milepæle
+issues.filter_milestone_closed = Lukkede milepæle
+issues.filter_project = Projekt
+issues.filter_project_all = Alle projekter
+issues.filter_project_none = Intet projekt
+issues.filter_assignee = Tildelte
+issues.filter_assginee_no_select = Alle tildelte
+issues.filter_assginee_no_assignee = Ingen tildelte
+issues.filter_poster = Forfatter
+issues.filter_poster_no_select = Alle forfattere
+issues.filter_type = Type
+issues.filter_type.all_issues = Alle problemer
+issues.filter_type.assigned_to_you = Tildelt til dig
+issues.filter_type.created_by_you = Oprettet af dig
+issues.filter_type.mentioning_you = Nævnte dig
+issues.filter_type.review_requested = Gennemgang anmodet om
+issues.filter_type.reviewed_by_you = Gennemgået af dig
+issues.filter_sort = Sortere
+issues.filter_sort.relevance = Relevans
+issues.filter_sort.latest = Nyeste
+issues.filter_sort.oldest = Ældste
+issues.opened_by_fake = åbnet %[1]s af %[2]s
+issues.closed_by_fake = af %[2]s var lukket %[1]s
+issues.previous = Tidligere
+issues.next = Næste
+issues.open_title = Åben
+issues.closed_title = Lukket
+issues.all_title = Alle
+issues.draft_title = Udkast
+issues.num_comments_1 = %d kommentar
+issues.num_comments = %d kommentarer
+issues.num_reviews_one = %d gennemgang
+issues.num_reviews_few = %d gennemganger
+issues.commented_at = `kommenterede %s `
+issues.delete_comment_confirm = Er du sikker på, at du vil slette denne kommentar?
+issues.reaction.add = Tilføj reaktion
+issues.reaction.alt_few = %[1]s reagerede %[2]s.
+issues.reaction.alt_many = %[1]s og %[2]d mere reagerede %[3]s.
+issues.reaction.alt_remove = Fjern %[1]s reaktion fra kommentar.
+issues.reaction.alt_add = Tilføj %[1]s reaktion til kommentar.
+issues.context.menu = Kommentar menu
+issues.context.copy_link = Kopiér link
+issues.context.quote_reply = Citat svar
+issues.context.reference_issue = Reference i nyt problem
+issues.close_comment_issue = Luk med kommentar
+issues.reopen_issue = Genåben
+issues.reopen_comment_issue = Genåbner med kommentar
+issues.create_comment = Kommentar
+issues.closed_at = `lukkede dette problem %[2]s `
+issues.reopened_at = `genåbnede dette problem %[2]s `
+issues.commit_ref_at = `henviste til dette problem fra en commit %[2]s `
+issues.ref_issue_from = `henviste til dette problem %[4]s %[2 ]s `
+issues.ref_pull_from = `henviste til denne pull-anmodning %[4]s %[ 2]s `
+issues.ref_closing_from = `henviste til dette problem fra en pull-anmodning %[4]s, der vil lukke det , %[2]s `
+issues.ref_reopening_from = `henviste til dette problem fra en pull-anmodning %[4]s, der vil genåbne den , %[2]s `
+issues.ref_closed_from = `lukkede dette problem %[4]s %[2 ]s `
+issues.ref_reopened_from = `genåbnede dette problem %[4]s %[2 ]s `
+issues.ref_from = `fra %[1]s`
+issues.author = Forfatter
+issues.author.tooltip.issue = Denne bruger er forfatteren til dette problem.
+issues.author.tooltip.pr = Denne bruger er forfatteren af denne pull-anmodning.
+issues.role.owner = Ejer
+issues.role.owner_helper = Denne bruger er ejeren af dette depot.
+issues.role.member = Medlem
+issues.role.member_helper = Denne bruger er medlem af den organisation, der ejer dette depot.
+issues.role.collaborator = Samarbejdspartner
+issues.role.collaborator_helper = Denne bruger er blevet inviteret til at samarbejde om depotet.
+issues.role.first_time_contributor = Førstegangs bidragyder
+issues.role.first_time_contributor_helper = Dette er det første bidrag fra denne bruger til depotet.
+issues.role.contributor = Bidragyder
+issues.role.contributor_helper = Denne bruger har tidligere forpligtet sig i dette depot.
+issues.re_request_review = Anmod om gennemgang igen
+issues.is_stale = Der er sket ændringer i denne PR siden denne gennemgang
+issues.remove_request_review = Fjern anmodning om gennemgang
+issues.remove_request_review_block = Anmodningen om gennemgang kan ikke fjernes
+issues.dismiss_review = Afvis gennemgang
+issues.dismiss_review_warning = Er du sikker på, at du vil afvise denne gennemgang?
+issues.sign_in_require_desc = Log ind for at deltage i denne samtale.
+issues.edit = Redigere
+issues.cancel = Annuller
+issues.save = Gem
+issues.label_title = Navn
+issues.label_description = Beskrivelse
+issues.label_color = Farve
+issues.label_exclusive = Eksklusiv
+issues.label_archive = Arkiver etiketten
+issues.label_archived_filter = Vis arkiverede etiketter
+issues.label_archive_tooltip = Arkiverede etiketter udelukkes som standard fra forslagene, når du søger efter etiket.
+issues.label_exclusive_desc = Navngiv etiketten omfang/element
for at gøre den gensidigt udelukkende med andre omfang/
etiketter.
+issues.label_exclusive_warning = Eventuelle modstridende etiketter vil blive fjernet, når etiketterne for et problem eller pull-anmodning redigeres.
+issues.label_count = %d etiketter
+issues.label_open_issues = %d åben problemer/pull-anmodninger
+issues.label_edit = Redigere
+issues.label_delete = Slet
+issues.label_modify = Rediger etiket
+issues.label_deletion = Slet etiket
+issues.label_deletion_desc = Sletning af en etiket fjerner den fra alle problemer. Vil du fortsætte?
+issues.label_deletion_success = Etiketten er blevet slettet.
+
+issues.archived_label_description = (Arkiveret) %s
+issues.label.filter_sort.alphabetically = Alfabetisk
+issues.label.filter_sort.reverse_alphabetically = Omvendt alfabetisk
+issues.label.filter_sort.by_size = Mindste størrelse
+issues.label.filter_sort.reverse_by_size = Største størrelse
+issues.num_participants_one = %d deltager
+issues.num_participants_few = %d deltagere
+issues.attachment.open_tab = `Klik for at se "%s" i en ny fane`
+issues.attachment.download = `Klik for at downloade "%s"`
+issues.subscribe = Abonner
+issues.unsubscribe = Afmeld
+issues.lock_duplicate = Et problem kan ikke låses to gange.
+issues.unlock_error = Kan ikke låse et problem op, der ikke er låst.
+issues.lock_with_reason = låst som %s og begrænset samtale til samarbejdspartnere %s
+issues.lock_no_reason = låst og begrænset samtale til samarbejdspartnere %s
+issues.unlock_comment = låste denne samtale %s op
+issues.lock_confirm = Lås
+issues.unlock_confirm = Lås op
+issues.lock.notice_1 = - Andre brugere kan ikke tilføje nye kommentarer til dette problem.
+
+issues.unpin_issue = Frigør problemet
+issues.max_pinned = Du kan ikke fastgøre flere problemer
+issues.pin_comment = fastgjort dette %s
+issues.unpin_comment = frigjorde dette %s
+issues.lock = Lås samtale
+issues.unlock = Lås samtale op
+issues.lock.unknown_reason = Kan ikke låse et problem med en ukendt årsag.
+issues.lock.notice_2 = - Du og andre samarbejdspartnere med adgang til dette depot kan stadig efterlade kommentarer, som andre kan se.
+issues.lock.notice_3 = - Du kan altid låse op for dette problem igen i fremtiden.
+issues.unlock.notice_1 = - Alle ville kunne udtale sig om dette spørgsmål endnu en gang.
+issues.unlock.notice_2 = - Du kan altid låse dette problem igen i fremtiden.
+issues.lock.reason = Årsag til låsning
+issues.lock.title = Lås samtale om dette problem.
+issues.unlock.title = Lås op for samtale om dette problem.
+issues.comment_on_locked = Du kan ikke kommentere på et låst problem.
+issues.delete = Slet
+issues.delete.title = Slet dette problem?
+issues.delete.text = Vil du virkelig slette dette problem? (Dette fjerner alt indhold permanent. Overvej at lukke det i stedet, hvis du har til hensigt at holde det arkiveret)
+issues.tracker = Tidsregistrering
+issues.start_tracking_short = Start timer
+issues.start_tracking = Start tidsregistrering
+issues.start_tracking_history = `begyndte at arbejde %s`
+issues.tracker_auto_close = Timeren stoppes automatisk, når dette problem lukkes
+issues.tracking_already_started = `Du har allerede startet tidsregistrering på et andet problem !`
+issues.stop_tracking = Stop timer
+issues.stop_tracking_history = "stoppede med at arbejde %s`
+issues.cancel_tracking = Kassér
+issues.cancel_tracking_history = `annulleret tidssporing %s`
+issues.add_time = Tilføj tid manuelt
+issues.del_time = Slet denne tidslog
+issues.add_time_short = Tilføj tid
+issues.add_time_cancel = Annuller
+issues.add_time_history = `tilført brugt tid %s`
+issues.del_time_history = `slettet brugt tid %s`
+issues.add_time_hours = Timer
+issues.add_time_minutes = Minutter
+issues.add_time_sum_to_small = Ingen tid blev indtastet.
+issues.time_spent_total = Samlet tid brugt
+issues.time_spent_from_all_authors = `Samlet tid brugt: %s`
+issues.due_date = Forfaldsdato
+issues.push_commit_1 = tilføjet %d commit %s
+issues.push_commits_n = tilføjet %d commits %s
+issues.force_push_codes = `force-pushed %[1]s fra %[2]s
til %[4]s
%[6]s`
+issues.force_push_compare = Sammenlign
+issues.due_date_form = yyyy-mm-dd
+issues.due_date_form_edit = Redigere
+issues.due_date_form_remove = Slet
+issues.due_date_not_set = Ingen forfaldsdato fastsat.
+issues.due_date_added = tilføjede forfaldsdatoen %s %s
+issues.due_date_modified = ændrede forfaldsdatoen fra %[2]s til %[1]s %[3]s
+issues.due_date_remove = fjernede forfaldsdatoen %s %s
+issues.due_date_overdue = Forfalden
+issues.due_date_invalid = Forfaldsdatoen er ugyldig eller uden for intervallet. Brug venligst formatet "yyyy-mm-dd".
+issues.dependency.title = Afhængigheder
+issues.dependency.issue_no_dependencies = Ingen afhængigheder angivet.
+issues.dependency.pr_no_dependencies = Ingen afhængigheder angivet.
+issues.dependency.no_permission_1 = Du har ikke tilladelse til at læse %d afhængighed
+issues.dependency.no_permission_n = Du har ikke tilladelse til at læse %d afhængigheder
+issues.dependency.no_permission.can_remove = Du har ikke tilladelse til at læse denne afhængighed, men du kan fjerne denne afhængighed
+issues.dependency.add = Tilføj afhængighed…
+issues.dependency.cancel = Annuller
+issues.dependency.remove = Slet
+issues.dependency.remove_info = Fjern denne afhængighed
+issues.dependency.added_dependency = `tilføjede en ny afhængighed %s`
+issues.dependency.removed_dependency = `fjernede en afhængighed %s`
+issues.dependency.pr_closing_blockedby = Lukning af denne pull-anmodning er blokeret af følgende problemer
+issues.dependency.issue_closing_blockedby = Lukning af dette problem er blokeret af følgende problemer
+issues.dependency.issue_close_blocks = Dette problem blokerer for lukning af følgende problemer
+issues.dependency.pr_close_blocks = Denne pull-anmodning blokerer lukning af følgende problemer
+issues.dependency.issue_close_blocked = Du skal lukke alle problemer, der blokerer dette problem, før du kan lukke det.
+issues.dependency.issue_batch_close_blocked = Kan ikke batchlukke valgte problemer, fordi problem #%d stadig har åbne afhængigheder
+issues.dependency.pr_close_blocked = Du skal lukke alle problemer, der blokerer denne pull-anmodning, før du kan flette den.
+issues.dependency.blocks_short = Blockere
+issues.dependency.blocked_by_short = Afhænger af
+issues.dependency.remove_header = Fjern afhængighed
+issues.dependency.issue_remove_text = Dette vil fjerne afhængigheden af dette problem. Vil du fortsætte?
+issues.dependency.pr_remove_text = Dette vil fjerne afhængigheden fra denne pull-anmodning. Vil du fortsætte?
+issues.dependency.setting = Aktiver afhængigheder for problemer og pull-anmodninger
+issues.dependency.add_error_same_issue = Du kan ikke få et problem til at afhænge af sig selv.
+issues.dependency.add_error_dep_issue_not_exist = Afhængigt problem eksisterer ikke.
+issues.dependency.add_error_dep_not_exist = Afhængighed eksisterer ikke.
+issues.dependency.add_error_dep_exists = Afhængighed eksisterer allerede.
+issues.dependency.add_error_cannot_create_circular = Du kan ikke oprette en afhængighed med to problemer, der blokerer hinanden.
+issues.dependency.add_error_dep_not_same_repo = Begge problemer skal være i samme depot.
+issues.review.self.approval = Du kan ikke godkende din egen pull-anmodning.
+issues.review.self.rejection = Du kan ikke anmode om ændringer på din egen pull-anmodning.
+issues.review.approve = godkendte disse ændringer %s
+issues.review.comment = gennemgået %s
+issues.review.dismissed = afviste %s's gennemgang %s
+issues.review.dismissed_label = Afvist
+issues.review.left_comment = efterladt en kommentar
+issues.review.content.empty = Du skal efterlade en kommentar, der angiver de ønskede ændringer.
+issues.review.reject = anmodende ændringer %s
+issues.review.wait = blev anmodet om gennemgang %s
+issues.review.add_review_request = anmodet om gennemgang fra %[1]s %[2]s
+issues.review.add_review_requests = anmodet om gennemgange fra %[1]s %[2]s
+issues.review.remove_review_request = fjernet anmodning om gennemgang for %[1]s %[2]s
+issues.review.remove_review_requests = fjernet anmodning om gennemgange for %[1]s %[2]s
+issues.review.remove_review_request_self = nægtede at gennemgå %s
+issues.review.add_remove_review_requests = anmodede om gennemgang fra %[1]s og fjernede gennemgangsanmodninger for %[2]s %[3]s
+issues.review.pending = Afventer
+issues.review.pending.tooltip = Denne kommentar er i øjeblikket ikke synlig for andre brugere. For at indsende dine afventende kommentarer, vælg "%s" -> "%s/%s/%s" øverst på siden.
+issues.review.review = Gennemgå
+issues.review.reviewers = Gemmengåer
+issues.review.outdated = Forældet
+issues.review.outdated_description = Indholdet er ændret siden denne kommentar blev lavet
+issues.review.option.show_outdated_comments = Vis forældede kommentarer
+issues.review.option.hide_outdated_comments = Skjul forældede kommentarer
+issues.review.show_outdated = Vis forældet
+issues.review.hide_outdated = Skjul forældede
+issues.review.show_resolved = Vis løst
+issues.review.hide_resolved = Skjul løst
+issues.review.resolve_conversation = Løs samtale
+issues.review.un_resolve_conversation = Uafklaret samtale
+issues.review.resolved_by = markerede denne samtale som løst
+issues.reference_issue.body = Body
+issues.content_history.deleted = slettet
+issues.content_history.edited = redigeret
+issues.content_history.created = oprettet
+issues.content_history.delete_from_history = Slet fra historikken
+issues.content_history.delete_from_history_confirm = Slet fra historikken?
+issues.content_history.options = Valgmuligheder
+issues.reference_link = Reference: %s
+issues.blocked_by_user = Du kan ikke oprette et problem på dette depot, fordi du er blokeret af depotes ejer.
+issues.comment.blocked_by_user = Du kan ikke oprette en kommentar til dette problem, fordi du er blokeret af depotes ejer eller anmelder af problemet.
+issues.summary_card_alt = Oversigtskort over et problem med titlen "%s" i depotet %s
+compare.compare_base = base
+compare.compare_head = sammenlign
+pulls.desc = Aktiver pull-anmodninger og kodegennemgange.
+pulls.new = Ny pull anmodning
+pulls.view = Se pull-anmodning
+pulls.edit.already_changed = Kunne ikke gemme ændringer af pull-anmodningen. Det ser ud til, at indholdet allerede er blevet ændret af en anden bruger. Opdater siden, og prøv at redigere igen for at undgå at overskrive deres ændringer
+pulls.compare_changes = Ny pull-anmodning
+pulls.sign_in_require = Log ind for at oprette en ny pull-anmodning.
+pulls.allow_edits_from_maintainers = Tillad redigeringer fra vedligeholdere
+pulls.allow_edits_from_maintainers_desc = Brugere med skriveadgang til basisgrenen kan også trykke til denne gren
+pulls.allow_edits_from_maintainers_err = Opdatering mislykkedes
+pulls.compare_changes_desc = Vælg den gren, der skal flettes ind i, og den gren, der skal trækkes fra.
+pulls.has_viewed_file = Set
+pulls.has_changed_since_last_review = Ændret siden din sidste gennemgang
+pulls.viewed_files_label = %[1]d / %[2]d filer set
+pulls.expand_files = Udvid alle filer
+pulls.collapse_files = Skjul alle filer
+pulls.compare_base = flet ind i
+pulls.compare_compare = pull fra
+pulls.switch_comparison_type = Skift sammenligningstype
+pulls.switch_head_and_base = Skift hoved og base
+pulls.filter_branch = Filter gren
+pulls.no_results = Ingen resultater fundet.
+pulls.show_all_commits = Vis alle commits
+pulls.show_changes_since_your_last_review = Vis ændringer siden din sidste gennemgang
+pulls.showing_only_single_commit = Viser kun ændringer af commit %[1]s
+pulls.showing_specified_commit_range = Viser kun ændringer mellem %[1]s..%[2]s
+pulls.select_commit_hold_shift_for_range = Vælg commit. Hold Shift + klik for at vælge et område
+pulls.review_only_possible_for_full_diff = Gennemgang er kun mulig, når du ser den fulde diff
+pulls.filter_changes_by_commit = Filtrer efter commit
+
+editor.commit_email = Commit email
+pulls.nothing_to_compare = Disse grene er lige store. Der er ingen grund til at oprette en pull-anmodning.
+pulls.nothing_to_compare_have_tag = Den valgte gren/tag er ens.
+pulls.nothing_to_compare_and_allow_empty_pr = Disse grene er lige store. Denne PR vil være tom.
+pulls.has_pull_request = `Der findes allerede en pull-anmodning mellem disse grene: %[2]s#%[3]d `
+pulls.create = Opret pull-anmodning
+pulls.change_target_branch_at = `ændrede målgren fra %s til %s %s`
+pulls.tab_conversation = Samtale
+pulls.tab_commits = Commits
+pulls.tab_files = Filer ændret
+pulls.reopen_to_merge = Genåbn denne pull-anmodning for at udføre en fletning.
+pulls.cant_reopen_deleted_branch = Denne pull-anmodning kan ikke genåbnes, fordi grenen blev slettet.
+pulls.merged = Flettet
+pulls.merged_success = Pull-anmodning blev flettet og lukket
+pulls.closed = Pull-anmodning lukket
+pulls.manually_merged = Manuelt flettet
+pulls.merged_info_text = Grenen %s kan nu slettes.
+pulls.is_closed = Pull-anmodningen er blevet lukket.
+pulls.title_wip_desc = `Start titlen med %s for at forhindre pull-anmodningen i at blive flettet ved et uheld.`
+pulls.cannot_merge_work_in_progress = Denne pull-anmodning er markeret som et igangværende arbejde.
+pulls.still_in_progress = Stadig i gang?
+pulls.add_prefix = Tilføj %s præfiks
+pulls.ready_for_review = Klar til gennemgang?
+pulls.remove_prefix = Fjern %s præfiks
+pulls.data_broken = Denne pull-anmodning er ødelagt på grund af manglende fork-information.
+pulls.files_conflicted = Denne pull-anmodning har ændringer, der er i konflikt med målgrenen.
+pulls.is_checking = Kontrol af fletkonflikt er i gang. Prøv igen om få øjeblikke.
+pulls.is_ancestor = Denne gren er allerede inkluderet i målgrenen. Der er ikke noget at flette sammen.
+pulls.is_empty = Ændringerne på denne gren er allerede på målgrenen. Dette vil være en tom commit.
+pulls.required_status_check_failed = Nogle påkrævede checks lykkedes ikke.
+pulls.required_status_check_missing = Nogle påkrævede checks mangler.
+pulls.required_status_check_administrator = Som administrator kan du stadig flette denne pull-anmodning.
+pulls.blocked_by_approvals = Denne pull-anmodning har endnu ikke nok godkendelser. %d af %d godkendte godkendelser.
+pulls.blocked_by_rejection = Denne pull-anmodning har ændringer anmodet af en officiel anmelder.
+pulls.blocked_by_official_review_requests = Denne pull-anmodning er blokeret, fordi den mangler godkendelse fra en eller flere officielle anmeldere.
+pulls.blocked_by_outdated_branch = Denne pull-anmodning er blokeret, fordi den er forældet.
+pulls.blocked_by_changed_protected_files_1 = Denne pull-anmodning er blokeret, fordi den ændrer en beskyttet fil:
+pulls.blocked_by_changed_protected_files_n = Denne pull-anmodning er blokeret, fordi den ændrer beskyttede filer:
+pulls.can_auto_merge_desc = Denne pull-anmodning kan flettes automatisk.
+
+[notification]
+watching = Overvåger
+
+[action]
+watched_repo = begyndte at overvåge %[2]s
\ No newline at end of file
diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini
index 12c241accc..a67390e75e 100644
--- a/options/locale/locale_de-DE.ini
+++ b/options/locale/locale_de-DE.ini
@@ -683,6 +683,8 @@ To = Branchname
AccessToken = Zugangstoken
+email_domain_is_not_allowed = Die Domain der E-Mail-Adresse des Benutzers %s steht in Konflikt mit EMAIL_DOMAIN_ALLOWLIST oder EMAIL_DOMAIN_BLOCKLIST. Bitte stelle sicher, dass du die E-Mail-Adresse richtig gesetzt hast.
+
[user]
change_avatar=Profilbild ändern …
joined_on=Beigetreten am %s
@@ -749,7 +751,7 @@ webauthn=Hardware-Sicherheitsschlüssel
public_profile=Öffentliches Profil
biography_placeholder=Erzähle anderen ein wenig über dich selbst! (Markdown wird unterstützt)
location_placeholder=Teile deinen ungefähren Standort mit anderen
-profile_desc=Leg fest, wie dein Profil anderen Benutzern angezeigt wird. Deine primäre E-Mail-Adresse wird für Benachrichtigungen, Passwort-Wiederherstellung und webbasierte Git-Operationen verwendet.
+profile_desc=Über dich
password_username_disabled=Benutzer, die nicht von Forgejo verwaltet werden können ihren Benutzernamen nicht ändern. Bitte kontaktiere deinen Administrator für mehr Details.
full_name=Vollständiger Name
website=Webseite
@@ -814,7 +816,7 @@ manage_emails=E-Mail-Adressen verwalten
manage_themes=Standard-Theme
manage_openid=OpenID-Adressen
email_desc=Deine primäre E-Mail-Adresse wird für Benachrichtigungen, Passwort-Wiederherstellung und, sofern sie nicht versteckt ist, web-basierte Git-Operationen verwendet.
-theme_desc=Dies wird dein Standard-Theme auf der Seite sein.
+theme_desc=Dieses Thema wird für die Weboberfläche verwendet, wenn du angemeldet bist.
primary=Primär
activated=Aktiviert
requires_activation=Erfordert Aktivierung
@@ -840,7 +842,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 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.
+keep_email_private_popup=Deine Mailadresse wird nicht in deinem Profil angezeigt und wird nicht der Standard für Commits über das Webinterface sein, wie zum Beispiel Dateiuploads, Bearbeitungen, und Merge-Commits. Stattdessen kann eine besondere Adresse %s benutzt werden, um Commits mit deinem Account zu verbinden. Diese Option wirkt sich nicht auf bestehende Commits aus.
openid_desc=Mit OpenID kannst du dich über einen Drittanbieter authentifizieren.
manage_ssh_keys=SSH-Schlüssel verwalten
@@ -1056,6 +1058,8 @@ language.title = Standardsprache
keep_activity_private.description = Deine öffentliche Aktivität wird nur für dich selbst und die Instanzadminstratoren sichtbar sein.
language.localization_project = Hilf uns, Forgejo in deine Sprache zu übersetzen! Mehr erfahren .
language.description = Diese Sprache wird in deinem Konto gespeichert und standardmäßig nach dem Anmelden benutzt.
+user_block_yourself = Du kannst dich nicht selbst blockieren.
+pronouns_custom_label = Individuelle Pronomen
[repo]
owner=Besitzer
@@ -1097,11 +1101,11 @@ issue_labels=Labels
issue_labels_helper=Wähle eine Label-Sammlung
license=Lizenz
license_helper=Wähle eine Lizenz
-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 Choose a license.
+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 Choose a license .
readme=README
readme_helper=Wähle eine README-Vorlage
readme_helper_desc=Hier kannst du eine komplette Beschreibung für dein Projekt schreiben.
-auto_init=Repository initialisieren (Fügt .gitignore, License und README-Dateien hinzu)
+auto_init=Repository initialisieren
trust_model_helper=Wähle das Vertrauensmodell für die Signaturvalidierung aus. Mögliche Modelle sind:
trust_model_helper_collaborator=Mitarbeiter: Vertraue Signaturen von Mitarbeitern am Projekt
trust_model_helper_committer=Committer: Vertraue Signaturen, die mit ihren Committern übereinstimmen
@@ -1179,8 +1183,8 @@ 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.
archive.title_date=Dieses Repository wurde am %s archiviert. Du kannst Dateien ansehen und es klonen, aber nicht pushen oder Issues/Pull-Requests öffnen.
-archive.issue.nocomment=Dieses Repo ist archiviert. Du kannst Issues nicht kommentieren.
-archive.pull.nocomment=Dieses Repo ist archiviert. Du kannst Pull-Requests nicht kommentieren.
+archive.issue.nocomment=Dieses Repository ist archiviert. Du kannst Issues nicht kommentieren.
+archive.pull.nocomment=Dieses Repository ist archiviert. Du kannst Pull-Requests nicht kommentieren.
form.reach_limit_of_creation_1=Du hast bereits dein Limit von %d Repository erreicht.
form.reach_limit_of_creation_n=Du hast bereits dein Limit von %d Repositorys erreicht.
@@ -1313,6 +1317,8 @@ 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
+stored_annex_not_present = hier nicht vorhanden, versuche git annex whereis
symbolic_link=Softlink
executable_file=Ausführbare Datei
commit_graph=Commit-Graph
@@ -1336,6 +1342,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
@@ -2490,8 +2497,8 @@ settings.archive.text=Durch das Archivieren wird ein Repo vollständig schreibge
settings.archive.success=Das Repo wurde erfolgreich archiviert.
settings.archive.error=Beim Versuch, das Repository zu archivieren, ist ein Fehler aufgetreten. Weitere Details finden sich im Log.
settings.archive.error_ismirror=Du kannst kein gespiegeltes Repo archivieren.
-settings.archive.branchsettings_unavailable=Branch-Einstellungen sind nicht verfügbar wenn das Repo archiviert ist.
-settings.archive.tagsettings_unavailable=Tag Einstellungen sind nicht verfügbar, wenn das Repo archiviert wurde.
+settings.archive.branchsettings_unavailable=Branch-Einstellungen sind nicht verfügbar in archivierten Repos.
+settings.archive.tagsettings_unavailable=Tag-Einstellungen sind nicht verfügbar in archivierten Repos.
settings.unarchive.button=Archivierung zurücksetzen
settings.unarchive.header=Archivierung dieses Repositorys zurücksetzen
settings.unarchive.text=Durch das Aufheben der Archivierung kann das Repo wieder Commits und Pushes sowie neue Issues und Pull-Requests empfangen.
@@ -2690,7 +2697,7 @@ error.csv.too_large=Diese Datei kann nicht gerendert werden, da sie zu groß ist
error.csv.unexpected=Diese Datei kann nicht gerendert werden, da sie ein unerwartetes Zeichen in Zeile %d und Spalte %d enthält.
error.csv.invalid_field_count=Diese Datei kann nicht gerendert werden, da sie eine falsche Anzahl an Feldern in Zeile %d hat.
rss.must_be_on_branch = Du musst auf einem Branch sein, um einen RSS-Feed zu haben.
-new_repo_helper = Ein Repository enthält alle Projektdateien inklusive der Revisionshistorie. Bereits woanders gehostet? Repository migrieren.
+new_repo_helper = Ein Repository enthält alle Projektdateien inklusive der Revisionshistorie. Bereits woanders gehostet? Repository migrieren .
issues.comment.blocked_by_user = Du kannst kein Kommentar für dieses Issue erstellen, weil du vom Repository-Besitzer oder dem Autoren des Issues blockiert wurdest.
clone_in_vscodium = In VSCodium klonen
settings.units.add_more = Mehr aktivieren
@@ -2704,7 +2711,7 @@ settings.add_collaborator_blocked_them = Der Mitarbeiter konnte nicht hinzugefü
settings.wiki_rename_branch_main = Den Wiki-Branch-Namen normalisieren
settings.enter_repo_name = Gib den Besitzer- und den Repository-Namen genau wie angezeigt ein:
settings.wiki_branch_rename_success = Der Branch-Name des Repository-Wikis wurde erfolgreich normalisiert.
-settings.archive.mirrors_unavailable = Spiegel sind nicht verfügbar, wenn das Repo archiviert ist.
+settings.archive.mirrors_unavailable = Spiegel sind nicht verfügbar in archivierten Repos.
pulls.blocked_by_user = Du kannst keinen Pull-Request in diesem Repository erstellen, weil du vom Repository-Besitzer blockiert wurdest.
settings.add_collaborator_blocked_our = Der Mitarbeiter konnte nicht hinzugefügt werden, weil der Repository-Besitzer ihn blockiert hat.
issues.blocked_by_user = Du kannst kein Issue in diesem Repository erstellen, weil du vom Repository-Besitzer blockiert wurdest.
@@ -2851,6 +2858,23 @@ issues.num_reviews_one = %d Review
issues.summary_card_alt = Zusammenfassung eines Issues mit dem Titel „%s“ im Repository %s
issues.num_reviews_few = %d Reviews
editor.add_tmpl.filename = Dateiname
+settings.default_update_style_desc = Standard-Aktualisierungsart um Pull-Requests zu aktualisieren, die hinter dem Base-Branch sind.
+new_advanced = Erweiterte Einstellungen
+new_advanced_expand = Zum Ausklappen klicken
+pulls.sign_in_require = Anmelden , um einen neuen Pull-Request zu erstellen.
+new_from_template = Eine Vorlage benutzen
+new_from_template_description = Du kannst eine existierende Repository-Vorlage auf dieser Instanz benutzen und ihre Einstellungen anwenden.
+auto_init_description = Die Git-Historie mit einer README-Datei und optional einer Lizenz- und .gitignore-Datei starten.
+issues.context.menu = Kommentar Menü
+issues.reaction.add = Reaktion hinzufügen
+issues.reaction.alt_many = %[1]s und %[2]d mehr reagierten %[3]s.
+issues.reaction.alt_few = %[1]s reagierten %[2]s.
+issues.reaction.alt_add = Füge %[1]s Reaktion zum Kommentar hinzu.
+issues.reaction.alt_remove = Entferne %[1]s Reaktion von diesem Kommentar.
+summary_card_alt = Zusammenfassungskarte des Repositorys %s
+release.summary_card_alt = Übersichtskarte eines Releases mit dem Titel „%s“ im Repository %s
+
+editor.commit_email = Commit-E-Mail
[graphs]
component_loading_failed = Konnte %s nicht laden
@@ -3092,7 +3116,7 @@ dashboard.sync_branch.started=Synchronisierung der Branches gestartet
dashboard.rebuild_issue_indexer=Issue-Indexer neu bauen
users.user_manage_panel=Benutzerkonten verwalten
-users.new_account=Benutzerkonto erstellen
+users.new_account=Benutzeraccount erstellen
users.name=Benutzername
users.full_name=Vollständiger Name
users.activated=Aktiviert
@@ -3561,7 +3585,7 @@ comment_pull=`hat den Pull-Request %[3]s#%[2]s kommentiert`
merge_pull_request=`führte Pull-Request %[3]s#%[2]s zusammen`
auto_merge_pull_request=`führte Pull-Request %[3]s#%[2]s automatisch zusammen`
transfer_repo=hat Repository %s
übertragen zu %s
-push_tag=Tag %[3]s nach %[4]s wurde gepusht
+push_tag=hat Tag %[3]s auf %[4]s gepusht
delete_tag=hat Tag %[2]s in %[3]s gelöscht
delete_branch=hat Branch %[2]s in %[3]s gelöscht
compare_branch=Vergleichen
@@ -3686,12 +3710,12 @@ conan.registry=Diese Registry über die Kommandozeile einrichten:
conan.install=Um das Paket mit Conan zu installieren, führe den folgenden Befehl aus:
conda.registry=Richte diese Registry als Conda-Repository in deiner .condarc
-Datei ein:
conda.install=Um das Paket mit Conda zu installieren, führe den folgenden Befehl aus:
-container.details.type=Container-Image Typ
+container.details.type=Abbildtyp
container.details.platform=Plattform
container.pull=Downloade das Container-Image aus der Kommandozeile:
container.digest=Digest
container.multi_arch=Betriebsystem / Architektur
-container.layers=Container-Image Ebenen
+container.layers=Abbildebenen
container.labels=Labels
container.labels.key=Schlüssel
container.labels.value=Wert
@@ -3958,7 +3982,7 @@ package_kind = Pakete suchen …
project_kind = Projekte suchen …
branch_kind = Branches suchen …
commit_kind = Commits suchen …
-runner_kind = Runners suchen …
+runner_kind = Runner 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 = Die Suche mittels Schlüsselwort ist momentan nicht verfügbar. Bitte kontaktiere den Webseitenadministrator.
diff --git a/options/locale/locale_el-GR.ini b/options/locale/locale_el-GR.ini
index a32d616814..2f6d82b8f0 100644
--- a/options/locale/locale_el-GR.ini
+++ b/options/locale/locale_el-GR.ini
@@ -166,6 +166,7 @@ new_org.link = Νέος οργανισμός
new_migrate.title = Νέα μεταφορά
new_repo.title = Νέο repository
new_org.title = Νέος οργανισμός
+copy_path = Αντιγραφή τοποθεσίας
[aria]
navbar=Μπάρα πλοήγησης
@@ -197,8 +198,14 @@ buttons.ref.tooltip=Μνημόνευση ενός θέματος ή pull request
buttons.switch_to_legacy.tooltip=Χρήση του κλασσικού κειμενογράφου
buttons.enable_monospace_font=Ενεργοποίηση σταθερής γραμματοσειράς
buttons.disable_monospace_font=Απενεργοποίηση σταθερής γραμματοσειράς
-buttons.unindent.tooltip = Αναίρεση στοιχείων κατά ένα επίπεδο
-buttons.indent.tooltip = Στοιχεία φωλιών κατά ένα επίπεδο
+buttons.unindent.tooltip = Μείωση εσοχής στοιχείων κατά ένα επίπεδο
+buttons.indent.tooltip = Αύξηση εσοχής στοιχείων κατά ένα επίπεδο
+table_modal.header = Προσθήκη πίνακα
+table_modal.placeholder.header = Επικεφαλίδα
+table_modal.placeholder.content = Περιεχόμενο
+table_modal.label.rows = Σειρές
+table_modal.label.columns = Στήλες
+buttons.new_table.tooltip = Προσθήκη πίνακα
[filter]
string.asc=A - Z
@@ -249,9 +256,9 @@ err_empty_db_path=Η διαδρομή της βάσης δεδομένων SQLit
no_admin_and_disable_registration=Δεν μπορείτε να απενεργοποιήσετε την ιδιο-εγγραφή χρήστη χωρίς να έχετε δημιουργήσει διαχειριστικό λογαριασμό.
err_empty_admin_password=Ο κωδικός πρόσβασης του διαχειριστή δεν μπορεί να είναι κενός.
err_empty_admin_email=Το email του διαχειριστή δεν μπορεί να είναι κενό.
-err_admin_name_is_reserved=Το Όνομα χρήστη του Διαχειριστή δεν είναι έγκυρο, είναι δεσμευμένο
+err_admin_name_is_reserved=Το όνομα χρήστη του Διαχειριστή δεν είναι έγκυρο, αυτό το όνομα είναι δεσμευμένο
err_admin_name_pattern_not_allowed=Το Όνομα χρήστη του Διαχειριστή δεν είναι έγκυρο, ταιριάζει σε μια δεσμευμένη μορφή
-err_admin_name_is_invalid=Το Όνομα Χρήστη του Διαχειριστή δεν είναι έγκυρο
+err_admin_name_is_invalid=Το όνομα χρήστη του Διαχειριστή δεν είναι έγκυρο
general_title=Γενικές ρυθμίσεις
app_name=Τίτλος διακομιστή
@@ -476,6 +483,8 @@ hint_register = Χρειάζεστε έναν λογαριασμό; Αλλαγή ορατότητας .
public_activity.visibility_hint.self_private = Η δραστηριότητά σας είναι ορατή μόνο σε εσάς και στους διαχειριστές. Αλλαγή ορατότητας .
+public_activity.visibility_hint.self_private_profile = Η δραστηριότητά σας είναι ορατή μόνο σε εσάς και τους διαχειριστές του διακομιστή καθώς το προφίλ σας είναι ιδιωτικό Αλλαγή ορατότητας .
[settings]
profile=Προφίλ
@@ -736,9 +746,9 @@ uid=UID
webauthn=Πιστοποίηση δύο παραγόντων (Κλειδιά Ασφαλείας)
public_profile=Δημόσιο προφίλ
-biography_placeholder=Πείτε μας λίγο για τον εαυτό σας! (Μπορείτε να γράψετε με Markdown)
+biography_placeholder=Πείτε λίγα πράγματα για τον εαυτό σας! (Μπορείτε να γράψετε με Markdown)
location_placeholder=Μοιραστείτε την κατά προσέγγιση τοποθεσία σας με άλλους
-profile_desc=Ελέγξτε πώς εμφανίζεται το προφίλ σας σε άλλους χρήστες. Η κύρια διεύθυνση email σας θα χρησιμοποιηθεί για ειδοποιήσεις, ανάκτηση κωδικού πρόσβασης και λειτουργίες Git που βασίζονται στο web.
+profile_desc=Σχετικά με εσάς
password_username_disabled=Οι μη τοπικοί χρήστες δεν επιτρέπεται να αλλάξουν το όνομα χρήστη τους. Επικοινωνήστε με το διαχειριστή σας για περισσότερες λεπτομέρειες.
full_name=Πλήρες όνομα
website=Ιστοσελίδα
@@ -803,7 +813,7 @@ manage_emails=Διαχείριση διευθύνσεων email
manage_themes=Προεπιλεγμένο θέμα
manage_openid=Διευθύνσεις OpenID
email_desc=Η κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου σας θα χρησιμοποιηθεί για ειδοποιήσεις, ανάκτηση του κωδικού πρόσβασης και, εφόσον δεν είναι κρυμμένη, λειτουργίες Git στον ιστότοπο.
-theme_desc=Αυτό θα είναι το προεπιλεγμένο θέμα διεπαφής σας σε όλη την ιστοσελίδα.
+theme_desc=Αυτό θα είναι το προεπιλεγμένο θέμα διεπαφής σας όταν είστε συνδεδεμένοι.
primary=Κύριο
activated=Ενεργό
requires_activation=Απαιτείται ενεργοποίηση
@@ -1038,13 +1048,14 @@ pronouns = Αντωνυμίες
pronouns_custom = κάτι άλλο
pronouns_unspecified = Απροσδιόριστες
hints = Συμβουλές
-additional_repo_units_hint_description = Εμφάνιση κουμπιού «Προσθήκη μονάδων...» σε αποθετήρια που δεν έχουν ενεργοποιημένες όλες τις διαθέσιμες μονάδες.
+additional_repo_units_hint_description = Εμφάνιση υπόδειξης «Προσθήκη μονάδων...» σε αποθετήρια που δεν έχουν ενεργοποιημένες όλες τις διαθέσιμες μονάδες.
update_hints = Ενημέρωση συμβουλών
update_hints_success = Οι συμβουλές ενημερώθηκαν.
language.title = Προεπιλεγμένη γλώσσα
keep_activity_private.description = Η δημόσια δραστηριότητά σας θα είναι ορατή μόνο σε εσάς και στους διαχειριστές.
language.localization_project = Βοηθήστε μας να μεταφράσουμε το Forgejo στην γλώσσα σας! Περισσότερες πληροφορίες .
language.description = Από εδώ και στο εξής, αυτή η γλώσσα θα χρησιμοποιείται από προεπιλογή για τον λογαριασμό σας.
+pronouns_custom_label = Ειδικές αντωνυμίες
[repo]
new_repo_helper=Ένα repository περιέχει όλα τα αρχεία έργου, συμπεριλαμβανομένου του ιστορικού εκδόσεων. Έχετε ήδη ένα που φιλοξενείται κάπου αλλού; Μεταφορά αποθετηρίου.
@@ -1215,7 +1226,7 @@ migrate.migrating_failed_no_addr=Η μεταφορά απέτυχε.
migrate.github.description=Μεταφορά δεδομένων από το github.com ή διακομιστές GitHub Enterprise.
migrate.git.description=Μεταφορά μόνο του αποθετηρίου από μια οποιαδήποτε υπηρεσία Git.
migrate.gitlab.description=Μεταφορά δεδομένων από το gitlab.com ή άλλες εγκαταστάσεις GitLab.
-migrate.gitea.description=Μεταφορά δεδομένων από το gitea.com ή άλλες εγκαταστάσεις Gitea/Forgejo.
+migrate.gitea.description=Μεταφορά δεδομένων από το gitea.com ή άλλες εγκαταστάσεις Gitea.
migrate.gogs.description=Μεταφορά δεδομένων από το notabug.org ή άλλες εγκαταστάσεις Gogs.
migrate.onedev.description=Μεταφορά δεδομένων από το code.onedev.io ή άλλες εγκαταστάσεις OneDev.
migrate.codebase.description=Μεταφορά δεδομένων από το codebasehq.com.
@@ -1303,6 +1314,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=Γράφημα υποβολών
@@ -1326,6 +1338,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=Το αρχείο είναι κλειδωμένο
@@ -1924,7 +1937,7 @@ pulls.cmd_instruction_hint=Προβολή οδηγιών γραμμής εντο
pulls.cmd_instruction_checkout_title=Έλεγχος
pulls.cmd_instruction_checkout_desc=Από το repository του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές.
pulls.cmd_instruction_merge_title=Συγχώνευση
-pulls.cmd_instruction_merge_desc=Συγχώνευση των αλλαγών και ενημέρωση στο Gitea.
+pulls.cmd_instruction_merge_desc=Συγχώνευση των αλλαγών και ενημέρωση στο Forgejo.
pulls.clear_merge_message=Εκκαθάριση μηνύματος συγχώνευσης
pulls.clear_merge_message_hint=Η εκκαθάριση του μηνύματος συγχώνευσης θα αφαιρέσει μόνο το περιεχόμενο του μηνύματος υποβολής και θα διατηρήσει τα παραγόμενα git trailers όπως "Co-Authored-By …".
@@ -2619,7 +2632,7 @@ release.edit_release=Ενημέρωση κυκλοφορίας
release.delete_release=Διαγραφή κυκλοφορίας
release.delete_tag=Διαγραφή ετικέτας
release.deletion=Διαγραφή κυκλοφορίας
-release.deletion_desc=Διαγράφοντας μια κυκλοφορία, αυτή αφαιρείται μόνο από το Gitea. Δε θα επηρεάσει την ετικέτα Git, τα περιεχόμενα του αποθετηρίου σας ή το ιστορικό της. Συνέχεια;
+release.deletion_desc=Διαγράφοντας μια κυκλοφορία, αυτή αφαιρείται μόνο από το Forgejo. Δε θα επηρεάσει την ετικέτα Git, τα περιεχόμενα του αποθετηρίου σας ή το ιστορικό της. Συνέχεια;
release.deletion_success=Η κυκλοφορία έχει διαγραφεί.
release.deletion_tag_desc=Θα διαγράψει αυτή την ετικέτα από το repository. Τα περιεχόμενα του repository και το ιστορικό δεν θα πειραχτούν. Να γίνει συνέχεια;
release.deletion_tag_success=Η ετικέτα έχει διαγραφεί.
@@ -3161,12 +3174,12 @@ packages.size=Μέγεθος
packages.published=Δημοσιευμένα
defaulthooks=Προεπιλεγμένα webhooks
-defaulthooks.desc=Τα Webhooks κάνουν αυτόματα αιτήσεις HTTP POST σε ένα διακομιστή όταν ενεργοποιούν ορισμένα γεγονότα στο Gitea. Τα Webhooks που ορίζονται εδώ είναι προκαθορισμένα και θα αντιγραφούν σε όλα τα νέα αποθετήρια. Διαβάστε περισσότερα στον οδηγό webhooks .
+defaulthooks.desc=Τα Webhooks κάνουν αυτόματα αιτήσεις HTTP POST σε ένα διακομιστή όταν ενεργοποιούν ορισμένα γεγονότα στο Forgejo. Τα Webhooks που ορίζονται εδώ είναι προκαθορισμένα και θα αντιγραφούν σε όλα τα νέα αποθετήρια. Διαβάστε περισσότερα στον οδηγό webhooks .
defaulthooks.add_webhook=Προσθήκη Προεπιλεγμένου Webhook
defaulthooks.update_webhook=Ενημέρωση Προεπιλεγμένου Webhook
systemhooks=Webhooks συστήματος
-systemhooks.desc=Τα Webhooks κάνουν αυτόματα αιτήσεις HTTP POST σε ένα διακομιστή όταν ενεργοποιούνται ορισμένα γεγονότα στο Gitea. Τα Webhooks που ορίζονται εδώ θα ενεργούν σε όλα τα αποθετήρια του συστήματος, γι 'αυτό παρακαλώ εξετάστε τυχόν επιπτώσεις απόδοσης που μπορεί να έχει. Διαβάστε περισσότερα στον οδηγό webhooks .
+systemhooks.desc=Τα Webhooks κάνουν αυτόματα αιτήσεις HTTP POST σε ένα διακομιστή όταν ενεργοποιούνται ορισμένα γεγονότα στο Forgejo. Τα Webhooks που ορίζονται εδώ θα ενεργούν σε όλα τα αποθετήρια του συστήματος, γι 'αυτό παρακαλώ εξετάστε τυχόν επιπτώσεις απόδοσης που μπορεί να έχει. Διαβάστε περισσότερα στον οδηγό webhooks .
systemhooks.add_webhook=Προσθήκη Webhook Συστήματος
systemhooks.update_webhook=Ενημέρωση Webhook Συστήματος
@@ -3929,6 +3942,8 @@ exact = Ακριβής
milestone_kind = Αναζήτηση ορόσημων...
union = Ένωση
union_tooltip = Να συμπεριληφθούν αποτελέσματα που περιέχουν οποιαδήποτε από τις λέξεις που έχουν εισαχθεί και διαχωριστεί με κενό
+regexp = Κανονική Έκφραση
+regexp_tooltip = Ερμηνεία του όρου αναζήτησης ως κανονική έκφραση
[munits.data]
mib = MiB
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 3b413b8f92..db58d50a22 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -644,6 +644,7 @@ team_name_been_taken = The team name is already taken.
team_no_units_error = Allow access to at least one repository section.
email_been_used = The email address is already used.
email_invalid = The email address is invalid.
+email_domain_is_not_allowed = The domain of the user's email address %s conflicts with EMAIL_DOMAIN_ALLOWLIST or EMAIL_DOMAIN_BLOCKLIST. Make sure you have set the email address correctly.
openid_been_used = The OpenID address "%s" is already used.
username_password_incorrect = Username or password is incorrect.
password_complexity = Password does not pass complexity requirements:
@@ -748,13 +749,14 @@ blocked_users = Blocked users
public_profile = Public profile
biography_placeholder = Tell others a little bit about yourself! (Markdown is supported)
location_placeholder = Share your approximate location with others
-profile_desc = Control how your profile is shown to other users. Your primary email address will be used for notifications, password recovery and web-based Git operations.
+profile_desc = About you
password_username_disabled = Non-local users are not allowed to change their username. Please contact your site administrator for more details.
full_name = Full name
website = Website
location = Location
pronouns = Pronouns
pronouns_custom = Custom
+pronouns_custom_label = Custom pronouns
pronouns_unspecified = Unspecified
update_theme = Change theme
update_profile = Update profile
@@ -849,7 +851,7 @@ add_email_success = The new email address has been added.
email_preference_set_success = Email preference has been set successfully.
add_openid_success = The new OpenID address has been added.
keep_email_private = Hide email address
-keep_email_private_popup = This will hide your email address from your profile. It will no longer be the default for commits made via the web interface, like file uploads and edits, and will not be used for merge commits. Instead a special address %s can be used to associate commits with your account. Note that changing this option will not affect existing commits.
+keep_email_private_popup = Your email address will not be shown on your profile and will not be the default for commits made via the web interface, like file uploads, edits, and merge commits. Instead, a special address %s can be used to link commits to your account. This option will not affect existing commits.
openid_desc = OpenID lets you delegate authentication to an external provider.
manage_ssh_keys = Manage SSH keys
@@ -1053,6 +1055,10 @@ admin.failed_to_replace_flags = Failed to replace repository flags
admin.flags_replaced = Repository flags replaced
new_repo_helper = A repository contains all project files, including revision history. Already hosting one elsewhere? Migrate repository .
+new_from_template = Use a template
+new_from_template_description = You can select an existing repository template on this instance and apply its settings.
+new_advanced = Advanced settings
+new_advanced_expand = Click to expand
owner = Owner
owner_helper = Some organizations may not show up in the dropdown due to a maximum repository count limit.
repo_name = Repository name
@@ -1099,7 +1105,8 @@ object_format_helper = Object format of the repository. Cannot be changed later.
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.
-auto_init = Initialize repository (Adds .gitignore, License and README)
+auto_init = Initialize repository
+auto_init_description = Start the Git history with a README and optionally add License and .gitignore files.
create_repo = Create repository
default_branch = Default branch
default_branch_label = default
@@ -1148,6 +1155,7 @@ blame_prior = View blame prior to this change
blame.ignore_revs = Ignoring revisions in .git-blame-ignore-revs . Click here to bypass and see the normal blame view.
blame.ignore_revs.failed = Failed to ignore revisions in .git-blame-ignore-revs .
author_search_tooltip = Shows a maximum of 30 users
+summary_card_alt = Summary card of repository %s
tree_path_not_found_commit = Path %[1]s doesn't exist in commit %[2]s
tree_path_not_found_branch = Path %[1]s doesn't exist in branch %[2]s
@@ -1329,6 +1337,8 @@ 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
+stored_annex_not_present = not present here, try using git annex whereis
symbolic_link = Symbolic link
executable_file = Executable file
vendored = Vendored
@@ -1356,6 +1366,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
@@ -1420,6 +1431,7 @@ editor.user_no_push_to_branch = User cannot push to branch
editor.require_signed_commit = Branch requires a signed commit
editor.cherry_pick = Cherry-pick %s onto:
editor.revert = Revert %s onto:
+editor.commit_email = Commit email
commits.desc = Browse source code change history.
commits.commits = Commits
@@ -1628,6 +1640,12 @@ issues.num_reviews_one = %d review
issues.num_reviews_few = %d reviews
issues.commented_at = `commented %s `
issues.delete_comment_confirm = Are you sure you want to delete this comment?
+issues.reaction.add = Add reaction
+issues.reaction.alt_few = %[1]s reacted %[2]s.
+issues.reaction.alt_many = %[1]s and %[2]d more reacted %[3]s.
+issues.reaction.alt_remove = Remove %[1]s reaction from comment.
+issues.reaction.alt_add = Add %[1]s reaction to comment.
+issues.context.menu = Comment menu
issues.context.copy_link = Copy link
issues.context.quote_reply = Quote reply
issues.context.reference_issue = Reference in a new issue
@@ -1845,6 +1863,7 @@ pulls.new = New pull request
pulls.view = View pull request
pulls.edit.already_changed = Unable to save changes to the pull request. It appears the content has already been changed by another user. Please refresh the page and try editing again to avoid overwriting their changes
pulls.compare_changes = New pull request
+pulls.sign_in_require = Sign in to create a new pull request.
pulls.allow_edits_from_maintainers = Allow edits from maintainers
pulls.allow_edits_from_maintainers_desc = Users with write access to the base branch can also push to this branch
pulls.allow_edits_from_maintainers_err = Updating failed
@@ -2741,6 +2760,7 @@ release.asset_name = Asset name
release.asset_external_url = External URL
release.add_external_asset = Add external asset
release.invalid_external_url = Invalid external URL: "%s"
+release.summary_card_alt = Summary card of an release titled "%s" in repository %s
branch.name = Branch name
branch.already_exists = A branch named "%s" already exists.
@@ -3877,6 +3897,7 @@ variables.deletion.description = Removing a variable is permanent and cannot be
variables.description = Variables will be passed to certain actions and cannot be read otherwise.
variables.id_not_exist = Variable with ID %d does not exist.
variables.edit = Edit Variable
+variables.not_found = Failed to find the variable.
variables.deletion.failed = Failed to remove variable.
variables.deletion.success = The variable has been removed.
variables.creation.failed = Failed to add variable.
diff --git a/options/locale/locale_es-ES.ini b/options/locale/locale_es-ES.ini
index 4f9d141423..839d2d0676 100644
--- a/options/locale/locale_es-ES.ini
+++ b/options/locale/locale_es-ES.ini
@@ -56,7 +56,7 @@ mirror=Réplica
new_repo=Nuevo repositorio
new_migrate=Nueva migración
new_mirror=Nueva réplica
-new_fork=Nuevo fork de repositorio
+new_fork=Nueva bifurcación del repositorio
new_org=Nueva organización
new_project=Nuevo proyecto
new_project_column=Nueva columna
@@ -75,7 +75,7 @@ collaborative=Colaborativo
forks=Forks
activities=Actividades
-pull_requests=Pull requests
+pull_requests=Solicitudes de incorporación de cambios
issues=Incidencias
milestones=Hitos
@@ -156,8 +156,8 @@ invalid_data = Datos inválidos: %v
confirm_delete_artifact = ¿Estás seguro de que deseas eliminar el artefacto "%s"?
more_items = Mas cosas
copy_generic = Copiar al portapapeles
-filter.not_fork = No forks
-filter.is_fork = Forks
+filter.not_fork = No hay bifurcaciones
+filter.is_fork = Bifurcaciones
test = Test
error413 = Has agotado tu cuota.
new_repo.title = Nuevo repositorio
@@ -229,7 +229,7 @@ platform_desc=Se ha confirmado que Forgejo funciona en sistemas operativos libre
lightweight=Ligero
lightweight_desc=Forgejo tiene pocos requisitos y puede funcionar en una Raspberry Pi barata. ¡Ahorra energía!
license=Código abierto
-license_desc=¡Está todo en < Forgejo ! Únase contribuyendo a hacer este proyecto todavía mejor. ¡No sea tímido y colabore!
+license_desc=¡Pasa a conseguir Forgejo ! Únete a nosotros y colabora para mejorar este proyecto. ¡No seas tímido y colabora!
[install]
install=Instalación
@@ -397,8 +397,8 @@ code_search_results=Resultados de búsqueda para «%s»
code_last_indexed_at=Indexado por última vez %s
relevant_repositories_tooltip=Repositorios que son bifurcaciones o que no tienen ningún tema, ningún icono, y ninguna descripción están ocultos.
relevant_repositories=Solo se muestran repositorios relevantes, mostrar resultados sin filtrar .
-forks_few = %d forks
-forks_one = %d fork
+forks_few = %d bifurcaciones
+forks_one = %d bifurcación
stars_few = %d estrellas
stars_one = %d estrella
@@ -746,7 +746,7 @@ webauthn=Autenticación de dos factores (claves de seguridad)
public_profile=Perfil público
biography_placeholder=¡Cuenta a otros un poco sobre ti! (Se admite Markdown)
location_placeholder=Comparte tu ubicación aproximada con otros
-profile_desc=Controla cómo se muestra su perfil a otros usuarios. Tu dirección de correo electrónico principal se utilizará para notificaciones, recuperación de contraseña y operaciones de Git basadas en la web.
+profile_desc=Acerca de ti
password_username_disabled=Usuarios no locales no tienen permitido cambiar su nombre de usuario. Por favor, contacta con el administrador del sistema para más detalles.
full_name=Nombre completo
website=Página web
@@ -811,7 +811,7 @@ manage_emails=Administrar direcciones de correo electrónico
manage_themes=Tema por defecto
manage_openid=Direcciones OpenID
email_desc=Su dirección de correo electrónico principal se utilizará para notificaciones, recuperación de contraseña y, siempre y cuando no esté oculto, operaciones de Git basadas en la web.
-theme_desc=Este será su tema por defecto en todo el sitio.
+theme_desc=Este tema será usado en la interfaz web cuando hayas iniciado sesión.
primary=Principal
activated=Activado
requires_activation=Requiere activación
@@ -837,14 +837,14 @@ add_email_success=La nueva dirección de correo electrónico ha sido añadida.
email_preference_set_success=La preferencia de correo electrónico se ha establecido correctamente.
add_openid_success=La nueva dirección OpenID ha sido añadida.
keep_email_private=Ocultar dirección de correo electrónico
-keep_email_private_popup=Esto ocultará tu dirección de correo electrónico de tu perfil. Ya no será la dirección predeterminada para los commits realizados a través de la interfaz web, como las subidas y ediciones de archivos, y no se utilizará para los commits de fusión. En su lugar, se utilizará una dirección especial %s para asociar los commits a tu cuenta. Ten en cuenta que cambiar esta opción no afectará a los commits existentes.
+keep_email_private_popup=Esto ocultará tu dirección de correo electrónico de tu perfil. Ya no será la dirección predeterminada para los confirmaciones realizadas a través de la interfaz web, como las subidas y ediciones de archivos, y no se utilizará para las confirmaciones de fusión. En su lugar, se utilizará una dirección especial %s para asociar las confirmaciones a tu cuenta. Ten en cuenta que cambiar esta opción no afectará a las confirmaciones existentes.
openid_desc=OpenID le permite delegar la autenticación a un proveedor externo.
manage_ssh_keys=Gestionar claves SSH
manage_ssh_principals=Administrar Principales de Certificado SSH
manage_gpg_keys=Gestionar claves GPG
add_key=Añadir clave
-ssh_desc=Estas claves SSH públicas están asociadas a tu cuenta. Las correspondientes claves privadas permiten el acceso total a tus repositorios. Las claves SSH que han sido verificadas pueden utilizarse para verificar commits de Git firmados por SSH.
+ssh_desc=Estas claves SSH públicas están asociadas a tu cuenta. Las correspondientes claves privadas permiten el acceso total a tus repositorios. Las claves SSH que han sido verificadas pueden utilizarse para verificar confirmaciones de Git firmadas por SSH.
principal_desc=Estos principales de certificado SSH están asociados con su cuenta y permiten el acceso completo a sus repositorios.
gpg_desc=Estas claves GPG públicas están asociadas a tu cuenta y se utilizan para verificar tus commits. Mantén a salvo tus claves privadas, ya que permiten firmar commits con tu identidad.
ssh_helper=¿Necesitas ayuda? Echa un vistazo en la guía de GitHub para crear tus propias claves SSH o resolver problemas comunes que puede encontrar al usar SSH.
@@ -1054,6 +1054,8 @@ keep_activity_private.description = Tu actividad pública solo
language.description = Este idioma se guardará en tu cuenta y se utilizará como predeterminado cuando te conectes.
language.localization_project = ¡Ayúdanos a traducir Forgejo a tu idioma! Más información .
+pronouns_custom_label = Pronombres personalizados
+
[repo]
owner=Propietario
owner_helper=Algunas organizaciones pueden no aparecer en el menú desplegable debido a un límite máximo de recuento de repositorios.
@@ -1068,10 +1070,10 @@ visibility=Visibilidad
visibility_description=Sólo el propietario o los miembros de la organización -si tienen derechos- podrán verlo.
visibility_helper=Hacer el repositorio privado
visibility_helper_forced=El administrador de su sitio obliga a nuevos repositorios a ser privados.
-visibility_fork_helper=(Cambiar esto afectará a la visibilidad de todos los forks.)
+visibility_fork_helper=(Cambiar esto afectará a la visibilidad de todas las bifurcaciones.)
clone_helper=¿Necesita ayuda para clonar? Visite Ayuda .
-fork_repo=Hacer fork del repositorio
-fork_from=Crear un fork desde
+fork_repo=Hacer una bifurcación del repositorio
+fork_from=Crear una bifurcación desde
already_forked=Ya ha forkeado %s
fork_to_different_account=Forkear a una cuenta diferente
fork_visibility_helper=La visibilidad de un repositorio del cual se ha hecho fork no puede ser cambiada.
@@ -1094,11 +1096,11 @@ issue_labels=Etiquetas
issue_labels_helper=Selecciona un conjunto de etiquetas
license=Licencia
license_helper=Selecciona un archivo de licencia
-license_helper_desc=Una licencia regula lo que otros pueden y no pueden hacer con tu código. ¿No está seguro de cuál es el adecuado para su proyecto? Vea Elija una licencia.
+license_helper_desc=Una licencia regula lo que otros pueden y no pueden hacer con tu código. ¿No está seguro de cuál es el adecuado para su proyecto? Vea Elija una licencia .
readme=LÉAME
readme_helper=Selecciona una plantilla de archivo README
readme_helper_desc=Este es el lugar donde puedes escribir una descripción completa de su proyecto.
-auto_init=Inicializar el repositorio (añade .gitignore, licencia y README)
+auto_init=Inicializar el repositorio
trust_model_helper=Seleccionar modelo de confianza para la verificación de la firma. Las opciones posibles son:
trust_model_helper_collaborator=Colaborador: Confiar en firmas de colaboradores
trust_model_helper_committer=Comitter: Firmas de confianza que coinciden con los committers
@@ -1222,7 +1224,7 @@ migrate.migrating_failed_no_addr=Migración fallida.
migrate.github.description=Migrar datos desde github.com o un servidor GitHub Enterprise.
migrate.git.description=Migrar un repositorio sólo desde cualquier servicio Git.
migrate.gitlab.description=Migrar datos de gitlab.com u otra instancia de GitLab.
-migrate.gitea.description=Migrar datos de gitea.com u otra instancia de Gitea/Forgejo.
+migrate.gitea.description=Migrar datos de gitea.com u otra instancia de Gitea.
migrate.gogs.description=Migrar datos de notabug.org u otra instancia de Gogs.
migrate.onedev.description=Migrar datos desde code.onedev.io u otra instancia de OneDev.
migrate.codebase.description=Migrar datos desde codebasehq.com.
@@ -1233,7 +1235,7 @@ migrate.migrating_milestones=Migrando hitos
migrate.migrating_labels=Migrando etiquetas
migrate.migrating_releases=Migrando lanzamientos
migrate.migrating_issues=Migrando incidencias
-migrate.migrating_pulls=Migrando pull requests
+migrate.migrating_pulls=Migrando solicitudes de incorporación de cambios
migrate.cancel_migrating_title=Cancelar la migración
migrate.cancel_migrating_confirm=¿Quiere cancelar esta migración?
@@ -1310,6 +1312,7 @@ view_git_blame=Ver Git blame
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
@@ -1333,6 +1336,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
@@ -1859,7 +1863,7 @@ pulls.add_prefix=Añadir prefijo %s
pulls.remove_prefix=Eliminar prefijo %s
pulls.data_broken=Este pull request está rota debido a que falta información del fork.
pulls.files_conflicted=Este pull request tiene cambios en conflicto con la rama de destino.
-pulls.is_checking=La comprobación de conflicto de fusión está en progreso. Inténtalo de nuevo en unos momentos.
+pulls.is_checking=La comprobación de conflicto de fusión está en progreso. Inténtelo de nuevo en unos momentos.
pulls.is_ancestor=Esta rama ya está incluida en la rama de destino. No hay nada que fusionar.
pulls.is_empty=Los cambios en esta rama ya están en la rama de destino. Esto será un commit vacío.
pulls.required_status_check_failed=Algunos controles requeridos no han tenido éxito.
@@ -2039,8 +2043,8 @@ activity.opened_prs_count_1=Pull request propuesta
activity.opened_prs_count_n=Pull requests propuestas
activity.title.user_1=%d usuario
activity.title.user_n=%d usuarios
-activity.title.prs_1=%d pull request
-activity.title.prs_n=%d pull requests
+activity.title.prs_1=%d solicitud de incorporación de cambios
+activity.title.prs_n=%d solicitudes de incorporación de cambios
activity.title.prs_merged_by=%s fusionado por %s
activity.title.prs_opened_by=%s propuesto por %s
activity.merged_prs_label=Fusionado
@@ -2087,7 +2091,7 @@ activity.git_stats_and_deletions=y
activity.git_stats_deletion_1=%d eliminación
activity.git_stats_deletion_n=%d eliminaciones
-contributors.contribution_type.commits=Commits
+contributors.contribution_type.commits=Confirmaciones
search=Buscar
search.search_repo=Buscar repositorio
@@ -2331,7 +2335,7 @@ settings.event_pull_request_desc=Pull request abierto, cerrado, reabierto o edit
settings.event_pull_request_assign=Asignación
settings.event_pull_request_assign_desc=Pull Request asignado o no asignado.
settings.event_pull_request_label=Etiquetas
-settings.event_pull_request_label_desc=Etiqueta de pull request actualizada o borrada.
+settings.event_pull_request_label_desc=Etiquetas de pull request actualizadas o borradas.
settings.event_pull_request_milestone=Hitos
settings.event_pull_request_milestone_desc=Hitos añadidos, eliminados o modificados.
settings.event_pull_request_comment=Comentarios
@@ -2436,7 +2440,7 @@ settings.protect_approvals_whitelist_users=Lista blanca de usuarios revisores
settings.protect_approvals_whitelist_teams=Lista blanca de equipos revisores
settings.dismiss_stale_approvals=Descartar aprobaciones obsoletas
settings.dismiss_stale_approvals_desc=Cuando los nuevos commits que cambien el contenido de la pull request sean empujados a la rama, se descartarán las aprobaciones antiguas.
-settings.require_signed_commits=Exigir commits firmados
+settings.require_signed_commits=Exigir confirmaciones firmadas
settings.require_signed_commits_desc=Rechazar push en esta rama si los commits no están firmados o no son verificables.
settings.protect_branch_name_pattern=Patrón de nombre de ramas protegidas
settings.protect_patterns=Patrones
@@ -2464,7 +2468,7 @@ settings.choose_branch=Elija una rama…
settings.no_protected_branch=No hay ramas protegidas.
settings.edit_protected_branch=Editar
settings.protected_branch_required_rule_name=Nombre de regla requerido
-settings.protected_branch_duplicate_rule_name=Nombre de regla duplicado
+settings.protected_branch_duplicate_rule_name=Ya hay una regla para este conjunto de ramas
settings.protected_branch_required_approvals_min=Las aprobaciones necesarias no pueden ser negativas.
settings.tags=Etiquetas
settings.tags.protection=Protección de etiquetas
@@ -2488,11 +2492,11 @@ settings.archive.text=Archivar el repositorio lo hará de sólo lectura. Se ocul
settings.archive.success=El repositorio ha sido archivado exitosamente.
settings.archive.error=Ha ocurrido un error al intentar archivar el repositorio. Vea el registro para más detalles.
settings.archive.error_ismirror=No puede archivar un repositorio replicado.
-settings.archive.branchsettings_unavailable=Los ajustes de rama no están disponibles si el repositorio está archivado.
+settings.archive.branchsettings_unavailable=Los ajustes de rama no están disponibles en repositorios archivados.
settings.archive.tagsettings_unavailable=Los ajustes de las etiquetas no están disponibles si el repositorio está archivado.
settings.unarchive.button=Desarchivar repositorio
settings.unarchive.header=Desarchivar este repositorio
-settings.unarchive.text=La desarchivación del repositorio restablecerá su capacidad de recibir commits y pushes, así como nuevas incidencias y pull requests.
+settings.unarchive.text=La desarchivación del repositorio restablecerá su capacidad de recibir confirmaciones y subidos, así como nuevas incidencias y solicitudes de incorporación de cambios.
settings.unarchive.success=El repositorio se ha desarchivado correctamente.
settings.unarchive.error=Ocurrió un error mientras se trataba de des-archivar el repositorio. Revisa el registro para más detalles.
settings.update_avatar_success=El avatar del repositorio ha sido actualizado.
@@ -2563,7 +2567,7 @@ diff.generated=generado
diff.vendored=vendido
diff.comment.add_line_comment=Añadir comentario en línea
diff.comment.placeholder=Deja un comentario
-diff.comment.markdown_info=Es posible estilizar con markdown.
+diff.comment.markdown_info=Es posible dar estilos con Markdown.
diff.comment.add_single_comment=Añadir solo comentario
diff.comment.add_review_comment=Añadir comentario
diff.comment.start_review=Comenzar revisión
@@ -2718,7 +2722,7 @@ size_format = %[1]s: %[2]s, %[3]s: %[4]s
admin.update_flags = Actualizar indicadores
admin.flags_replaced = Indicadores del repositorio sustituidos
admin.failed_to_replace_flags = Fallo al substituir los indicadores del repositorio
-new_repo_helper = Un repositorio contiene todos los archivos del proyecto, incluido el historial de revisiones. ¿Ya tienes uno en otro sitio? Migrar repositorio.
+new_repo_helper = Un repositorio contiene todos los archivos del proyecto, incluido el historial de revisiones. ¿Ya tienes uno en otro sitio? Migrar repositorio .
object_format_helper = Formato de objeto del repositorio. No puede ser modificado más tarde. SHA1 es el más compatible.
commits.browse_further = Seguir explorando
subscribe.issue.guest.tooltip = Inicia sesión para suscribirte a esta incidencia.
@@ -2796,7 +2800,7 @@ settings.confirmation_string = Cadena de confirmación
issues.filter_sort.relevance = Relevancia
settings.transfer_quota_exceeded = El nuevo propietario (%s) ha sobrepasado la cuota. El repositorio no ha sido transferido.
settings.web_hook_name_sourcehut_builds = Builds de SourceHut
-settings.wiki_rename_branch_main_notices_2 =
+settings.wiki_rename_branch_main_notices_2 =Se va a renombrar de forma permanente la rama interna de la wiki del repositorio %s. Se actualizaran los checkouts existentes.
settings.wiki_rename_branch_main = Normalizar el nombre de la rama de la wiki
settings.wiki_rename_branch_main_desc = Renombrar la rama interna usada por la wiki a "%s". Este cambio es permanente y no se puede deshacer.
settings.confirm_wiki_branch_rename = Renombrar la rama de la wiki
@@ -2813,7 +2817,32 @@ release.download_count_one = %s descarga
diff.git-notes.add = Añadir nota
diff.git-notes.remove-header = Eliminar nota
release.download_count_few = %s descargas
-diff.git-notes.remove-body = Esta nota se eliminará.
+diff.git-notes.remove-body = Esta nota será eliminada.
+
+new_from_template = Usa una plantilla
+new_from_template_description = Puedes seleccionar una plantilla de repositorio ya existente en esta instancia y aplicar sus ajustes.
+new_advanced = Ajustes avanzados
+new_advanced_expand = Click para expandir
+auto_init_description = Empieza el historial Git con un README y opcionalmente añade una Licencia y archivos .gitignore.
+editor.add_tmpl.filename = nombre de fichero
+issues.num_reviews_one = %d revisión
+issues.num_reviews_few = %d revisiones
+issues.reaction.add = Añadir reacción
+issues.reaction.alt_remove = Quitar %[1]s reacción de comentario.
+issues.reaction.alt_add = Añadir %[1]s reacción al comentario.
+issues.review.add_review_requests = solicitada revisiones de %[1]s %[2]s
+issues.review.remove_review_requests = eliminada la solicitud de revisiones para %[1]s %[2]s
+
+editor.commit_email = Correo electrónico del commit
+issues.context.menu = Menú de comentarios
+issues.review.add_remove_review_requests = Revisiones solicitadas de %[1]s y revisiones eliminadas para %[2]s %[3]s
+pulls.sign_in_require = Inicia sesión para crear un nuevo pull request.
+pulls.cmd_instruction_checkout_title = Cambiar rama
+settings.protect_new_rule = Crear una nueva regla de protección de rama
+settings.enforce_on_admins_desc = Los administradores del repositorio no pueden saltarse esta regla.
+release.type_external_asset = Recurso externo
+release.asset_name = Nombre del recurso
+release.add_external_asset = Añadir un recurso externo
[graphs]
component_loading = Cargando %s...
@@ -2822,6 +2851,9 @@ contributors.what = contribuciones
recent_commits.what = commits recientes
code_frequency.what = frecuencia de código
+component_loading_info = Esto puede tomar un tiempo…
+component_failed_to_load = Ocurrió un error inesperado.
+
[org]
org_name_holder=Nombre de la organización
org_full_name_holder=Nombre completo de la organización
@@ -2947,6 +2979,8 @@ teams.invite.by=Invitado por %s
teams.invite.description=Por favor, haga clic en el botón de abajo para unirse al equipo.
follow_blocked_user = No puedes seguir a esta organización porque esta organización te ha bloqueado.
+open_dashboard = Abrir panel de control
+
[admin]
dashboard=Panel de control
identity_access=Identidad y acceso
@@ -3474,6 +3508,20 @@ notices.op=Operación
notices.delete_success=Los avisos del sistema se han eliminado.
+config_summary = Resumen
+config_settings = Ajustes
+users.activated.description = Finalización de la verificación del correo electrónico. El propietario de una cuenta sin activar no podrá iniciar sesión hasta que la verificación se complete.
+users.organization_creation.description = Permitir la creación de nuevas organizaciones.
+emails.change_email_text = ¿Estás seguro que quieres actualizar esta dirección de correo electrónico?
+emails.delete = Eliminar correo electrónico
+emails.delete_desc = ¿Estás seguro que quieres eliminar esta dirección de correo electrónico?
+emails.deletion_success = El correo electrónico ha sido eliminado.
+emails.delete_primary_email_error = No puedes eliminar el correo electrónico principal.
+auths.tips.gmail_settings = Ajustes de Gmail:
+auths.tip.gitlab_new = Registrar una nueva aplicación en %s
+config.cache_test = Caché de prueba
+self_check.no_problem_found = Aún no se encontró un problema.
+
[action]
create_repo=creó el repositorio %s
rename_repo=repositorio renombrado de %[1]s
a %[3]s
@@ -3617,7 +3665,7 @@ conda.install=Para instalar el paquete usando Conda, ejecute el siguiente comand
container.details.type=Tipo de imagen
container.details.platform=Plataforma
container.pull=Arrastra la imagen desde la línea de comandos:
-container.digest=Resumen:
+container.digest=Resumen
container.multi_arch=SO / Arquitectura
container.layers=Capas de imagen
container.labels=Etiquetas
@@ -3714,6 +3762,19 @@ owner.settings.chef.title=Registro de Chef
owner.settings.chef.keypair=Generar par de claves
owner.settings.chef.keypair.description=Un par de claves es necesario para autenticarse en el registro del Chef. Si ha generado un par de claves antes, generar un nuevo par de claves descartará el par de claves antiguo.
+arch.pacman.repo.multi = %s tiene la misma versión en diferentes distribuciones.
+arch.pacman.repo.multi.item = Configuración para %s
+arch.pacman.conf = Añadir servidor con distribución y arquitectura relacionadas a /etc/pacman.conf
:
+arch.pacman.sync = Sincronizar el paquete con pacman:
+arch.version.properties = Propiedades de la versión
+arch.version.groups = Grupo
+arch.version.depends = Depende
+arch.version.conflicts = Conflictos
+arch.version.replaces = Reemplazos
+arch.version.backup = Copia de seguridad
+container.images.title = Imágenes
+rpm.repository.multiple_groups = Este paquete está disponible en múltiples grupos.
+
[secrets]
secrets=Secretos
description=Los secretos pasarán a ciertas acciones y no se podrán leer de otro modo.
@@ -3732,7 +3793,7 @@ management=Gestión de secretos
[actions]
actions=Acciones
-unit.desc=Gestionar acciones
+unit.desc=Gestione procesos CI/CD integrados con Forgejo Actions.
status.unknown=Desconocido
status.waiting=Esperando
@@ -3816,6 +3877,9 @@ variables.update.failed=Error al editar la variable.
variables.update.success=La variable ha sido editada.
variables.id_not_exist = Variable con id %d no existe.
+runs.empty_commit_message = (mensaje de commit vacío)
+runs.expire_log_message = Los registros han sido eliminados porque eran demasiado antiguos.
+
[projects]
type-1.display_name=Proyecto individual
type-2.display_name=Proyecto repositorio
@@ -3837,7 +3901,7 @@ search = Buscar...
type_tooltip = Tipo de búsqueda
project_kind = Buscar proyectos...
branch_kind = Buscar ramas...
-commit_kind = Buscar commits...
+commit_kind = Buscar confirmaciones...
repo_kind = Buscar repositorios...
user_kind = Buscar usuarios...
org_kind = Buscar organizaciones...
@@ -3860,6 +3924,8 @@ fuzzy = Difusa
runner_kind = Buscar ejecutores…
regexp_tooltip = Interpretar los términos de búsqueda como una expresión regular
+regexp = Expresión Regular
+
[markup]
filepreview.lines = Líneas %[1]d a %[2]d en %[3]s
filepreview.line = Línea %[1]d en %[2]s
@@ -3870,7 +3936,7 @@ releases.write = Write: Publicar, editar y eliminar lanzamientos y sus ar
packages.read = Lectura: Ver y descargar paquetes asignados al repositorio.
wiki.read = Lectura: Leer la wiki integrada y su historial.
issues.read = Lectura: Leer y crear incidencias y comentarios.
-pulls.write = Escritura: Cerrar pull requests y gestionar metadatos como etiquetas, hitos, asignaciones, fechas de vencimiento y dependencias.
+pulls.write = Escritura: Cerrar solicitudes de incorporación de cambios y gestionar metadatos como etiquetas, hitos, asignaciones, fechas de vencimiento y dependencias.
releases.read = Lectura: Ver y descagar lanzamientos.
wiki.write = Escritura: Crear, actualizar y eliminar páginas en la wiki integrada.
projects.read = Lectura: Acceso a las tablas de proyecto del repositorio.
diff --git a/options/locale/locale_fa-IR.ini b/options/locale/locale_fa-IR.ini
index 8960be8bf4..01d931b1ac 100644
--- a/options/locale/locale_fa-IR.ini
+++ b/options/locale/locale_fa-IR.ini
@@ -881,7 +881,7 @@ migrate.migrating_failed=مهاجرت از %s ناموفق بود.
migrate.migrating_failed_no_addr=مهاجرت ناموفق بود.
migrate.git.description=کوچ یک مخزن فقط از یک سرویس Git.
migrate.gitlab.description=مهاجرت داده از gitlabb.com یا پیادهسازیهای دیگر GitLab.
-migrate.gitea.description=مهاجرت داده از gitea.com یا پیادهسازیهای دیگر Gitea/Forgejo.
+migrate.gitea.description=مهاجرت داده از gitea.com یا پیادهسازیهای دیگر Gitea.
migrate.gogs.description=مهاجرت داده از notabug.com یا پیادهسازیهای دیگر Gogs.
migrate.onedev.description=مهاجرت داده از code.onedev.io یا پیادهسازیهای دیگر OneDev.
migrate.codebase.description=مهاجر داده ها از codebasehq.com.
@@ -951,6 +951,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=انتخاب برنچها
@@ -968,6 +969,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=پرونده قفل شده است
@@ -2291,7 +2293,7 @@ auths.bind_password=اتصال گذرواژه
auths.user_base=پایگاه جستجوی کاربر
auths.user_dn=کاربر DN
auths.attribute_username=ویژگی نام کاربری
-auths.attribute_username_placeholder=نام کاربری را خالی بگذارید برای انتخاب نام کاربری gitea انتخاب شود.
+auths.attribute_username_placeholder=نام کاربری را خالی بگذارید برای انتخاب نام کاربری Forgejo انتخاب شود.
auths.attribute_name=ویژگی نام
auths.attribute_surname=ویژگی نام خانوادگی
auths.attribute_mail=ویژگی ایمیل
diff --git a/options/locale/locale_fi-FI.ini b/options/locale/locale_fi-FI.ini
index b3864d4e83..1a98459321 100644
--- a/options/locale/locale_fi-FI.ini
+++ b/options/locale/locale_fi-FI.ini
@@ -119,7 +119,7 @@ new_project_column = Uusi sarake
retry = Yritä uudelleen
copy_type_unsupported = Tätä tiedostotyyppiä ei voi kopioida
locked = Lukittu
-filter = Suodatin
+filter = Suodata
filter.is_archived = Arkistoitu
filter.not_archived = Ei arkistoitu
filter.public = Julkinen
@@ -167,6 +167,8 @@ filter.not_template = Ei mallipohjat
filter.not_mirror = Ei peilattu
copy_path = Kopioi polku
+concept_user_individual = Yksittäinen
+
[aria]
footer.links = Linkit
navbar = Navigaatiopalkki
@@ -205,6 +207,8 @@ table_modal.placeholder.content = Sisältö
table_modal.label.rows = Rivit
table_modal.label.columns = Sarakkeet
+buttons.unindent.tooltip = Vähennä sisennystä yhden tason verran
+
[filter]
string.asc = A - Ö
string.desc = Ö - A
@@ -231,7 +235,7 @@ install_desc = Suorita alustallesi suunnattu ohjeet ennen minkään asetuksen muuttamista.
require_db_desc=Forgejo tarvitsee toimiakseen MySQL-, PostgreSQL-, SQLite3- tai TiDB- (MySQL-protokolla) tietokannan.
db_title=Tietokannan asetukset
@@ -292,7 +296,7 @@ disable_gravatar.description=Poista Gravatar ja kolmannen osapuolen avaratir kä
federated_avatar_lookup=Käytä federoituja profiilikuvia
federated_avatar_lookup.description=Käytä Libravatar-palvelua profiilikuvien hakemiseen.
disable_registration=Poista omatoiminen rekisteröityminen käytöstä
-disable_registration.description=Poista käyttäjän itse-rekisteröinti, vain ylläpito voi luoda tilejä.
+disable_registration.description=Vain järjestelmänvalvojat voivat luoda uusia käyttäjiä. On suositeltavaa pitää rekisteröinti suljettuna mikäli kyseessä ei ole julkinen instanssi jota varten tarvitsee hallinnoida suuria määriä roskapostikäyttäjiä.
allow_only_external_registration.description=Käyttäjät voivat luoda uusia käyttäjiä vain erikseen konfiguroituja ulkoisia palveluja käyttäen.
openid_signin=Ota OpenID-kirjautuminen käyttöön
openid_signin.description=Salli OpenID:n kautta kirjautuminen.
@@ -319,7 +323,7 @@ default_keep_email_private=Piilota sähköpostiosoitteet oletuksena
default_keep_email_private.description=Piilota oletusarvoisesti uusien käyttäjätilien sähköpostiosoitteet estääksesi tietojen vuotamisen rekisteröinnin yhteydessä.
default_enable_timetracking=Ota ajanseuranta oletusarvoisesti käyttöön
default_enable_timetracking.description=Salli uusien repositorioiden aikaseurannan käyttöönotto oletusarvoisesti.
-no_reply_address=Piilotettu sähköpostin verkkotunnus
+no_reply_address=Piilotetun sähköpostin verkkotunnus
no_reply_address_helper=Verkkotunnuksen nimi käyttäjille, joilla on piilotettu sähköpostiosoite. Esimerkiksi käyttäjätunnus 'joe' kirjataan Git-palveluun nimellä 'joe@noreply.example.org' jos piilotetun sähköpostiosoitteen arvoksi on asetettu 'noreply.example.org'.
password_algorithm=Salasanan hajautusalgoritmi
enable_update_checker_helper_forgejo = Se tarkistaa tietyin väliajoin uusia Forgejo-versioita tutkimalla sen TXT DNS record -tietoja osoitteesta release.forgejo.org .
@@ -346,6 +350,8 @@ app_slogan_helper = Syötä instanssin tunnuslause tähän. Jätä tyhjäksi poi
domain_helper = Palvelimen verkkotunnus tai isäntänimi.
smtp_from_invalid = "Lähetä sähköpostit osoitteella"-osoite on virheellinen
+err_admin_name_pattern_not_allowed = Ylläpitäjän käyttäjätunnus on virheellinen, se vastaa varattua kaaviota
+
[home]
uname_holder=Käyttäjätunnus tai sähköpostiosoite
password_holder=Salasana
@@ -461,6 +467,19 @@ change_unconfirmed_email = Jos annoit väärän sähköpostiosoitteen rekisterö
invalid_code_forgot_password = Vahvistuskoodisi on virheellinen tai vanhentunut. Napsauta tästä aloittaaksesi uuden istunnon.
openid_signin_desc = Kirjoita OpenID-URI:si. Esimerkki: alice.openid.example.org tai https://openid.example.org/alice.
change_unconfirmed_email_summary = Vaihda sähköpostiosoite, johon aktivointisähköposti lähetetään.
+reset_password_wrong_user = Olet kirjautuneena tilillä %s, mutta tilin palautuslinkki on tarkoitettu tilille %s
+last_admin = Et voi poistaa viimeistä ylläpitäjää. Ylläpitäjiä tulee olla vähintään yksi.
+password_pwned = Valitsemasi salasana on varastettujen salasanojen listalla , eli se on paljastanut jossain julkisessa tietovuodossa. Kokeile asettaa eri salasana, ja jos käytät samaa salasanaa muissa palveluissa, vaihda kyseinen salasana.
+
+use_onetime_code = Käytä kertakäyttöiskoodia
+
+unauthorized_credentials = Kirjautumistiedot ovat virheelliset tai vanhentuneet. Yritä suorittaa komento uudelleen tai katso %s saadaksesi lisätietoja
+oauth.signin.error = Valtuuspyynnön käsittelyssä tapahtui virhe. Jos virhe toistuu, ota yhteys sivuston ylläpitoon.
+oauth.signin.error.temporarily_unavailable = Valtuus epäonnistui, koska todennuspalvelin ei ole tällä hetkellä käytettävissä. Yritä uudelleen myöhemmin.
+disable_forgot_password_mail = Tilin palautus ei ole käytössä, koska sähköpostia ei ole määritetty. Ota yhteys sivuston ylläpitoon.
+disable_forgot_password_mail_admin = Tilin palautus on käytössä vain, jos sähköposti on määritetty. Aseta sähköposti, jotta tilin palauttaminen on mahdollista ottaa käyttöön.
+authorization_failed_desc = Valtuus epäonnistui, koska havaitsimme virheellisen pyynnön. Ota yhteys sen sovelluksen ylläpitäjään, jota yritit valtuuttaa.
+password_pwned_err = Pyyntöä HaveIBeenPwned-palveluun ei voitu suorittaa
[mail]
view_it_on=Näytä %s
@@ -514,9 +533,18 @@ account_security_caution.text_1 = Jos se olit sinä, voit jättää tämän vies
issue.action.approve = @%[1]s hyväksyi tämän vetopyynnön.
issue.action.review = @%[1]s kommentoi tätä vetopyyntöä.
issue.action.ready_for_review = @%[1]s merkitsi tämän vetopyynnön valmiiksi katselmointia varten.
+totp_disabled.text_1 = Tilisi aikapohjainen kertakäyttösalasana (TOTP) poistettiin käytöstä.
+issue.action.close = @%[1]s sulki ongelman #%[2]d.
+issue.action.reopen = @%[1]s avasi uudelleen ongelman #%[2]d.
+admin.new_user.text = Napsauta tästä hallitaksesi tätä käyttäjää ylläpitonäkymästä.
+repo.collaborator.added.text = Sinut on lisätty avustajaksi repoon:
+
+primary_mail_change.text_1 = Tilisi ensisijaiseksi sähköpostiosoitteeksi asetettiin %[1]s. Se tarkoittaa, että tämä sähköpostiosoite ei enää vastaanota tilisi ilmoituksia sähköpostitse.
+team_invite.text_1 = %[1]s on kutsunut sinut liittymään tiimiin %[2]s organisaatiossa %[3]s.
+
[modal]
yes=Kyllä
no=Ei
@@ -629,8 +657,13 @@ following_one = %d seurataan
block_user.detail = Huomaa, että käyttäjän estämisellä on muita vaikutuksia, kuten:
show_on_map = Näytä paikka kartalla
form.name_chars_not_allowed = Käyttäjätunnus "%s" sisältää virheellisiä merkkejä.
+follow_blocked_user = Et voi seurata tätä käyttäjää, koska olet estänyt kyseisen käyttäjän tai kyseinen käyttäjä on estänyt sinut.
+disabled_public_activity = Käyttäjä on poistanut käytöstä toiminnan julkisen näkyvyyden.
+form.name_reserved = Käyttäjätunnus "%s" on varattu.
+form.name_pattern_not_allowed = Kaava "%s" ei ole sallittu käyttäjätunnuksessa.
+
[settings]
profile=Profiili
account=Tili
@@ -684,7 +717,7 @@ keep_activity_private_popup=Tekee toiminnon näkyvän vain sinulle ja ylläpitä
lookup_avatar_by_mail=Hae profiilikuva sähköpostin perusteella
federated_avatar_lookup=Ulkopuolinen profiilikuvan haku
-enable_custom_avatar=Ota käyttöön mukautettu profiilikuva
+enable_custom_avatar=Käytä mukautettua profiilikuvaa
choose_new_avatar=Valitse uusi profiilikuva
update_avatar=Päivitä profiilikuva
delete_current_avatar=Poista nykyinen profiilikuva
@@ -699,9 +732,9 @@ password_change_disabled=Ei-lokaalit käyttäjät eivät voi päivittää salasa
emails=Sähköposti osoitteet
manage_emails=Hallitse sähköpostiosoitteita
-manage_themes=Valitse oletusteema
-manage_openid=Hallitse OpenID osoitteita
-theme_desc=Tämä on sivuston oletusteemasi.
+manage_themes=Oletusteema
+manage_openid=OpenID-osoitteet
+theme_desc=Tätä teemaa käytetään verkkosivuston käyttöliittymässä, kun olet sisäänkirjautuneena.
primary=Ensisijainen
activated=Aktivoitu
requires_activation=Vaatii aktivoinnin
@@ -717,7 +750,7 @@ theme_update_error=Valittua teemaa ei löydy.
openid_deletion=Poista OpenID-osoite
openid_deletion_success=OpenID-osoite on poistettu.
add_new_email=Lisää uusi sähköpostiosoite
-add_new_openid=Lisää uusi OpenID URI
+add_new_openid=Lisää uusi OpenID-URI
add_email=Lisää sähköpostiosoite
add_openid=Lisää OpenID URI
add_email_success=Uusi sähköpostiosoite on lisätty.
@@ -729,14 +762,14 @@ openid_desc=OpenID mahdollistaa todentamisen delegoinnin ulkopuoliselle palvelun
manage_ssh_keys=Hallitse SSH-avaimia
manage_gpg_keys=Hallitse GPG-avaimia
add_key=Lisää avain
-ssh_desc=Nämä julkiset SSH-avaimet on liitetty tiliisi. Vastaavat yksityiset avaimet antavat täyden pääsyn repoihisi.
-gpg_desc=Nämä julkiset GPG-avaimet on liitetty tiliisi. Pidä yksityiset avaimet turvassa, koska ne mahdollistavat committien todentamisen.
+ssh_desc=Nämä julkiset SSH-avaimet on liitetty tiliisi. Vastaavat yksityiset avaimet antavat täyden pääsyn repoihisi. Vahvistettuja SSH-avaimia voi käyttää SSH-allekirjoitettujen Git-kommittien vahvistamiseen.
+gpg_desc=Nämä julkiset GPG-avaimet on liitetty tiliisi, ja niitä käytetään kommittien vahvistamiseen. Pidä yksityiset avaimet turvassa, koska ne mahdollistavat kommittien allekirjoittamisen sinun nimissä.
ssh_helper=Tarvitsetko apua? Tutustu GitHubin oppaaseen omien SSH-avainten luonnista tai yleisistä ongelmista , joita voit kohdata SSH:n kanssa.
gpg_helper=Tarvitsetko apua? Katso GitHubin opas GPG :stä.
add_new_key=Lisää SSH avain
add_new_gpg_key=Lisää GPG-avain
-key_content_ssh_placeholder=Alkaa sanoilla 'ssh-ed25519', 'ssh-rsa', 'ecdsa-sha2-nistp256', 'ecdsa-sha2-nistp384', 'ecdsa-sha2-nistp521', 'sk-ecdsa-sha2-nistp256@openssh.com', tai 'sk-ssh-ed25519@openssh.com'
-key_content_gpg_placeholder=Alkaa sanoilla '-----BEGIN PGP PUBLIC KEY BLOCK-----'
+key_content_ssh_placeholder=Alkaa sanoilla "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com" tai "sk-ssh-ed25519@openssh.com"
+key_content_gpg_placeholder=Alkaa sanoilla "-----BEGIN PGP PUBLIC KEY BLOCK-----"
ssh_key_name_used=Samanniminen SSH avain on jo olemassa tililläsi.
gpg_key_id_used=Julkinen GPG-avain samalla tunnuksella on jo olemassa.
gpg_no_key_email_found=Tämä GPG-avain ei vastaa mitään tiliisi liitettyä aktivoitua sähköpostiosoitetta. Se voidaan silti lisätä, jos allekirjoitat annetun pääsymerkin.
@@ -748,7 +781,7 @@ gpg_token=Pääsymerkki
gpg_token_help=Voit luoda allekirjoituksen käyttäen:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Panssaroitu GPG-allekirjoitus
-key_signature_gpg_placeholder=Alkaa sanoilla '-----BEGIN PGP SIGNATURE-----'
+key_signature_gpg_placeholder=Alkaa sanoilla "-----BEGIN PGP SIGNATURE-----"
ssh_key_verified=Vahvistettu avain
ssh_key_verified_long=Avain on vahvistettu pääsymerkillä ja sitä voidaan käyttää todentamaan commitit, jotka vastaavat tämän käyttäjän aktivoituja sähköpostiosoitteita.
ssh_key_verify=Vahvista
@@ -756,7 +789,7 @@ ssh_token_required=Sinun täytyy antaa allekirjoitus alla olevalle pääsymerkil
ssh_token=Pääsymerkki
ssh_token_help=Voit luoda allekirjoituksen käyttäen:
ssh_token_signature=Panssaroitu SSH-allekirjoitus
-key_signature_ssh_placeholder=Alkaa sanoilla '-----BEGIN SSH SIGNATURE-----'
+key_signature_ssh_placeholder=Alkaa sanoilla "-----BEGIN SSH SIGNATURE-----"
subkeys=Aliavaimet
key_id=Avain ID
key_name=Avaimen nimi
@@ -774,7 +807,7 @@ can_read_info=Luku
can_write_info=Kirjoitus
show_openid=Näytä profiilissa
hide_openid=Piilota profiilista
-ssh_disabled=SSH pois käytöstä
+ssh_disabled=SSH on pois käytöstä
manage_social=Hallitse liitettyjä sosiaalisia tilejä
manage_access_token=Hallitse pääsymerkkejä
@@ -795,7 +828,7 @@ create_oauth2_application=Luo uusi OAuth2-sovellus
create_oauth2_application_button=Luo sovellus
oauth2_application_name=Sovelluksen nimi
save_application=Tallenna
-oauth2_regenerate_secret=Luo secret uudelleen
+oauth2_regenerate_secret=Luo salaisuus uudelleen
oauth2_regenerate_secret_hint=Kadotitko secretin?
oauth2_application_edit=Muokkaa
@@ -811,10 +844,10 @@ twofa_enrolled=Tiliisi on otettu käyttöön kaksivaiheinen vahvistus. Ota palau
webauthn_nickname=Nimimerkki
-manage_account_links=Hallitse linkitettyjä tilejä
+manage_account_links=Yhdistetyt tilit
manage_account_links_desc=Nämä ulkoiset tilit on linkitetty Forgejo tiliisi.
link_account=Yhdistä tili
-remove_account_link=Poista linkitetty tili
+remove_account_link=Poista yhdistetty tili
remove_account_link_desc=Linkitetyn tilin poistaminen peruuttaa pääsyn Forgejo-tiliisi linkitetyn tili kautta. Jatketaanko?
remove_account_link_success=Linkitetty tili on poistettu.
@@ -854,11 +887,11 @@ location_placeholder = Jaa likimääräinen sijaintisi muiden kanssa
retype_new_password = Vahvista uusi salasana
create_oauth2_application_success = Loit uuden OAuth2-sovelluksen.
repos_none = Et omista yhtäkään repositoriota.
-visibility.limited_tooltip = Näkyvissä vain tunnistautuneille käyttäjille
+visibility.limited_tooltip = Näkyvissä vain kirjautuneille käyttäjille
email_notifications.disable = Poista sähköposti-ilmoitukset käytöstä
webauthn_register_key = Lisää turva-avain
blocked_users = Estetyt käyttäjät
-profile_desc = Määritä, miten muut näkevät profiilisi. Ensisijaista sähköpostiosoitettasi käytetään ilmoitusten ja salasanan palautuspyyntöjen lähettämiseen sekä verkkosivupohjaisiin Git-operaatioihin.
+profile_desc = Tietoja sinusta
change_password_success = Salasanasi on päivitetty. Kirjaudu jatkossa käyttäen uutta salasanaa.
manage_oauth2_applications = Hallitse OAuth2-sovelluksia
change_password = Vaihda salasana
@@ -892,6 +925,36 @@ twofa_disable = Poista kaksivaiheinen todennus käytöstä
twofa_disable_desc = Kaksivaiheisen todennuksen poistaminen asettaa tilisi aiempaa suurempaan uhkaan. Jatketaanko?
update_language_not_found = Kieli "%s" ei ole käytettävissä.
change_username_prompt = Huomio: Käyttäjätunnuksen vaihtaminen muuttaa myös tilisi URL-osoitteen.
+oauth2_client_secret_hint = Tätä salaisuutta ei näytetä uudelleen, kun olet poistunut sivulta tai päivittänyt sivun. Varmista, että olet ottanut salaisuuden talteen.
+blocked_since = Estetty %s lähtien
+user_unblock_success = Käyttäjän esto on poistettu.
+oauth2_redirect_uris = Uudelleenohjaus-URI:t. Käytä uutta riviä (newline) jokaista URI:a kohden.
+oauth2_client_secret = Asiakkaan salaisuus
+verify_ssh_key_success = SSH-avain "%s" on vahvistettu.
+change_username_redirect_prompt = Vanha käyttäjätunnus uudelleenohjaa, kunnes joku muu ottaa käyttäjätunnuksen käyttönsä.
+uploaded_avatar_is_too_big = Lähetetyn tiedoston koko (%d KiB) ylittää enimmäiskoon (%d KiB).
+ssh_key_been_used = Tämä SSH-avain on jo lisätty palvelimelle.
+verify_gpg_key_success = GPG-avain "%s" on vahvistettu.
+add_key_success = SSH-avain "%s" on lisätty.
+add_gpg_key_success = GPG-avain "%s" on lisätty.
+ssh_key_deletion_success = SSH-avain on poistettu.
+valid_until_date = Kelvollinen %s asti
+oauth2_client_id = Asiakkaan tunniste
+email_notifications.onmention = Ilmoitus vain maininnasta
+email_notifications.submit = Aseta valinta
+email_notifications.andyourown = Ja omat ilmoitukset
+key_state_desc = Tätä avainta on käytetty viimeisen 7 päivän aikana
+oauth2_application_create_description = OAuth2-sovellukset mahdollistavat kolmannen osapuolen sovelluksen pääsyn tilillesi tässä instanssissa.
+oauth2_confidential_client = Luottamuksellinen sovellus. Valitse sovelluksille, jotka pitävät salaisuuden luottamuksellisena, kuten web-sovelluksille. Älä valitse natiiveille sovelluksille mukaan lukien työpöytä- ja mobiilisovellukset.
+ssh_key_deletion_desc = SSH-avaimen poistaminen kumoaa pääsyn tilillesi kyseistä avainta käyttäen. Jatketaanko?
+
+add_email_confirmation_sent = Vahvistusviesti on lähetetty osoitteeseen "%s". Vahvista sähköpostiosoitteesi seuraavan %s sisällä.
+
+pronouns_custom_label = Mukautetut pronominit
+openid_deletion_desc = Tämän OpenID-osoitteen poistaminen tililtäsi estää kirjautumisen sitä käyttäen. Jatketaanko?
+ssh_signonly = SSH on tällä hetkellä poistettu käytöstä, joten näitä avaimia käytetään vain kommittien allekirjoituksen vahvistamiseen.
+generate_token_name_duplicate = Nimeä %s on jo käytetty sovelluksen nimenä. Käytä eri nimeä.
+oauth2_applications_desc = OAuth2-sovellukset mahdollistavat käyttämäsi kolmannen osapuolen sovelluksen todentaa turvallisesti käyttäjiä tähän Forgejo-instanssiin.
[repo]
owner=Omistaja
@@ -917,7 +980,7 @@ repo_gitignore_helper=Valitse .gitignore-mallit
issue_labels=Ongelmien tunnisteet
issue_labels_helper=Valitse pohja ongelmien nimilapuille.
license=Lisenssi
-license_helper=Valitse lisenssitiedosto.
+license_helper=Valitse lisenssitiedosto
readme=README
auto_init=Alusta repo (Luo .gitignore, License ja README)
create_repo=Luo repo
@@ -1316,7 +1379,7 @@ activity.new_issues_count_1=Uusi ongelma
activity.new_issues_count_n=uutta ongelmaa
activity.new_issue_label=Avoinna
activity.unresolved_conv_label=Auki
-activity.published_release_label=Julkaistu
+activity.published_release_label=Julkaisu
activity.git_stats_pushed_1=on työntänyt
activity.git_stats_file_1=%d tiedosto
activity.git_stats_file_n=%d tiedostoa
@@ -1361,9 +1424,9 @@ settings.transfer.title=Siirrä omistajuus
settings.transfer_form_title=Syötä repon nimi vahvistuksena:
settings.transfer_notices_3=- Jos arkisto on yksityinen ja se siirretään yksittäiselle käyttäjälle, tämä toiminto varmistaa, että käyttäjällä on ainakin lukuoikeudet (ja muuttaa käyttöoikeuksia tarvittaessa).
settings.transfer_owner=Uusi omistaja
-settings.wiki_delete=Poista Wiki data
+settings.wiki_delete=Poista wikidata
settings.wiki_delete_desc=Repon wikin data poistaminen on pysyvä eikä voi peruuttaa.
-settings.confirm_wiki_delete=Wiki datan poistaminen
+settings.confirm_wiki_delete=Poista wikidata
settings.wiki_deletion_success=Repon wiki data on poistettu.
settings.delete=Poista tämä repo
settings.delete_desc=Repon poistaminen on pysyvä eikä voi peruuttaa.
@@ -1384,7 +1447,7 @@ settings.webhook.body=Sisältö
settings.githook_edit_desc=Jos koukku ei ole käytössä, esitellään esimerkkisisältö. Sisällön jättäminen tyhjäksi arvoksi poistaa tämän koukun käytöstä.
settings.githook_name=Koukun nimi
settings.githook_content=Koukun sisältö
-settings.update_githook=Päivitys koukku
+settings.update_githook=Päivitä koukku
settings.payload_url=Kohde URL
settings.http_method=HTTP-menetelmä
settings.secret=Salaus
@@ -1406,7 +1469,7 @@ settings.event_push_desc=Git push repoon.
settings.event_repository=Repo
settings.event_repository_desc=Repo luotu tai poistettu.
settings.event_header_issue=Ongelmien tapahtumat
-settings.event_issues=Ongelmat
+settings.event_issues=Muokkaus
settings.event_issues_desc=Ongelma avattu, suljettu, avattu uudelleen tai muokattu.
settings.event_issue_assign=Ongelma määritetty
settings.event_issue_assign_desc=Ongelma osoitettu tai osoitus poistettu.
@@ -1414,7 +1477,7 @@ settings.event_issue_label_desc=Ongelman tunnisteet päivitetty tai tyhjennetty.
settings.event_issue_milestone_desc=Merkkipaalu lisätty, poistettu tai muokattu.
settings.event_issue_comment_desc=Ongelman kommentti luotu, muokattu tai poistettu.
settings.event_header_pull_request=Vetopyyntöjen tapahtumat
-settings.event_pull_request=Vetopyyntö
+settings.event_pull_request=Muokkaus
settings.event_package_desc=Paketti on luotu tai poistettu repossa.
settings.active_helper=Tiedot käynnistetyistä tapahtumista lähetetään tähän webkoukun URL-osoitteeseen.
settings.add_hook_success=Uusi webkoukku on lisätty.
@@ -1573,7 +1636,7 @@ release.ahead.commits = %d kommittia
all_branches = Kaikki haarat
n_tag_few = %s tagia
settings.event_fork_desc = Repo forkattu.
-actions = Toimenpiteet
+actions = Actions
fork_guest_user = Kirjaudu sisään forkataksesi tämän repon.
fork_from_self = Et voi forkata omistamaasi repoa.
visibility_fork_helper = (Tämän muuttaminen vaikuttaa kaikkien forkkien näkyvyyteen.)
@@ -1641,7 +1704,7 @@ activity.git_stats_author_n = %d tekijää
issues.dependency.add_error_dep_exists = Riippuvuus on jo olemassa.
wiki.page_content = Sivun sisältö
wiki.page_title = Sivun otsikko
-activity.navbar.contributors = Kontribuuttorit
+activity.navbar.contributors = Avustajat
n_release_few = %s julkaisua
n_release_one = %s julkaisu
symbolic_link = Symbolinen linkki
@@ -1659,7 +1722,7 @@ milestones.deletion_success = Merkkipaalu on poistettu.
project = Projektit
pulls.delete.title = Poistetaanko tämä vetopyyntö?
activity.title.issues_1 = %d ongelma
-contributors.contribution_type.filter_label = Kontribuution tyyppi:
+contributors.contribution_type.filter_label = Avustuksen tyyppi:
settings.protected_branch.delete_rule = Poista sääntö
settings.archive.success = Repo arkistoitiin onnistuneesti.
diff.comment.placeholder = Jätä kommentti
@@ -1703,7 +1766,7 @@ issues.close = Sulje ongelma
issues.no_content = Ei kuvausta.
pulls.reject_count_1 = %d muutospyyntö
pulls.update_branch_success = Haarapäivitys onnistui
-milestones.completeness = %d%% valmiina
+milestones.completeness = %d% % valmiina
contributors.contribution_type.additions = Lisäykset
contributors.contribution_type.deletions = Poistot
settings.webhook_deletion_success = Webkoukku on poistettu.
@@ -1883,7 +1946,7 @@ migrate.gitlab.description = Tee migraatio gitlab.comista tai muista GitLab-inst
migrate.gitea.description = Tee migraatio gitea.comista tai muista Gitea-instansseista.
repo_gitignore_helper_desc = Valitse mitä tiedostoja ei seurata yleisimpien kielten mallipohjista. Tyypilliset artefaktit, joita eri kielten koostamistyökalut tuottavat, lisätään .gitignore-tiedostoon oletusarvoisesti.
milestones.filter_sort.latest_due_date = Kaukaisin määräpäivä
-license_helper_desc = Lisenssi määrää, mitä muut voivat ja eivät voi tehdä koodillasi. Etkö ole varma, mikä lisenssi soveltuu projektillesi? Lue ohje lisenssin valinnasta.
+license_helper_desc = Lisenssi määrää, mitä muut voivat ja eivät voi tehdä koodillasi. Etkö ole varma, mikä lisenssi soveltuu projektillesi? Lue ohje lisenssin valinnasta .
milestones.filter_sort.earliest_due_data = Lähin määräpäivä
issues.filter_type.reviewed_by_you = Katselmoitu toimestasi
settings.units.overview = Yleisnäkymä
@@ -1959,9 +2022,91 @@ editor.must_have_write_access = Sinulla täytyy olla kirjoitusoikeus tehdäksesi
issues.re_request_review = Pyydä katselmointia uudelleen
pulls.status_checks_details = Yksityiskohdat
release.title_empty = Nimi ei voi olla tyhjä.
+archive.title = Tämä repo on arkistoitu. Voit katsella sen sisältämiä tiedostoja ja kloonata repon, mutta et voi pushata, avata ongelmia tai luoda vetopyyntöjä.
+reactions_more = ja %d lisää
+mirror_address = Kloonaa URL-osoitteesta
+migrate_items_merge_requests = Yhdistämispyynnöt
+stars_remove_warning = Tämä poistaa kaikki tähdet tästä reposta.
+archive.issue.nocomment = Tämä repo on arkistoitu. Et voi kommentoida ongelmia.
+archive.pull.nocomment = Tämä repo on arkistoitu. Et voi kommentoida vetopyyntöjä.
+settings.webhook_deletion_desc = Webkoukun poistaminen poistaa sen asetukset ja toimitushistorian. Jatketaanko?
+settings.discord_icon_url.exceeds_max_length = Kuvakkeen URL-osoite voi sisältää enintään 2048 merkkiä
+settings.event_wiki_desc = Wiki-sivu luotu, nimetty uudelleen, muokattu tai poistettu.
+settings.event_pull_request_desc = Vetopyyntö avattu, suljettu, avattu uudelleen tai muokattu.
+settings.protect_branch_name_pattern = Suojatun haaran nimen kaava
+issues.dependency.add_error_dep_not_same_repo = Molempien ongelmien tulee olla samassa repossa.
+settings.event_release = Julkaisu
+pulls.merge_pull_request = Luo yhdistämiskommitti
+settings.pull_mirror_sync_quota_exceeded = Kiintiö ylitetty, ei vedetä muutoksia.
+settings.wiki_rename_branch_main_notices_1 = Tätä toimintoa EI VOI perua.
+settings.webhook.test_delivery_desc_disabled = Aktivoi webkoukku testataksesi sitä tekaistulla tapahtumalla.
+settings.discord_icon_url = Kuvakkeen URL-osoite
+settings.archive.branchsettings_unavailable = Haaran asetukset eivät ole saatavilla arkistoiduissa repoissa.
+pulls.ready_for_review = Valmiina katselmointiin?
+issues.time_spent_total = Käytetty kokonaisaika
+settings.webhook.test_delivery_desc = Testaa tätä webkoukkua tekaistulla tapahtumalla.
+pulls.switch_comparison_type = Vaihda vertailutyyppiä
+settings.hooks_desc = Webkoukut tekevät automaattisesti HTTP POST -pyyntöjä palvelimelle, kun jotkin Forgejo-tapahtumat käynnistyvät. Lue lisää webkoukkujen oppaasta .
+issues.num_participants_one = %d osallistuja
+issues.reference_link = Viittaus: %s
+mirror_interval = Peilauksen aikaväli (kelvolliset yksiköt ovat "h", "m", "s"). 0 poistaa käytöstä aikaan pohjautuvan synkronoinnin. (Pienin aikaväli: %s)
+mirror_interval_invalid = Peilauksen aikaväli ei ole kelvollinen.
+mirror_sync_on_commit = Synkronoi kun kommitit pushataan
+issues.role.collaborator = Avustaja
+issues.role.collaborator_helper = Tämä käyttäjä on kutsuttu avustajaksi tähän repoon.
+issues.dependency.setting = Käytä riippuvuuksia ongelmiin ja vetopyyntöihin
+wiki.desc = Kirjoita ja jaa dokumentaatiota avustajien kesken.
+settings.collaboration = Avustajat
+settings.mirror_settings.docs = Määritä reposi automaattisesti synkronoimaan kommitit, tagit ja haarat toiseen repoon.
+settings.mirror_settings.docs.disabled_pull_mirror.instructions = Määritä projektisi automaattisesti pushaamaan kommitit, tagit ja haarat toiseen repoon. Pull-peilit on poistettu käytöstä tämän sivuston ylläpitäjän toimesta.
+settings.mirror_settings.docs.disabled_push_mirror.instructions = Määritä projektisi automaattisesti vetämään kommitit, tagit ja haarat toisesta reposta.
+settings.mirror_settings.docs.more_information_if_disabled = Löydät lisätietoja push- ja pull-peileistä täältä:
+settings.mirror_settings.pushed_repository = Työnnetty repo
+settings.mirror_settings.push_mirror.none = Push-peilejä ei ole määritetty
+settings.mirror_settings.push_mirror.add = Lisää push-peili
+settings.mirror_settings.push_mirror.edit_sync_time = Muokkaa peilin synkronoinnin aikaväliä
+settings.allow_only_contributors_to_track_time = Salli vain avustajien seurata aikaa
+settings.pulls_desc = Käytä repositorion vetopyyntöjä
+settings.actions_desc = Käytä integroituja CI-/CD-putkia Forgejo Actionsia hyödyntäen
+settings.admin_enable_health_check = Käytä repositorion terveystarkastuksia (git fsck)
+settings.admin_enable_close_issues_via_commit_in_any_branch = Sulje ongelma kommitin toimesta, joka on tehty muuhun kuin oletusarvoiseen haaraan
+settings.transfer_desc = Siirrä tämä repo käyttäjälle tai organisaatiolle, johon sinulla ylläpito-oikeus.
+settings.signing_settings = Allekirjoituksen vahvistuksen asetukset
+settings.trust_model = Allekirjoituksen luottamusmalli
+settings.trust_model.default = Oletusarvoinen luottamusmalli
+settings.trust_model.collaborator = Avustaja
+settings.trust_model.collaborator.long = Avustaja: Luota avustajien allekirjoituksiin
+settings.trust_model.collaboratorcommitter = Avustaja+kommitoija
+settings.trust_model.collaboratorcommitter.long = Avustaja+kommitoija: Luota avustajien allekirjoituksiin, jotka vastaavat kommitoijaa
+settings.add_collaborator = Lisää avustaja
+settings.add_collaborator_success = Avustaja on lisätty.
+settings.add_collaborator_owner = Omistajaa ei voi lisätä avustajaksi.
+settings.add_collaborator_duplicate = Avustaja on jo lisätty tähän repoon.
+settings.add_collaborator_blocked_our = Avustajaa ei voi lisätä, koska repon omistaja on estänyt hänet.
+settings.add_collaborator_blocked_them = Avustajaa ei voi lisätä, koska kyseinen avustaja on estänyt repon omistajan.
+settings.collaborator_deletion = Poista avustaja
+settings.collaborator_deletion_desc = Avustajan poistaminen estää hänen pääsyn tähän repoon. Jatketaanko?
+settings.remove_collaborator_success = Avustaja on poistettu.
+settings.org_not_allowed_to_be_collaborator = Organisaatioita ei voi lisätä avustajaksi.
+settings.default_branch_desc = Valitse repon oletushaara, johon vetopyynnöt ja koodikommitit kohdistetaan:
+settings.archive.text = Repon arkistointi asettaa sen pelkkään lukutilaan. Se piilotetaan hallintapaneelista. Kukaan (et edes sinä!) ei pysty tehdä uusia kommitteja, avata uusia ongelmia tai avata vetopyyntöjä.
+
+no_eol.text = Ei EOL:ää
+pulls.compare_changes_desc = Valitse haara, johon yhdistetään, ja haara, josta vedetään.
+
+new_from_template = Käytä mallipohjaa
+new_from_template_description = Voit valita olemassa olevan repon mallipohjan ja toteuttaa sen asetukset.
+new_advanced = Lisäasetukset
+new_advanced_expand = Laajenna napsauttamalla
+template_description = Repojen mallipohjat mahdollistavat uusien repojen luomisen halutulla hakemistorakenteella, tiedostoilla ja valinnaisilla asetuksilla.
+auto_init_description = Aloita Git-historia README-tiedostolla ja valinnaisesti License- ja .gitignore-tiedostoilla.
+settings.enter_repo_name = Kirjoita omistajan ja repon nimi täsmälleen kuten esitetty:
+settings.confirmation_string = Vahvistusteksti
+settings.delete_notices_2 = - Tämä toiminto poistaa pysyvästi repon %s mukaan lukien koodin, ongelmat, kommentit, wikidatan ja avustaja-asetukset.
+
[graphs]
component_loading_info = Tämä saattaa kestää hetken…
component_failed_to_load = Odottamaton virhe.
@@ -2102,8 +2247,8 @@ dashboard.operation_switch=Vaihda
dashboard.operation_run=Suorita
dashboard.delete_inactive_accounts=Poista kaikki aktivoimattomat käyttäjät
dashboard.delete_repo_archives=Poista kaikki repojen arkistot (ZIP, TAR.GZ, jne..)
-dashboard.server_uptime=Palvelimen Uptime
-dashboard.current_goroutine=Nykyiset Goroutinet
+dashboard.server_uptime=Palvelimen uptime
+dashboard.current_goroutine=Nykyiset goroutinet
dashboard.current_memory_usage=Nykyinen muistinkäyttö
dashboard.total_memory_allocated=Yhteensä muistia varattu
dashboard.memory_obtained=Muistia saatu
@@ -2123,7 +2268,7 @@ dashboard.mcache_structures_obtained=MCache rakenteita saatu
dashboard.profiling_bucket_hash_table_obtained=Profilointi Bucket Hash Table saatu
dashboard.gc_metadata_obtained=GC metatietoja saatu
dashboard.other_system_allocation_obtained=Muita järjestestelmän varauksia saatu
-dashboard.next_gc_recycle=Seuraava GC kierrätys
+dashboard.next_gc_recycle=Seuraava GC-kierrätys
dashboard.last_gc_time=Edellisen GC ajan jälkeen
dashboard.total_gc_time=Yhteensä GC tauko
dashboard.total_gc_pause=Yhteensä GC tauko
@@ -2279,7 +2424,7 @@ config.default_visibility_organization=Uuden organisaation oletusnäkyvyys
config.webhook_config=Webkoukkujen asetukset
config.queue_length=Jonon pituus
-config.deliver_timeout=Toimitus aikakatkaisu
+config.deliver_timeout=Toimituksen aikakatkaisu
config.mailer_enabled=Käytössä
config.mailer_name=Nimi
@@ -2426,8 +2571,14 @@ dashboard.task.unknown = Tuntematon tehtävä: %[1]s
dashboard.cron.error = Virhe Cronissa: %s: %[3]s
dashboard.task.started = Käynnistetty tehtävä: %[1]s
dashboard.cron.finished = Cron: %[1]s on valmistunut
+dashboard.resync_all_sshkeys = Päivitä ".ssh/authorized_keys"-tiedosto Forgejo:n SSH-avaimilla.
+dashboard.cleanup_packages = Siivoa vanhentuneet paketit
+config.default_allow_only_contributors_to_track_time = Salli vain avustajien seurata aikaa
+monitor.download_diagnosis_report = Lataa diagnostiikkaraportti
+monitor.last_execution_result = Tulos
+
[action]
create_repo=luotu repo %s
rename_repo=uudelleennimetty repo %[1]s
nimelle %[3]s
@@ -2441,6 +2592,16 @@ compare_branch = Vertaa
review_dismissed_reason = Syy:
commit_repo = työnsi haaraan %[3]s repossa %[4]s
+create_issue = `avasi ongelman %[3]s#%[2]s `
+close_issue = `sulki ongelman %[3]s#%[2]s `
+reopen_issue = `avasi uudelleen ongelman %[3]s#%[2]s `
+create_pull_request = `loi vetopyynnön %[3]s#%[2]s `
+close_pull_request = `sulki vetopyynnön %[3]s#%[2]s `
+reopen_pull_request = `avasi uudelleen vetopyynnön %[3]s#%[2]s `
+comment_issue = `kommentoi ongelmaa %[3]s#%[2]s `
+comment_pull = `kommentoi vetopyyntöä %[3]s#%[2]s `
+merge_pull_request = `yhdisti vetopyynnön %[3]s#%[2]s `
+
[tool]
now=nyt
1s=1 sekunti
@@ -2487,6 +2648,8 @@ error.extract_sign = Allekirjoituksen purkaminen epäonnistui
default_key = Allekirjoitettu oletusavaimella
error.failed_retrieval_gpg_keys = Ei saatu yhtäkään kommitin tekijän tiliin liitettyä avainta
+error.generate_hash = Tiivisteen luominen kommitista epäonnistui
+
[units]
unit = Yksikkö
@@ -2601,6 +2764,35 @@ settings.link = Linkitä tämä paketti repositorioon
maven.download = Lataa riippuvuus suorittamalla komentorivillä:
registry.documentation = Lisätietoja %s-rekisteristä on dokumentaatiossa .
owner.settings.chef.keypair.description = Avainpari vaaditaan Chef-rekisteriin tunnistautumista varten. Jos olet luonut avainparin aiemmin, uuden avainparin luominen hylkää aiemman avainparin.
+owner.settings.cleanuprules.keep.pattern = Säilytä kaavaa vastaavat versiot
+owner.settings.cleanuprules.pattern_full_match = Toteuta kaavio paketin koko nimeen
+owner.settings.cleanuprules.keep.title = Näitä sääntöjä vastaavat versiot säilytetään, vaikka ne vastaisivat alla olevaa poistosääntöä.
+owner.settings.cleanuprules.keep.count = Säilytä viimeisimmät
+owner.settings.cleanuprules.remove.pattern = Poista kaavaa vastaavat versiot
+owner.settings.cleanuprules.keep.pattern.container = Viimeisin (latest
) versio säilytetään aina Container-paketeista.
+owner.settings.cleanuprules.remove.title = Näitä sääntöjä vastaavat versiot poistetaan, ellei sääntö yläpuolella käske säilyttää niitä.
+owner.settings.cleanuprules.remove.days = Poista versiot, jotka ovat vanhempia kuin
+arch.pacman.helper.gpg = Lisää luottamusvarmenne pacmanille:
+
+empty.repo = Lähetitkö paketin, mutta se ei näy täällä? Siirry paketin asetuksiin ja linkitä se tähän repoon.
+published_by = Julkaistu %[1]s käyttäjän %[3]s toimesta
+alpine.registry = Määritä tämä rekisteri lisäämällä URL-osoite tiedostoon /etc/apk/repositories
:
+alpine.registry.key = Lataa rekisterin julkinen RSA-avain hakemistoon /etc/apk/keys/
vahvistaaksesi indeksin allekirjoituksen:
+alpine.registry.info = Valitse $branch ja $repository alla olevasta listasta.
+arch.pacman.conf = Lisää palvelin asiaan liittyvällä jakelulla ja arkkitehtuurilla tiedostoon /etc/pacman.conf
:
+arch.pacman.sync = Synkronoi paketti pacmanin kanssa:
+container.images.title = Levykuvat
+debian.registry.info = Valitse $distribution ja $component alla olevasta listasta.
+rpm.repository.multiple_groups = Tämä paketti on saatavilla useissa ryhmissä.
+rubygems.dependencies.runtime = Ajonaikaiset riippuvuudet
+owner.settings.cargo.rebuild = Rakenna indeksi uudelleen
+owner.settings.cargo.rebuild.error = Cargo-indeksin rakentaminen uudelleen epäonnistui: %v
+owner.settings.cargo.rebuild.success = Cargo-indeksi rakennettiin uudelleen.
+owner.settings.cleanuprules.preview.none = Siivoussääntö ei vastaa yhtäkään pakettia.
+
+settings.link.error = Repositorion linkin päivittäminen epäonnistui.
+owner.settings.cargo.initialize = Alusta indeksi
+owner.settings.cargo.initialize.description = Erityinen Git-repoindeksi vaaditaan Cargo-rekisterin käyttämiseksi. Tämän valinnan käyttäminen luo (tarvittaessa uudelleen) repon ja määrittää sen asetukset automaattisesti.
[secrets]
creation.failed = Salaisuuden lisääminen epäonnistui.
@@ -2699,11 +2891,15 @@ workflow.disable_success = Työnkulku "%s" on poistettu käytöstä.
runs.no_job = Työnkulun tulee sisältää vähintään yksi työ
runs.invalid_workflow_helper = Työnkulun asetustiedosto on virheellinen. Tarkista asetustiedosto: %s
runners = Ajajat
-actions = Toimenpiteet
+actions = Actions
+unit.desc = Hallitse integroituja CI/CD-putkia Forgejo Actionsia hyödyntäen.
+runs.pushed_by = työntänyt
+runs.no_workflows.help_no_write_access = Lisätietoja Forgejo Actionsista on saatavilla dokumentaatiosta .
+
[projects]
type-1.display_name = Yksittäinen projekti
deleted.display_name = Poistettu projekti
diff --git a/options/locale/locale_fil.ini b/options/locale/locale_fil.ini
index 9a001ee81a..7f5be3cab3 100644
--- a/options/locale/locale_fil.ini
+++ b/options/locale/locale_fil.ini
@@ -641,6 +641,8 @@ Biography = Byograpya
Location = Lokasyon
visit_rate_limit = Natugunan ang limitasyon sa rate ng malayuang pagbisita.
+email_domain_is_not_allowed = Sumasalungat ang domain ng email address ng user %s sa EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Siguraduhing natakda mo ang email address nang tama.
+
[user]
joined_on = Sumali noong %s
repositories = Mga Repositoryo
@@ -748,7 +750,7 @@ social = Mga social account
biography_placeholder = Sabihin sa iba ng kaunti tungkol sa iyong sarili! (Sinusuportahan ang Markdown)
change_username_prompt = Tandaan: Ang pagpalit ng username ay papalitan din ang URL ng iyong account.
organization = Mga Organisasyon
-profile_desc = Kontrolin kung paano ipinapakita ang iyong profile sa ibang mga gumagamit. Ang iyong pangunahing email address ay gagamitin para sa mga abiso, pagbawi ng password at mga Git operation na batay sa web.
+profile_desc = Tungkol sa iyo
hidden_comment_types_description = Ang mga uri ng komento na naka-check dito ay hindi ipapakita sa loob ng mga pahina ng isyu. Halimbawa ang pag-check ng "Label" ay tatanggalin lahat ng mga "Idinagdag/tinanggal ni ang " na komento.
comment_type_group_milestone = Milestone
comment_type_group_issue_ref = Pagsangguni ng isyu
@@ -767,7 +769,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. 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.
+keep_email_private_popup = Ang iyong email address ay hindi ipapakita sa iyong profile at hindi magiging default para sa mga commit na ginawa sa pamamagitan ng web interface, tulad ng pag-upload ng mga file, mga pagbabago, at mga merge commit. Sa halip, gagamitin ang isang espeyal na address na %s para i-link ang mga commit sa iyong account. Ang 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.
@@ -997,6 +999,8 @@ language.title = Default na wika
keep_activity_private.description = Makikita mo lang at mga tagapangasiwa ng instansya ang iyong pampublikong aktibidad .
language.description = Mase-save ang wika sa iyong account at gagamitin bilang default pagkatapos mong mag-log in.
language.localization_project = Tulungan kaming isalin ang Forgejo sa iyong wika! Matuto pa .
+pronouns_custom_label = Mga pasadyang pronoun
+user_block_yourself = Hindi mo maaring harangan ang sarili mo.
[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.
@@ -1070,7 +1074,7 @@ license_helper = Pumili ng file ng lisensya
license_helper_desc = Ang lisensya ay namamahala kung ano ang pwede at hindi pwedeng gawin ng mga ibang tao sa iyong code. Hindi sigurado kung alin ang wasto para sa iyong proyekto? Tignan ang Pumili ng lisensya .
object_format_helper = Object format ng repositoryo. Hindi mababago mamaya. Ang SHA1 ang pinaka-compatible.
readme = README
-auto_init = I-initialize ang repositoryo (Nagdadagdag ng .gitignore, Lisensya, at README)
+auto_init = I-initialize ang repositoryo
trust_model_helper = Pumili ng trust model para sa signature verification. Ang mga posibleng opsyon ay:
trust_model_helper_collaborator = Katulong: I-trust ang mga signature batay sa mga katulong
trust_model_helper_committer = Commiter: I-trust ang mga signature na tumutugma sa mga commiter
@@ -1127,8 +1131,8 @@ 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 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.pull.nocomment = Naka-archive ang repositoryong ito. Hindi ka makakakomento sa mga pull request.
+archive.title = Naka-archive ang repositoryong ito. Maari mong itignan ang mga file at i-clone ito, pero hindi 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.
pulls = Mga hiling sa paghila
activity.merged_prs_count_n = Mga naisamang hiling sa paghila
@@ -1184,7 +1188,7 @@ migrate_items_labels = Mga label
migrate_items_issues = Mga isyu
migrate_items_merge_requests = Mga merge request
migrate.clone_address = Magmigrate / Mag-clone mula sa URL
-archive.issue.nocomment = Naka-archive ang repo na ito. Hindi ka makakakomento sa mga isyu.
+archive.issue.nocomment = Naka-archive ang repositoryong ito. Hindi ka makakakomento sa mga isyu.
migrate_items = Mga item sa pagmigrate
migrate_items_releases = Mga paglabas
migrate_repo = I-migrate ang repositoryo
@@ -2707,6 +2711,23 @@ release.hide_archive_links = Itago ang mga awtomatikong na-generate na archive
release.hide_archive_links_helper = Itago ang awtomatikong na-generate na source code archive para sa release na ito. Halimbawa, kung maga-upload ka ng sarili mo.
branch.already_exists = Umiiral na ang branch na may pangalan na "%s".
diff.bin = BIN
+settings.default_update_style_desc = Ang default na istilio na gagamitin sa pag-update ng mga hiling sa paghila na nalilipas sa base branch.
+pulls.sign_in_require = Mag-sign in para gumawa ng bagong hiling sa paghila.
+new_from_template = Gumamit ng template
+new_from_template_description = Maari kang pumili ng umiiral na repository template sa instansya na ito at i-apply ang mga setting nito.
+new_advanced = Mga advanced na setting
+new_advanced_expand = I-click para i-expand
+auto_init_description = Simulan ang kasaysayan ng Git gamit ang README at opsyonal na magdagdag ng mga lisensya at .gitignore na file.
+issues.reaction.add = Magdagdag ng reaksyon
+issues.reaction.alt_few = Nag-react si %[1]s ng %[2]s.
+issues.reaction.alt_many = Sina %[1]s at %[2]d pang iba ay nag-react ng %[3]s.
+issues.reaction.alt_remove = Magtanggal ng %[1]s reaksyon mula sa komento.
+issues.reaction.alt_add = Magdagdag ng %[1]s reaksyon sa komento.
+issues.context.menu = Menu ng komento
+summary_card_alt = Pangkalahatang-ideyang card ng repositoryo na %s
+release.summary_card_alt = Pangkalahatang-ideyang card ng isang release na nakapamagat na "%s" sa repositoryo na %s
+
+editor.commit_email = Email ng commit
[search]
commit_kind = Maghanap ng mga commit…
@@ -2894,7 +2915,7 @@ dashboard.delete_old_system_notices = Burahin ang lahat ng mga lumang paunawa ng
dashboard.gc_lfs = I-garbage collect ang mga LFS meta object
dashboard.stop_zombie_tasks = Itigil ang mga zombie action task
users.user_manage_panel = Ipamahala ang mga user account
-users.new_account = Gumawa ng User Account
+users.new_account = Gumawa ng user account
users.auth_login_name = Pangalan ng sign-in authentication
users.password_helper = Iwanang walang laman ang password upang panatilihing hindi nabago.
users.max_repo_creation = Pinakamataas na numero ng mga repositoryo
@@ -3667,7 +3688,7 @@ approve_pull_request = `inaprubahan ang %[3]s#%[2]s `
review_dismissed_reason = Dahilan:
compare_branch = Ikumpara
reject_pull_request = `nagmungkahi ng mga pagbabago para sa %[3]s#%[2]s `
-rename_repo = pinalitan ang pangalan ng repositoryo mula %[1]s
sa %[3]#
+rename_repo = pinalitan ang pangalan ng repositoryo mula %[1]s
sa %[3]s
close_issue = `sinara ang isyu na %[3]s#%[2]s `
review_dismissed = `na-dismiss ang pagsusuri mula %[4]s para sa %[3]s#%[2]s `
close_pull_request = `sinara ang hiling sa paghila na %[3]s#%[2]s `
diff --git a/options/locale/locale_fr-FR.ini b/options/locale/locale_fr-FR.ini
index e45e27e7f0..aaaa2e7a9a 100644
--- a/options/locale/locale_fr-FR.ini
+++ b/options/locale/locale_fr-FR.ini
@@ -1,7 +1,7 @@
[common]
home=Accueil
dashboard=Tableau de bord
-explore=Explorateur
+explore=Explorer
help=Aide
logo=Logo
sign_in=Connexion
@@ -165,6 +165,7 @@ error413 = Votre quota est épuisé.
new_repo.title = Nouveau dépôt
new_migrate.link = Nouvelle migration
new_org.link = Nouvelle organisation
+copy_path = Copier le chemin
[aria]
navbar=Barre de navigation
@@ -519,7 +520,7 @@ issue.action.force_push=%[1]s a forcé %[2]s de %[3]s vers %[4]s.
issue.action.push_1=@%[1]s a soumis %[3]d révision sur %[2]s
issue.action.push_n=@%[1]s a soumis %[3]d révisions sur %[2]s
issue.action.close=@%[1]s a fermé #%[2]d.
-issue.action.reopen=@%[1]s a réouvert #%[2]d.
+issue.action.reopen=@%[1]s a rouvert #%[2]d.
issue.action.merge=@%[1]s a fusionné de #%[2]d vers %[3]s.
issue.action.approve=@%[1]s a approuvé cette demande d'ajout.
issue.action.reject=@%[1]s a demandé des modifications sur cette demande d'ajout.
@@ -680,6 +681,8 @@ Website = Site web
Location = Emplacement
To = Nom de la branche
+email_domain_is_not_allowed = Le domaine %s du courriel utilisateur entre en conflit avec EMAIL_DOMAIN_ALLOWLIST ou EMAIL_DOMAIN_BLOCKLIST. Veuillez vous assurer le courriel est renseigné.
+
[user]
change_avatar=Changer votre avatar…
joined_on=Inscrit le %s
@@ -744,9 +747,9 @@ uid=UID
webauthn=Clés de sécurité à deux facteurs
public_profile=Profil public
-biography_placeholder=Parlez-nous un peu de vous ! (Markdown est interprété)
+biography_placeholder=Parlez-nous un peu de vous ! (Markdown est supporté)
location_placeholder=Partagez votre position approximative avec d'autres personnes
-profile_desc=Contrôlez comment votre profil est affiché aux autres utilisateurs. Votre adresse courriel principale sera utilisée pour les notifications, la récupération de mot de passe et les opérations Git basées sur le Web.
+profile_desc=À propos de vous
password_username_disabled=Les utilisateurs externes ne sont pas autorisés à modifier leur nom d'utilisateur. Veuillez contacter l'administrateur de votre site pour plus de détails.
full_name=Nom complet
website=Site Web
@@ -811,7 +814,7 @@ manage_emails=Gérer les adresses courriels
manage_themes=Thème par défaut
manage_openid=Adresses OpenID
email_desc=Votre adresse courriel principale sera utilisée pour les notifications, la récupération de mot de passe et, à condition qu'elle ne soit pas cachée, les opérations Git basées sur le Web.
-theme_desc=Ce sera votre thème par défaut sur le site.
+theme_desc=Ce thème sera utilisé pour l'interface web lorsque vous êtes authentifié.
primary=Principale
activated=Activé
requires_activation=Nécessite une activation
@@ -837,7 +840,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 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.
+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. 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
@@ -1053,9 +1056,12 @@ language.title = Langue par défaut
keep_activity_private.description = Vous seul pourrez voir votre activité publique , ainsi que les administrateurs de l'instance.
language.localization_project = Aidez-nous à traduire Forgejo dans votre langue ! En savoir plus .
language.description = Cette langue sera enregistrée dans votre compte et utilisée comme langue par défaut après votre connexion.
+user_block_yourself = Vous ne pouvez pas vous bloquer vous même.
+
+pronouns_custom_label = Pronoms personnalisés
[repo]
-new_repo_helper=Un dépôt contient tous les fichiers d’un projet, ainsi que l’historique de leurs modifications. Vous avez déjà ça ailleurs ? Migrez-le ici.
+new_repo_helper=Un dépôt contient tous les fichiers d’un projet, ainsi que l’historique de leurs modifications. Vous avez déjà ça ailleurs ? Migrez-le ici. .
owner=Propriétaire
owner_helper=Certaines organisations peuvent ne pas apparaître dans la liste déroulante en raison d'une limite maximale du nombre de dépôts.
repo_name=Nom du dépôt
@@ -1095,11 +1101,11 @@ issue_labels=Étiquettes
issue_labels_helper=Sélectionner un jeu d'étiquettes
license=Licence
license_helper=Sélectionner une licence
-license_helper_desc=Une licence réglemente ce que les autres peuvent ou ne peuvent pas faire avec votre code. Vous ne savez pas laquelle est la bonne pour votre projet ? Comment choisir une licence.
+license_helper_desc=Une licence réglemente ce que les autres peuvent ou ne peuvent pas faire avec votre code. Vous ne savez pas laquelle est la bonne pour votre projet ? Comment choisir une licence. .
readme=LISEZMOI
readme_helper=Choisissez un modèle de fichier LISEZMOI
readme_helper_desc=Le README est l'endroit idéal pour décrire votre projet et accueillir des contributeurs.
-auto_init=Initialiser le dépôt (avec un .gitignore, une Licence et un README.md)
+auto_init=Initialiser le dépôt
trust_model_helper=Choisissez, parmi les éléments suivants, les règles de confiance des signatures paraphant les révisions :
trust_model_helper_collaborator=Collaborateur : ne se fier qu'aux signatures des collaborateurs du dépôt
trust_model_helper_committer=Auteur : ne se fier qu'aux signatures des auteurs de révisions
@@ -1224,7 +1230,7 @@ migrate.migrating_failed_no_addr=Échec de la migration.
migrate.github.description=Migrer les données depuis github.com ou GitHub Enterprise Server.
migrate.git.description=Migrer uniquement un dépôt depuis n’importe quel service Git.
migrate.gitlab.description=Migrer les données depuis gitlab.com ou d’autres instances de GitLab.
-migrate.gitea.description=Migrer les données depuis gitea.com ou d’autres instances de Gitea/Forgejo.
+migrate.gitea.description=Migrer les données depuis gitea.com ou d’autres instances de Gitea.
migrate.gogs.description=Migrer les données depuis notabug.org ou d’autres instances de Gogs.
migrate.onedev.description=Migrer les données depuis code.onedev.io ou d’autre instance de OneDev.
migrate.codebase.description=Migrer les données depuis codebasehq.com.
@@ -1312,6 +1318,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 = Vendored
@@ -1337,6 +1344,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é
@@ -1617,7 +1625,7 @@ issues.reopen_issue=Rouvrir
issues.reopen_comment_issue=Réouvrir avec le commentaire
issues.create_comment=Commenter
issues.closed_at=`a fermé ce ticket %[2]s .`
-issues.reopened_at=`a réouvert ce ticket %[2]s .`
+issues.reopened_at=`a rouvert ce ticket %[2]s .`
issues.commit_ref_at=`a référencé ce ticket depuis une révision %[2]s .`
issues.ref_issue_from=`a fait référence à %[4]s ce ticket %[2]s .`
issues.ref_pull_from=`a fait référence à cette demande d'ajout %[4]s %[2]s .`
@@ -1777,7 +1785,7 @@ issues.review.approve=a approuvé ces modifications %s
issues.review.comment=a évalué cette demande d’ajout %s
issues.review.dismissed=a révoqué l’évaluation de %s %s
issues.review.dismissed_label=Révoquée
-issues.review.left_comment=laisser un commentaire
+issues.review.left_comment=a laissé un commentaire
issues.review.content.empty=Vous devez laisser un commentaire indiquant le(s) changement(s) demandé(s).
issues.review.reject=a requis les changements %s
issues.review.wait=a été sollicité pour évaluer cette demande d’ajout %s
@@ -2508,7 +2516,7 @@ settings.archive.error=Une erreur s'est produite lors de l'archivage du dépôt.
settings.archive.error_ismirror=Vous ne pouvez pas archiver un dépôt en miroir.
settings.archive.branchsettings_unavailable=Le paramétrage des branches n'est pas disponible quand le dépôt est archivé.
settings.archive.tagsettings_unavailable=Le paramétrage des étiquettes n'est pas disponible si le dépôt est archivé.
-settings.archive.mirrors_unavailable = Les mirroirs ne sont pas disponibles si le dépôt a été archivé.
+settings.archive.mirrors_unavailable = Les miroirs ne sont pas disponibles si le dépôt a été archivé.
settings.unarchive.button=Désarchiver ce dépôt
settings.unarchive.header=Réhabiliter ce dépôt
settings.unarchive.text=Réhabiliter un dépôt dégèle les actions de révisions et de soumissions, la gestion des tickets et des demandes d'ajouts.
@@ -2844,6 +2852,27 @@ diff.git-notes.remove-body = Cette note sera supprimée.
diff.git-notes.add = Ajouter une note
diff.git-notes.remove-header = Supprimer la note
issues.summary_card_alt = Fiche de synthèse d'un ticket nommé "%s" dans le dépôt %s
+editor.add_tmpl.filename = fichier
+issues.num_reviews_one = %d revue
+issues.num_reviews_few = %d revues
+settings.default_update_style_desc = Style de mise à jour des demandes de fusion qui sont en retard par rapport à la branche de base.
+
+new_from_template = Utiliser un modèle
+new_from_template_description = Vous pouvez sélectionner un modèle de dépôt existant sur cette instance et appliquer ses paramètres.
+new_advanced = Options avancées
+new_advanced_expand = Cliquer pour développer
+auto_init_description = Débuter l'historique Git avec un README et ajouter en option les fichier de licence et .gitignore.
+summary_card_alt = Carte résumé du dépôt %s
+issues.reaction.add = Ajouter une réaction
+issues.reaction.alt_few = %[1]s a réagit %[2]s.
+issues.reaction.alt_many = %[1]s et %[2]d de plus ont réagit %[3]s.
+issues.reaction.alt_remove = Enlever la réaction %[1]s du commentaire.
+issues.reaction.alt_add = Ajouter la réaction %[1]s du commentaire.
+issues.context.menu = Menu commentaire
+pulls.sign_in_require = Identifiez vous pour créer une nouvelle demande d'ajout.
+release.summary_card_alt = Carte résumé de la publication dont le titre est "%s" dans le dépôt %s
+
+editor.commit_email = Courriel de commit
[graphs]
component_loading = Chargement %s...
@@ -3545,10 +3574,10 @@ rename_repo=a rebaptisé le dépôt %[1]s
en %[3]s<
commit_repo=a soumis sur %[3]s dans %[4]s
create_issue=`a ouvert le ticket %[3]s#%[2]s `
close_issue=`a fermé le ticket %[3]s#%[2]s `
-reopen_issue=`a réouvert le ticket %[3]s#%[2]s `
+reopen_issue=`a rouvert le ticket %[3]s#%[2]s `
create_pull_request=`a créé la demande d’ajout %[3]s#%[2]s `
close_pull_request=`a fermé la demande d’ajout %[3]s#%[2]s `
-reopen_pull_request=`a réouvert la demande d’ajout %[3]s#%[2]s `
+reopen_pull_request=`a rouvert la demande d’ajout %[3]s#%[2]s `
comment_issue=`a commenté le ticket %[3]s#%[2]s `
comment_pull=`a commenté la demande d’ajout %[3]s#%[2]s `
merge_pull_request=`a fusionné la demande d’ajout %[3]s#%[2]s `
@@ -3662,7 +3691,7 @@ alpine.registry=Configurez ce registre en ajoutant l’URL dans votre fichier /etc/apk/keys/ pour vérifier la signature de l'index :
alpine.registry.info=Choisissez $branch et $repository dans la liste ci-dessous.
alpine.install=Pour installer le paquet, exécutez la commande suivante :
-alpine.repository=Informations sur le Dépôt
+alpine.repository=Informations sur le dépôt
alpine.repository.branches=Branches
alpine.repository.repositories=Dépôts
alpine.repository.architectures=Architectures
@@ -3682,7 +3711,7 @@ conda.install=Pour installer le paquet en utilisant Conda, exécutez la commande
container.details.type=Type d'image
container.details.platform=Plateforme
container.pull=Tirez l'image depuis un terminal :
-container.digest=Empreinte :
+container.digest=Empreinte
container.multi_arch=SE / Arch
container.layers=Calques d'image
container.labels=Labels
@@ -3693,7 +3722,7 @@ cran.install=Pour installer le paquet, exécutez la commande suivante :
debian.registry=Configurez ce registre à partir d'un terminal :
debian.registry.info=Choisissez $distribution et $component dans la liste ci-dessous.
debian.install=Pour installer le paquet, exécutez la commande suivante :
-debian.repository=Infos sur le Dépôt
+debian.repository=Infos sur le dépôt
debian.repository.distributions=Distributions
debian.repository.components=Composants
debian.repository.architectures=Architectures
@@ -3797,6 +3826,7 @@ arch.version.conflicts = Conflits
arch.version.replaces = Remplace
arch.version.backup = Sauvegarde
arch.version.makedepends = Faire des dépendances
+container.images.title = Images
[secrets]
secrets=Secrets
@@ -3945,7 +3975,7 @@ keyword_search_unavailable = La recherche par mot-clé n'est pas disponible actu
fuzzy_tooltip = Inclure les résultats proches des termes recherchés
match = Correspondance
match_tooltip = Uniquement inclure les résultats correspondant exactement aux termes recherchés
-repo_kind = Chercher dans les dépôt...
+repo_kind = Chercher dans les dépôts...
user_kind = Chercher les utilisateurs...
org_kind = Chercher les organisations...
team_kind = Chercher les équipes...
diff --git a/options/locale/locale_he.ini b/options/locale/locale_he.ini
new file mode 100644
index 0000000000..61845d49f3
--- /dev/null
+++ b/options/locale/locale_he.ini
@@ -0,0 +1,239 @@
+[common]
+home = בית
+dashboard = מבט על
+help = עזרה
+logo = לוגו
+sign_in = כניסה
+sign_in_with_provider = כניסה דרך %s
+sign_in_or = או
+sign_out = יציאה מהחשבון
+sign_up = הרשמה
+link_account = חיבור חשבון
+register = הרשמה
+version = גרסה
+powered_by = רץ על %s
+page = דף
+template = תבנית
+language = שפה
+notifications = הודעות
+active_stopwatch = סטופר
+create_new = חדש…
+user_profile_and_more = פרופיל והגדרות…
+signed_in_as = שלום
+enable_javascript = אתר זה משתמש בJavaScript.
+toc = תוכן הענינים
+licenses = רישיונות
+return_to_forgejo = חזרה לפורג'ו
+more_items = עוד אפשרויות
+username = שם משתמש
+email = כתובת אימייל
+password = סיסמה
+access_token = קוד גישה
+captcha = CAPTCHA
+twofa = אימות דו־שלבי
+twofa_scratch = קוד אימות דו־שלבי
+passcode = קוד כניסה
+webauthn_insert_key = יש להכניס את מפתח אבטחך
+webauthn_sign_in = יש ללחוץ על הכפתור שעל מפתח האבטחה. אם אין כפתור, אפשר להוציא את המפתח ולחבר אותו שוב.
+webauthn_press_button = נא ללחוץ על הכפתור שעל מפתח האבטחה…
+webauthn_error = קריאת מפתח האבטחה נכשלה.
+webauthn_unsupported_browser = הדפדפן שלך לא תומך בWebAuthn.
+webauthn_error_unknown = שגיאה לא ידועה, אפשר לנסות שוב.
+webauthn_error_insecure = הפרוטוקול WebAuthn לא תומך בחיבורים לא מאובטחים, למעט דרך "localhost" או "127.0.0.1"
+webauthn_error_unable_to_process = שרת זה נכשל בעיבוד בקשתך.
+webauthn_error_duplicated = מפתח האבטחה לא יכול לשמש לבקשה זו. נא לוודא שהמפתח לא רשום.
+webauthn_error_empty = שם המפתח הוא שדה חובה.
+webauthn_error_timeout = קריאת מפתחך לקחה יותר מדי זמן. אפשר לטעון מחדש את הדף ולנסות שוב.
+repository = קרפיף
+organization = ארגון
+mirror = מראה
+new_mirror = מראה חדשה
+new_fork = מזלוג חדש של קרפיף זה
+new_project = פרויקט חדש
+new_project_column = עמודה חדשה
+admin_panel = לוח ניהול מערכת
+settings = הגדרות
+your_profile = פרופיל
+your_starred = כיכבת
+your_settings = הגדרות
+new_repo.title = קרפיף חדש
+new_migrate.title = יבוא קרפיף
+new_org.title = ארגון חדש
+new_repo.link = קרפיף חדש
+new_migrate.link = יבוא קרפיף
+new_org.link = ארגון חדש
+all = הכל
+sources = מקורות
+mirrors = מראות
+collaborative = שיתופי
+forks = מזלוגים
+activities = פעילויות
+pull_requests = בקשות מיזוג
+issues = סוגיות
+milestones = מטרות
+ok = אישור
+cancel = ביטול
+retry = לנסות שוב
+rerun = הרצה חוזרת
+save = שמירה
+add = הוספה
+add_all = הוספת הכל
+remove = הסרה
+remove_all = הסרת הכל
+remove_label_str = הסרת "%s"
+edit = עריכה
+test = בדיקה
+enabled = מופעל
+disabled = כבוי
+locked = נעול
+copy = העתקה
+copy_generic = העתקה לCtrl + C
+copy_url = העתקת קישור
+copy_hash = העתקת קוד גיבוב
+copy_path = העתקת מיקום קובץ
+copy_content = העתקת תוכן
+copy_branch = העתקת שם ענף
+copy_success = הועתק!
+copy_error = העתקה נכשלה
+copy_type_unsupported = אי אפשר להעתיק קבצים מסוג זה
+write = כתיבה
+preview = תצוגה מקדימה
+loading = נטען…
+error = שגיאה
+error404 = דף זה לא קיים או שאין לך אילו גישה .
+go_back = אחורה
+invalid_data = הבנת הקלט נכשלה: %v
+never = אף פעם
+unknown = לא ידוע
+rss_feed = פיד RSS
+pin = הצמדה
+unpin = ביטול הצמדה
+archived = ארכיון
+concept_system_global = גלובלי
+concept_user_individual = אישי
+concept_code_repository = קרפיף
+concept_user_organization = ארגון
+show_timestamps = הצגת זמנים
+show_log_seconds = הצגת שניות
+show_full_screen = מסך מלא
+download_logs = הורדת לוגים
+confirm_delete_selected = למחוק את כל הפריטים המסומנים?
+name = שם
+value = ערך
+filter = מסנן
+filter.clear = ניקוי מסננים
+filter.is_archived = בארכיון
+filter.not_archived = מחוץ לארכיון
+filter.is_fork = רק מזלוגים
+filter.not_fork = להוציא מזלוגים
+filter.is_mirror = רק מראות
+filter.not_mirror = להוציא מראות
+filter.is_template = רק תבניות
+filter.not_template = להוציא תבניות
+filter.public = ציבורי
+filter.private = פרטי
+
+[search]
+search = חיפוש...
+type_tooltip = סוג חיפוש
+fuzzy = מקורב
+fuzzy_tooltip = תוצאות יתאימו לתוכן תיבת החיפוש בקירוב; מומלץ כנגד שגיאות כתיב
+union = מילות מפתח
+union_tooltip = תוצאות יכללו לפחות מילת מפתח אחת; אפשר להפריד מילות מפתח עם רווחים
+exact = מדויק
+exact_tooltip = תוצאות יתאימו במדויק לתוכן תיבת החיפוש
+regexp = רג'קס
+repo_kind = חיפוש קרפיפים...
+user_kind = חיפוש אנשים...
+org_kind = חיפוש ארגונים...
+team_kind = חיפוש צוותים...
+code_kind = חיפוש קוד...
+code_search_unavailable = חיפוש קוד לא זמין. נא לדווח למנהלי המערכת.
+package_kind = חיפוש חבילות...
+project_kind = חיפוש פרוייקטים...
+branch_kind = חיפוש ענפים...
+commit_kind = חיפוש קומיטים...
+runner_kind = חיפוש מריצים...
+no_results = לא נמצאו תוצאות.
+issue_kind = חיפוש סוגיות...
+keyword_search_unavailable = חיפוש מילות מפתח לא זמין. נא לדווח למנהלי המערכת.
+
+[aria]
+navbar = סרגל הניווט
+footer.software = על תוכנה זו
+footer.links = קישורים
+
+[heatmap]
+number_of_contributions_in_the_last_12_months = % תרומות ב־12 החודשים האחרונים
+contributions_zero = אפס תרומות
+contributions_format = {contributions} ב{day} ל{month} {year}
+contributions_one = תרומה
+contributions_few = תרומות
+less = פחות
+more = יותר
+
+[editor]
+buttons.heading.tooltip = הוספת כותרת
+buttons.bold.tooltip = הדגשת טקסט
+buttons.italic.tooltip = הטיית טקסט
+buttons.quote.tooltip = ציטוט
+buttons.code.tooltip = הוספת קוד
+buttons.link.tooltip = הוספת קישור
+buttons.list.unordered.tooltip = הוספת רשימה לא ממוספרת
+buttons.list.ordered.tooltip = הוספת רשימה ממוספרת
+buttons.list.task.tooltip = הוספת רשימת משימות
+buttons.mention.tooltip = תיוג אדם או צוות
+buttons.ref.tooltip = ריפרור לסוגיה או בקשת מיזוג
+buttons.switch_to_legacy.tooltip = מעבר לעורך הישן
+buttons.enable_monospace_font = הפעלת גופן קבוע־רוחב
+buttons.disable_monospace_font = כיבוי גופן קבוע־רוחב
+buttons.new_table.tooltip = הוספת טבלה
+table_modal.header = הוספת טבלה
+table_modal.placeholder.header = כותרת
+table_modal.placeholder.content = תוכן
+table_modal.label.rows = שורות
+table_modal.label.columns = עמודות
+
+[filter]
+string.asc = סדר אלפבתי עולה
+string.desc = סדר אלפבתי יורד
+
+[error]
+occurred = קרתה שגיאה
+not_found = המטרה לא נמצאה.
+network_error = שגיאת אינטרנט
+server_internal = שגיאת שרת פנימית
+
+[startpage]
+install = קל להתקנה
+lightweight = קל
+license = קוד פתוח
+
+[install]
+install = התקנה
+title = הגדרה ראשונית
+db_title = הגדרות מסד מידע
+db_type = סוג מסד מידע
+user = שם משתמש
+password = סיסמה
+db_name = שם מסד המידע
+db_schema = סכימה
+db_schema_helper = תוכן ריק משמע ערך ברירת המחדל ("public") של מסד המידע.
+ssl_mode = SSL
+err_empty_admin_password = סיסמה של מנהל מערכת לא יכולה להיות ריקה.
+err_empty_admin_email = כתובת אימייל של מנהל מערכת היא חובה.
+general_title = הגדרות כלליות
+app_name = שם שרת זה
+
+[mail]
+issue_assigned.pull = @%[1]s שייך אותך לבקשת המיזוג %[2]s בקרפיף %[3]s.
+issue_assigned.issue = @%[1]s שייך אותך לסוגיה %[2]s בקרפיף %[3]s.
+repo.transfer.subject_to = %s רוצה להעביר את הקרפיף "%s" ל־%s
+repo.transfer.subject_to_you = %s רוצה להעביר את הקרפיף "%s" אליך
+repo.collaborator.added.text = הוספת בתור פועל לקרפיף:
+
+[form]
+RepoName = שם קרפיף
+repo_name_been_taken = כבר יש קרפיף בשם זה.
+repository_force_private = פרטיות כפויה מופעלת: קרפיפים פרטיים לא יכולים להעשות ציבוריים.
+repository_files_already_exist = כבר יש קבצים בקרפיף זה. יש לדבר עם מנהל המערכת כדי לתקן את הבעיה.
diff --git a/options/locale/locale_hu-HU.ini b/options/locale/locale_hu-HU.ini
index 57555b90a2..ef94d2de0c 100644
--- a/options/locale/locale_hu-HU.ini
+++ b/options/locale/locale_hu-HU.ini
@@ -787,6 +787,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
@@ -799,6 +800,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
diff --git a/options/locale/locale_id-ID.ini b/options/locale/locale_id-ID.ini
index 1e0044e4ce..8cf3457aae 100644
--- a/options/locale/locale_id-ID.ini
+++ b/options/locale/locale_id-ID.ini
@@ -596,6 +596,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
@@ -607,6 +608,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
diff --git a/options/locale/locale_is-IS.ini b/options/locale/locale_is-IS.ini
index 3a6e844de2..b3cf17fccc 100644
--- a/options/locale/locale_is-IS.ini
+++ b/options/locale/locale_is-IS.ini
@@ -680,6 +680,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ð
diff --git a/options/locale/locale_it-IT.ini b/options/locale/locale_it-IT.ini
index fa5853c92e..4bfc6762b8 100644
--- a/options/locale/locale_it-IT.ini
+++ b/options/locale/locale_it-IT.ini
@@ -220,7 +220,7 @@ platform=Multipiattaforma
lightweight=Leggero
lightweight_desc=Forgejo ha requisiti minimi bassi e può funzionare su un economico Raspberry Pi. Risparmia l'energia della tua macchina!
license=Open Source
-license_desc=Ottieni Forgejo ! Partecipa per contribuire a rendere questo progetto ancora migliore. Non aver paura di diventare un collaboratore!
+license_desc=Ottieni Forgejo ! Partecipa per contribuire a rendere questo progetto ancora più bello. Non aver paura di diventare collaborante!
install_desc = Semplicemente avvia l'eseguibile per la tua piattaforma, distribuiscilo con Docker , oppure scarica il pacchetto .
[install]
@@ -511,11 +511,11 @@ issue.action.push_n=@%[1]s ha immesso %[3]d commit presso %[2]s
issue.action.close=@%[1]s chiuso #%[2]d.
issue.action.reopen=@%[1]s riaperto #%[2]d.
issue.action.merge=@%[1]s unito #%[2]d in %[3]s.
-issue.action.approve=@%[1]s ha approvato questa pull request.
-issue.action.reject=@%[1]s ha richiesto modifiche su questa pull request.
-issue.action.review=@%[1]s ha commentato questa pull request.
-issue.action.review_dismissed=@%[1]s ha respinto l'ultima recensione da %[2]s per questa pull request.
-issue.action.ready_for_review=@%[1]s ha contrassegnato questa pull request pronta per la revisione.
+issue.action.approve=@%[1]s ha approvato questa richiesta di modifica.
+issue.action.reject=@%[1]s ha richiesto modifiche su questa richiesta.
+issue.action.review=@%[1]s ha commentato questa richiesta di modifica.
+issue.action.review_dismissed=@%[1]s ha respinto l'ultima revisione di %[2]s per questa richiesta di modifica.
+issue.action.ready_for_review=@%[1]s ha contrassegnato questa richiesta di modifica come pronta per la revisione.
issue.action.new=@%[1]s creato #%[2]d.
issue.in_tree_path=In %s:
@@ -532,8 +532,8 @@ repo.transfer.subject_to_you=%s ti vorrebbe trasferire il repositorio "%s"
repo.transfer.to_you=tu
repo.transfer.body=Per accettare o respingerla visita %s o semplicemente ignorarla.
-repo.collaborator.added.subject=%s ti ha aggiunto a %s come collaboratorə
-repo.collaborator.added.text=Sei statə aggiuntə come collaboratorə al repositorio:
+repo.collaborator.added.subject=%s ti ha aggiunto a %s come collaborante
+repo.collaborator.added.text=Sei statə aggiuntə come collaborante al repositorio:
reply = o rispondi direttamente a questa email
admin.new_user.subject = Il nuovo utente %s si è appena registrato
admin.new_user.user_info = Informazioni utente
@@ -690,7 +690,7 @@ joined_on = Membro dal %s
block_user = Blocca utente
block_user.detail_1 = Questo utente non ti seguirà più.
block_user.detail_2 = Quest'utente non potrà interagire né con i tuoi repositori, né con le segnalazioni che hai aperto, né con i tuoi commenti.
-block_user.detail_3 = Non sarete in grado di aggiungervi come collaboratorɜ del repositorio.
+block_user.detail_3 = Non sarete in grado di aggiungervi come collaboranti del repositorio.
code = Codice
block = Blocca
unblock = Sblocca
@@ -762,7 +762,7 @@ comment_type_group_lock=Stato blocco
comment_type_group_review_request=Richiesta di revisione
comment_type_group_pull_request_push=Commit aggiunti
comment_type_group_project=Progetto
-comment_type_group_issue_ref=Riferimento del problema
+comment_type_group_issue_ref=Riferimento alla segnalazione
saved_successfully=Le impostazioni sono state salvate correttamente.
privacy=Privacy
keep_activity_private_popup=La tua attività sarà visibile solo a te e agli amministratori dell'istanza
@@ -1029,7 +1029,7 @@ oauth2_application_locked = Forgejo preregistra alcune applicazioni OAuth2 all'a
hooks.desc = Aggiungi richiami HTTP che saranno innescati per tutti i progetti che possiedi.
repos_none = Non possiedi alcun progetto.
blocked_users_none = Non ci sono utenti bloccati.
-keep_email_private_popup = Questo nasconderà il tuo indirizzo e-mail nel tuo profilo, nelle pull request e quando modifichi un file usando l'interfaccia web. I commit inoltrati non saranno modificati. Usa %s nei commit per associarli al tuo profilo.
+keep_email_private_popup = Questo nasconderà il tuo indirizzo e-mail nel tuo profilo, nelle richieste di modifica e quando modifichi un file usando l'interfaccia web. I commit inoltrati non saranno modificati. Usa %s nei commit per associarli al tuo profilo.
verify_gpg_key_success = La chiave GPG "%s" è stata verificata.
added_on = Aggiunto su %s
additional_repo_units_hint = Suggerisci l'attivazione di unità aggiuntive nel repositorio
@@ -1189,7 +1189,7 @@ migrate.migrating_failed_no_addr=Migrazione non riuscita.
migrate.github.description=Migrare i dati da github.com o da server GitHub Enterprise.
migrate.git.description=Migra un repositorio solo da qualsiasi servizio Git.
migrate.gitlab.description=Migrare i dati da gitlab.com o da altre istanze di GitLab.
-migrate.gitea.description=Migrare i dati da gitea.com o altre istanze di Gitea/Forgejo.
+migrate.gitea.description=Migrare i dati da gitea.com o altre istanze di Gitea.
migrate.gogs.description=Migrare i dati da notabug.org o da altre istanze Gogs.
migrate.onedev.description=Migrare i dati da code.onedev.io o da altre istanze OneDev.
migrate.codebase.description=Migrare i dati da codebasehq.com.
@@ -1267,6 +1267,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
@@ -1285,6 +1286,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,8 +1340,8 @@ commits.date=Data
commits.older=Più vecchio
commits.newer=Più recente
commits.signed_by=Firmato da
-commits.signed_by_untrusted_user=Firmato da un utente non attendibile
-commits.signed_by_untrusted_user_unmatched=Firmato da un utente non attendibile che non corrisponde al committer
+commits.signed_by_untrusted_user=Firmato da un*utente non attendibile
+commits.signed_by_untrusted_user_unmatched=Firmato da un*utente non attendibile che non corrisponde al committente
commits.gpg_key_id=ID chiave GPG
commits.ssh_key_fingerprint=Impronta chiave SSH
@@ -1411,7 +1413,7 @@ issues.new.no_reviewers=Nessun revisore
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.
+issues.choose.blank_about=Crea una segnalazione dal modello predefinito.
issues.no_ref=Nessun ramo/etichetta specificati
issues.create=Crea segnalazione
issues.new_label=Nuova etichetta
@@ -1482,8 +1484,8 @@ issues.action_milestone_no_select=Nessuna pietra miliare
issues.action_assignee=Assegnatario
issues.action_assignee_no_select=Nessun assegnatario
issues.opened_by=aperta %[1]s da %[3]s
-pulls.merged_by=di %[3]s è stato fuso %[1]s
-pulls.merged_by_fake=di %[2]s è stato fuso %[1]s
+pulls.merged_by=di %[3]s è stata fusa %[1]s
+pulls.merged_by_fake=di %[2]s è stata fusa %[1]s
issues.closed_by=di %[3]s è stato chiuso %[1]s
issues.opened_by_fake=aperta %[1]s da %[2]s
issues.closed_by_fake=di %[2]s è stato chiuso %[1]s
@@ -1511,7 +1513,7 @@ issues.ref_issue_from=`ha fatto riferimento a questa segnalazion
issues.ref_pull_from=` ha fatto riferimento a questa richiesta di modifica %[4]s %[2]s `
issues.ref_closing_from=`ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la chiuderà , %[2]s `
issues.ref_reopening_from=`ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la riaprirà , %[2]s `
-issues.ref_closed_from=`chiuso questo problema %[4]s %[2]s `
+issues.ref_closed_from=`chiuso questa segnalazione %[4]s %[2]s `
issues.ref_reopened_from=`ha riaperto questa segnalazione %[4]s %[2]s `
issues.ref_from=`da %[1]s`
issues.author=Autore
@@ -1549,32 +1551,32 @@ issues.subscribe=Iscriviti
issues.unsubscribe=Annulla iscrizione
issues.lock=Blocca conversazione
issues.unlock=Sblocca conversazione
-issues.lock.unknown_reason=Impossibile bloccare un problema con un motivo sconosciuto.
+issues.lock.unknown_reason=Impossibile bloccare una segnalazione senza un motivo.
issues.lock_duplicate=Un issue non può essere bloccato due volte.
-issues.unlock_error=Impossibile sbloccare un problema che non è bloccato.
-issues.lock_with_reason=ha bloccato come %s e limitato la conversazione ai collaboratori %s
-issues.lock_no_reason=ha bloccato e limitato la conversazione ai collaboratori %s
+issues.unlock_error=Impossibile sbloccare una segnalazione che non è bloccata.
+issues.lock_with_reason=ha bloccato come %s e limitato la conversazione allɜ collaboranti %s
+issues.lock_no_reason=ha bloccato e limitato la conversazione allɜ collaboranti %s
issues.unlock_comment=ha sbloccato questa conversazione %s
issues.lock_confirm=Blocca
issues.unlock_confirm=Sblocca
issues.lock.notice_1=- Altri utenti non possono aggiungere nuovi commenti a questa segnalazione.
-issues.lock.notice_2=- Tu e altri collaboratori con accesso a questo repository potete ancora lasciare commenti che altri possono vedere.
-issues.lock.notice_3=- Puoi sempre sbloccare questo problema in futuro.
-issues.unlock.notice_1=- Tutti potranno commentare nuovamente questo problema.
-issues.unlock.notice_2=- Puoi sempre chiudere nuovamente questo problema in futuro.
+issues.lock.notice_2=- Tu e altrɜ collaboranti con accesso a questo repositorio potete ancora lasciare commenti visibili da altre persone.
+issues.lock.notice_3=- Puoi sempre sbloccare questa segnalazione in futuro.
+issues.unlock.notice_1=- Tuttɜ potranno commentare nuovamente questa segnalazione.
+issues.unlock.notice_2=- Puoi sempre chiudere nuovamente questa segnalazione in futuro.
issues.lock.reason=Motivo per il blocco
issues.lock.title=Blocca la conversazione su questa issue.
issues.unlock.title=Sblocca la conversazione su questa issue.
-issues.comment_on_locked=Non puoi commentare un problema bloccato.
+issues.comment_on_locked=Non puoi commentare una segnalazione bloccata.
issues.delete=Elimina
-issues.delete.title=Eliminare questo problema?
-issues.delete.text=Vuoi davvero eliminare questo problema? (Questo rimuoverà permanentemente tutti i contenuti. Considera invece di chiuderlo, se vuoi tenerlo archiviato)
+issues.delete.title=Eliminare la segnalazione?
+issues.delete.text=Vuoi davvero eliminare la segnalazione? (Questo rimuoverà permanentemente tutti i contenuti. Considera invece di chiuderla, se vuoi tenerla archiviata)
issues.tracker=Cronografo
issues.start_tracking_short=Avvia timer
issues.start_tracking=Avvia cronografo
issues.start_tracking_history=ha iniziato a lavorare %s
-issues.tracker_auto_close=Il timer verrà interrotto automaticamente una volta che il problema verrá chiuso
-issues.tracking_already_started=`Hai già avviato il monitoraggio del tempo su un altro problema !`
+issues.tracker_auto_close=Il timer verrà fermato automaticamente quando questa segnalazione verrà chiusa
+issues.tracking_already_started=`Hai già avviato il monitoraggio del tempo su un'altra segnalazione !`
issues.stop_tracking=Ferma timer
issues.stop_tracking_history=`ha smesso di funzionare %s`
issues.cancel_tracking=Scarta
@@ -1620,7 +1622,7 @@ issues.dependency.pr_closing_blockedby=Questa richiesta di modifica non può ess
issues.dependency.issue_closing_blockedby=Questa segnalazione non può essere chiusa per via delle seguenti segnalazioni
issues.dependency.issue_close_blocks=Questa segnalazione impedisce la chiusura delle seguenti segnalazioni
issues.dependency.pr_close_blocks=Questa richiesta di modifica impedisce la chiusura delle seguenti segnalazioni
-issues.dependency.issue_close_blocked=Devi chiudere tutte le anomalie che bloiccano questo problema prima di chiudelo.
+issues.dependency.issue_close_blocked=Vanno chiuse tutte le segnalazioni che bloccano quest'ultima, prima di poterla chiudere.
issues.dependency.pr_close_blocked=Chiudere tutte le anomalie che bloccano la richiesta di pull prima di effettaure il merge.
issues.dependency.blocks_short=Blocchi
issues.dependency.blocked_by_short=Dipende da
@@ -1628,8 +1630,8 @@ issues.dependency.remove_header=Rimuovi Dipendenza
issues.dependency.issue_remove_text=Questo rimuoverà la dipendenza da questa issue. Continuare?
issues.dependency.pr_remove_text=Questo rimuoverà la dipendenza da questa pull request. Continuare?
issues.dependency.setting=Abilita le dipendenze per segnalazioni e richieste di modifica
-issues.dependency.add_error_same_issue=Non si può fare dipendere un problema da se stesso.
-issues.dependency.add_error_dep_issue_not_exist=Il problema dipendente non esiste.
+issues.dependency.add_error_same_issue=Non si può fare dipendere una segnalazione da se stessa.
+issues.dependency.add_error_dep_issue_not_exist=La segnalazione dalla quale dipende non esiste.
issues.dependency.add_error_dep_not_exist=La dipendenza non esiste.
issues.dependency.add_error_dep_exists=La dipendenza esiste già.
issues.dependency.add_error_cannot_create_circular=Non puoi creare una dipendenza con due segnalazioni che si bloccano a vicenda.
@@ -1782,7 +1784,7 @@ pulls.auto_merge_newly_scheduled_comment=`ha programmato questa pull request per
pulls.auto_merge_canceled_schedule_comment=`cancella l'auto-merging di questa pull request quando tutti i testi sono superati %[1]s`
pulls.delete.title=Eliminare questa pull request?
-pulls.delete.text=Vuoi davvero eliminare questo problema? (Questo rimuoverà permanentemente tutti i contenuti. Considera invece di chiuderlo, se vuoi tenerlo archiviato)
+pulls.delete.text=Vuoi davvero eliminare questa richiesta di modifica? (Ciò rimuoverà permanentemente tutti i contenuti. Considera invece di chiuderla, se vuoi tenerla archiviata)
@@ -1816,8 +1818,8 @@ ext_wiki.desc=Collegamento a una wiki esterna.
wiki=Wiki
wiki.welcome=Benvenuti nella Wiki.
-wiki.welcome_desc=La wiki ti permette di scrivere e condividere documentazione con i collaboratori.
-wiki.desc=Scrivi e condividi documentazione con i collaboratori.
+wiki.welcome_desc=La wiki ti permette di scrivere e condividere documentazione con lɜ collaboranti.
+wiki.desc=Scrivi e condividi documentazione con lɜ collaboranti.
wiki.create_first_page=Crea la prima pagina
wiki.page=Pagina
wiki.filter_page=Filtra pagina
@@ -1915,7 +1917,7 @@ search.code_search_unavailable=Attualmente la ricerca di codice non è disponibi
settings=Impostazioni
settings.desc=Impostazioni ti permette di gestire le impostazioni del repository
settings.options=Repository
-settings.collaboration=Collaboratori
+settings.collaboration=Collaboranti
settings.collaboration.admin=Amministratore
settings.collaboration.write=Scrittura
settings.collaboration.read=Lettura
@@ -2009,14 +2011,14 @@ settings.signing_settings=Impostazioni verifica firma
settings.trust_model=Modello di fiducia per la firma
settings.trust_model.default=Modello di fiducia predefinito
settings.trust_model.default.desc=Usa il modello di trust del repository predefinito per questa installazione.
-settings.trust_model.collaborator=Collaboratore
-settings.trust_model.collaborator.long=Collaboratore: Firme di fiducia da parte dei collaboratori
-settings.trust_model.collaborator.desc=Le firme valide da parte dei collaboratori di questo repository saranno contrassegnate con "trusted" (sia che corrispondano al committer o meno). Altrimenti, le firme valide saranno contrassegnate con "untrusted" se la firma corrisponde al committer e "unmatched" se non.
+settings.trust_model.collaborator=Collaborante
+settings.trust_model.collaborator.long=Collaborante: firme di fiducia da parte dellɜ collaboranti
+settings.trust_model.collaborator.desc=Le firme valide da parte dellɜ collaboranti di questo repositorio saranno contrassegnate con "fidate" (sia che corrispondano a chi ha fatto il commit o meno). Altrimenti saranno contrassegnate con "non fidate" se la firma corrisponde a chi ha fatto il commit e "senza riscontro" se non.
settings.trust_model.committer=Autorə
settings.trust_model.committer.long=Committer: firme affidabili che corrispondono ai committer (questo corrisponde a GitHub e costringerà i commit firmati di Forgejo ad avere Forgejo come committer)
-settings.trust_model.collaboratorcommitter=Collaboratore+Committer
-settings.trust_model.collaboratorcommitter.long=Collaboratore+Committer: Firme di fiducia da parte dei collaboratori che corrispondono al committer
-settings.trust_model.collaboratorcommitter.desc=Le firme valide da parte dei collaboratori di questa repository saranno contrassegnate "fidate" se corrispondono al committer. Altrimenti le firme saranno contrassegnate con "untrusted" se la firma corrisponde al committer non corrisponde. Questo costringerà Forgejo a essere contrassegnato come committer su impegni firmati con l'effettivo committer contrassegnato come Co-Authored-By: e Co-Committed-By: nel commit. La chiave Forgejo predefinita deve corrispondere a un utente nel database.
+settings.trust_model.collaboratorcommitter=Collaborante+Committente
+settings.trust_model.collaboratorcommitter.long=Collaborante+Committente: firme di fiducia da parte dellɜ collaboranti che corrispondono allə committente
+settings.trust_model.collaboratorcommitter.desc=Le firme valide da parte dellɜ collaboranti di questo repositorio saranno contrassegnate "fidate" se corrispondono a chi fa il commit. Altrimenti saranno contrassegnate con "non fidate" se la firma corrisponde a chi fa il commit, e "senza riscontro" se non corrisponde. Questo costringerà Forgejo a essere contrassegnato come committente sui commit firmati, con l'effettivə committente contrassegnatə come Co-Authored-By: e Co-Committed-By: nel commit. La chiave Forgejo predefinita deve corrispondere a un*utente nella base dati.
settings.wiki_delete=Elimina dati wiki
settings.wiki_delete_desc=L'eliminazione dei dati della wiki del repository è permanente e non può essere annullata.
settings.wiki_delete_notices_1=-Questa operazione eliminerà permanentemente e disabiliterà la wiki repository per %s.
@@ -2025,21 +2027,21 @@ settings.wiki_deletion_success=I dati della repository wiki sono stati eliminati
settings.delete=Elimina questo progetto
settings.delete_desc=L'eliminazione di un repository è un'operazione permanente e non può essere annullata.
settings.delete_notices_1=-Questa operazione NON PUÒ essere annullata.
-settings.delete_notices_2=-Questa operazione eliminerà definitivamente il repository %s inclusi codice, issue, commenti, dati wiki e impostazioni collaboratore.
+settings.delete_notices_2=-Questa operazione eliminerà definitivamente il repositorio %s , inclusi codice, segnalazioni commenti, dati della wiki e impostazioni collaboranti.
settings.delete_notices_fork_1=-I fork di questo repository diventeranno indipendenti dopo la cancellazione.
settings.deletion_success=Il repository è stato eliminato.
settings.update_settings_success=Le impostazioni del repository sono state aggiornate.
settings.confirm_delete=Elimina progetto
-settings.add_collaborator=Aggiungi collaboratore
-settings.add_collaborator_success=Il collaboratore è stato aggiunto.
-settings.add_collaborator_inactive_user=Non posso aggiungere un utente inattivo come collaboratore.
-settings.add_collaborator_duplicate=Il collaboratore è già stato aggiunto a questo repository.
+settings.add_collaborator=Aggiungi collaborante
+settings.add_collaborator_success=Lə collaborante è statə aggiuntə.
+settings.add_collaborator_inactive_user=Non posso aggiungere un*utente inattivə come collaborante.
+settings.add_collaborator_duplicate=Lə collaborante è già statə aggiuntə a questo repositorio.
settings.delete_collaborator=Rimuovi
-settings.collaborator_deletion=Rimuovi collaboratore
-settings.collaborator_deletion_desc=Rimuovere un collaboratore revocherà l'accesso a questo repository. Continuare?
-settings.remove_collaborator_success=Il collaboratore è stato rimosso.
+settings.collaborator_deletion=Rimuovi collaborante
+settings.collaborator_deletion_desc=Rimuovere unə collaborante ne revocherà l'accesso a questo repositorio. Continuare?
+settings.remove_collaborator_success=Lə collaborante è statə rimossə.
settings.search_user_placeholder=Ricerca utente…
-settings.org_not_allowed_to_be_collaborator=Le organizzazioni non possono essere aggiunte come un collaboratore.
+settings.org_not_allowed_to_be_collaborator=Le organizzazioni non possono essere aggiunte come collaborante.
settings.change_team_access_not_allowed=La modifica dell'accesso al team per il repository è stato limitato al solo proprietario dell'organizzazione
settings.team_not_in_organization=Il team non è nella stessa organizzazione del repository
settings.teams=Gruppi
@@ -2409,7 +2411,7 @@ actions = Azioni
commit.operations = Operazioni
issues.action_check = Seleziona/Deseleziona
issues.close = Chiudi segnalazione
-issues.role.collaborator = Collaboratore
+issues.role.collaborator = Collaborante
desc.sha256 = SHA256
editor.add = Aggiungi %s
editor.update = Aggiorna %s
@@ -2452,7 +2454,7 @@ settings.units.overview = Panoramica
all_branches = Tutti i rami
projects.column.assigned_to = Assegnato 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.
+settings.add_collaborator_blocked_them = Non si può aggiungere lə collaborante perché ha bloccato lə proprietariə 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.
branch.tag_collision = Il ramo "%s" non può essere creato perché esiste già un'etichetta con lo stesso nome nel repositorio.
@@ -2566,7 +2568,7 @@ settings.wiki_branch_rename_success = Il nome del ramo della wiki della repo è
settings.wiki_branch_rename_failure = Impossibile normalizzare il nome del ramo della wiki della repo.
settings.confirm_wiki_branch_rename = Rinomina il ramo della wiki
settings.wiki_rename_branch_main_notices_2 = Ciò rinominerà permanentemente il ramo interno della wiki della repo di %s. Passaggi esistenti dovranno essere aggiornati.
-settings.add_collaborator_blocked_our = Non si può aggiungere il collaboratore perché il proprietario del progetto lo ha bloccato.
+settings.add_collaborator_blocked_our = Non si può aggiungere lə collaborante perché lə proprietariə del progetto l'ha bloccatə.
settings.webhook.replay.description_disabled = Per riprodurre questo richiamo HTTP, attivalo.
settings.event_wiki_desc = Pagina wiki creata, rinominata, modificata o rimossa.
settings.event_pull_request_review_request = Richiesta di modifica revisionata
@@ -2609,7 +2611,7 @@ invisible_runes_description = `Questo file contiene caratteri Unicode invisibili
issues.filter_type.reviewed_by_you = Revisionati da te
projects.edit_success = Il progetto "%s" è stato aggiornato.
issues.keyword_search_unavailable = La ricerca per parola chiave non è attualmente disponibile. Contatta l'amministratore del sito.
-issues.role.collaborator_helper = Questo utente è stato invitato a collaborare sul progetto.
+issues.role.collaborator_helper = Quest*utente è statə invitatə a collaborare al progetto.
pulls.commit_ref_at = `ha fatto riferimento a questa richiesta di modifica da un commit %[2]s `
settings.thread_id = ID della discussione
release.title = Titolo del rilascio
@@ -2661,7 +2663,7 @@ settings.branches.add_new_rule = Aggiungi una nuova regola
settings.actions_desc = Abilita azioni del progetto
settings.new_owner_blocked_doer = Il nuovo proprietario ti ha bloccato.
settings.update_settings_no_unit = Ili progetto dovrebbe consentire almeno qualche tipo di interazione.
-settings.add_collaborator_owner = Non si può aggiungere un proprietario come collaboratore.
+settings.add_collaborator_owner = Non si può aggiungere unə proprietariə come collaborante.
branch.delete_desc = L'eliminazione di un ramo è definitiva. Nonostante il ramo eliminato potrebbe continuare ad esistere per un breve periodo di tempo prima di essere realmente eliminato, l'eliminazione NON PUÒ essere annullata in molti casi. Continuare?
editor.invalid_commit_mail = Email invalida per creare un commit.
editor.branch_does_not_exist = Non esiste nessun ramo "%s" nel repositorio.
@@ -2780,9 +2782,9 @@ settings.matrix.access_token_helper = È consigliata l'impostazione di un accoun
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
+issues.edit.already_changed = Impossibile salvare le modifiche alla segnalazione. Sembra che il contenuto sia già stato modificato da un*altrə utente. Aggiornare la pagina e provare a modificare nuovamente per evitare di sovrascrivere le modifiche
subscribe.pull.guest.tooltip = Accedi per iscriverti a questa richiesta di modifica.
-subscribe.issue.guest.tooltip = Accedere per sottoscrivere questo problema.
+subscribe.issue.guest.tooltip = Accedere per seguire questa segnalazione.
n_release_one = rilascio %s
n_release_few = rilasci %s
issues.author.tooltip.pr = Quest'utente è l'autorə di questa richiesta di modifica.
@@ -2889,7 +2891,7 @@ teams.read_access_helper=I membri possono visualizzare e clonare i repository de
teams.write_access=Scrittura
teams.write_access_helper=I membri possono leggere e pushare sui repository del team.
teams.admin_access=Accesso amministratore
-teams.admin_access_helper=I membri possono pullare e pushare sulle repository del team e anche aggiungere collaboratori.
+teams.admin_access_helper=I membri possono prelevare e immettere sui repositori del team e aggiungere collaboranti.
teams.no_desc=Questo team non ha alcuna descrizione
teams.settings=Impostazioni
teams.owners_permission_desc=I proprietari hanno pieno accesso a tutti i repository e hanno diritti di amministratore nell'organizzazione.
@@ -2902,7 +2904,7 @@ teams.delete_team_desc=Eliminare un team revocherà l'accesso al repository da p
teams.delete_team_success=Il team è stato eliminato.
teams.read_permission_desc=Questo team concede l'accesso di lettura : i membri possono visualizzare e clonare i repository del team.
teams.write_permission_desc=Questo team concede l'accesso di Scrittura : i membri possono leggere da e pushare sui repository del team.
-teams.admin_permission_desc=Questo team concede l'accesso di Amministratore : i membri possono leggere da, pushare su e aggiungere collaboratori ai repository del team.
+teams.admin_permission_desc=Questo team concede l'accesso di Amministrante : i membri possono leggere da, immettere in e aggiungere collaboranti ai repositori del team.
teams.create_repo_permission_desc=Inoltre, questo team concede il permesso di Creare repository : i membri possono creare nuove repository nell'organizzazione.
teams.repositories=Progetti della squadra
teams.search_repo_placeholder=Ricerca repository…
@@ -3221,7 +3223,7 @@ auths.tip.google_plus=Ottieni le credenziali del client OAuth2 dalla console API
auths.tip.openid_connect=Utilizza l'OpenID Connect Discovery URL (/.well-known/openid-configuration) per specificare gli endpoint
auths.tip.twitter=Vai su %s, crea una applicazione e assicurati che l'opzione "Allow this application to be used to Sign In with Twitter" sia abilitata
auths.tip.discord=Registra una nuova applicazione su %s
-auths.tip.yandex=`Crea una nuova applicazione su %s. Seleziona i seguenti permessi da "Yandex. assport API": "Access to email address", "Access to user avatar" e "Access to username, name and surname, gender"`
+auths.tip.yandex=`Crea una nuova applicazione su %s. Seleziona i seguenti permessi da "Yandex.Passport API": "Access to email address", "Access to user avatar" e "Access to username, name and surname, gender"`
auths.tip.mastodon=Inserisci un URL di istanza personalizzato per l'istanza mastodon con cui vuoi autenticarti (o usa quella predefinita)
auths.edit=Modifica fonte di autenticazione
auths.activated=Questa fonte di autenticazione è attiva
@@ -3463,7 +3465,7 @@ auths.tips.gmail_settings = Impostazioni Gmail:
config.test_mail_failed = Impossibile inviare email di prova a "%s": %v
users.details = Dettagli dell'utente
monitor.queue.review_add = Revisiona / aggiungi lavoratori
-self_check.no_problem_found = Nessun problema trovato.
+self_check.no_problem_found = Non c'è ancora nessuna segnalazione.
self_check.database_inconsistent_collation_columns = La base di dati sta usando la collazione %s ma queste colonne usano una collazione diversa. Potrebbe causare problemi imprevisti.
monitor.queue.settings.remove_all_items = Rimuovi tutto
monitor.queue.settings.desc = Le piscine crescono dinamicamente in risposta al blocco dei lavoratori in coda.
@@ -3483,11 +3485,13 @@ config.app_slogan = Slogan dell'istanza
auths.default_domain_name = Nome di dominio predefinito utilizzato per l'indirizzo e-mail
+users.restricted.description = Permetti di interagire solo con i repositori e le organizzazioni in cui l'utente è aggiuntə come collaborante. Ciò evita l'accesso ai repositori pubblici di quest'istanza.
+
[action]
create_repo=ha creato il repository %s
rename_repo=repository rinominato da %[1]s
a [3]s
create_issue=`ha aperto la segnalazione %[3]s#%[2]s `
-close_issue=`ha chiuso il problema %[3]s#%[2]s `
+close_issue=`ha chiuso la segnalazione %[3]s#%[2]s `
reopen_issue=`ha riaperto la segnalazione %[3]s#%[2]s `
create_pull_request=`ha creato la pull request %[3]s#%[2]s `
close_pull_request=`ha chiuso la pull request %[3]s#%[2]s `
diff --git a/options/locale/locale_ja-JP.ini b/options/locale/locale_ja-JP.ini
index b0fc38d911..2a4f075994 100644
--- a/options/locale/locale_ja-JP.ini
+++ b/options/locale/locale_ja-JP.ini
@@ -1217,7 +1217,7 @@ migrate.migrating_failed_no_addr=移行に失敗しました。
migrate.github.description=github.com やその他の GitHub エンタープライズサーバーからデータを移行します。
migrate.git.description=Git サービスからリポジトリのみを移行します。
migrate.gitlab.description=gitlab.com やその他の GitLab インスタンスからデータを移行します。
-migrate.gitea.description=gitea.com やその他の Gitea/Forgejo インスタンスからデータを移行します。
+migrate.gitea.description=gitea.com やその他の Gitea インスタンスからデータを移行します。
migrate.gogs.description=notabug.org やその他の Gogs インスタンスからデータを移行します。
migrate.onedev.description=code.onedev.io やその他の OneDev インスタンスからデータを移行します。
migrate.codebase.description=codebasehq.com からデータを移行します。
@@ -1305,6 +1305,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=コミットグラフ
@@ -1328,6 +1329,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=ファイルはロックされています
diff --git a/options/locale/locale_ko-KR.ini b/options/locale/locale_ko-KR.ini
index 6eb9dd634e..0573982812 100644
--- a/options/locale/locale_ko-KR.ini
+++ b/options/locale/locale_ko-KR.ini
@@ -128,7 +128,7 @@ copy_success = 복사되었습니다!
copy_error = 복사 실패
copy_type_unsupported = 이 파일 형식은 복사할 수 없습니다
error = 오류
-error404 = 도달하려는 페이지가 존재하지 않거나 볼 수 있도록 인증되지 않았습니다 .
+error404 = 도달하려는 페이지가 존재하지 않거나 볼 수 있는 권한이 없습니다 .
go_back = 돌아가기
invalid_data = 유효하지 않는 데이터: %v
unknown = 알 수 없음
@@ -160,6 +160,16 @@ view = 보기
never = 안함
test = 테스트
+new_repo.title = 새 저장소
+new_org.title = 새 조직
+new_repo.link = 새 저장소
+new_org.link = 새 조직
+copy_path = 경로 복사
+
+new_migrate.title = 마이그레이션
+new_migrate.link = 새 마이그레이션
+error413 = 사용 가능한 할당량을 모두 소진하였습니다.
+
[aria]
navbar = 내비게이션 바
footer.links = 링크
@@ -183,6 +193,21 @@ buttons.code.tooltip = 코드 추가
buttons.link.tooltip = 링크 추가
buttons.quote.tooltip = 인용구 추가
+buttons.list.unordered.tooltip = 불릿 리스트 추가
+buttons.list.ordered.tooltip = 번호로 된 리스트 추가
+buttons.list.task.tooltip = 작업 목록 추가
+buttons.mention.tooltip = 사용자 또는 팀을 언급
+buttons.ref.tooltip = 이슈 또는 풀 리퀘스트 참조
+buttons.switch_to_legacy.tooltip = 대신에 구형 편집기 사용
+buttons.enable_monospace_font = 고정 폭 글꼴 활성화
+buttons.disable_monospace_font = 고정 폭 글꼴 비활성화
+buttons.new_table.tooltip = 테이블 추가
+table_modal.header = 테이블 추가
+table_modal.placeholder.header = 헤더
+table_modal.placeholder.content = 내용
+table_modal.label.rows = 행
+table_modal.label.columns = 열
+
[filter]
string.desc = 하 - 가
string.asc = 가 - 하
@@ -191,6 +216,10 @@ string.asc = 가 - 하
network_error = 네트워크 오류
server_internal = 내부 서버 오류
+occurred = 에러가 발생함
+report_message = 이것이 Forgejo의 버그라고 생각한다면, Codeberg 에서 이슈를 검색하거나 필요하다면 새 이슈를 만들어주세요.
+not_found = 타겟을 찾을 수 없습니다.
+
[startpage]
app_desc=편리한 설치형 Git 서비스
install=쉬운 설치
@@ -198,6 +227,11 @@ platform=크로스 플랫폼
lightweight=가벼움
license=오픈 소스
+install_desc = 간단히 당신의 기기에서바이너리를 실행하거나 , Docker 를 사용하거나, 패키지 저장소 에서 설치할 수 있습니다.
+platform_desc = Forgejo는 Linux와 FreeBSD등의 자유 오픈소스 운영 체제를 포함한 다양한 CPU 아키텍처에서 실행됩니다. 마음 가는대로 고르세요!
+lightweight_desc = Forgejo의 낮은 전력 소모량은 값싼 Raspberry Pi마저 구동할 수 있게 합니다. 기기의 에너지를 절약하세요!
+license_desc = Forgejo 를 설치해보세요! Forgejo를 개선하기 위해 기여 할 수 있습니다. 기여자가 되기를 망설이지 마세요!
+
[install]
install=설치
title=초기 설정
@@ -205,7 +239,7 @@ docker_helper=Forgejo를 Docker에서 실행하려면 설정 전에 이 형식으로 입력하세요.
-mailer_user=SMTP 사용자이름
+mailer_user=SMTP 사용자명
mailer_password=SMTP 비밀번호
register_confirm=가입시 이메일 확인 필수
mail_notify=이메일 알림 켜기
@@ -250,9 +284,9 @@ server_service_title=서버 및 기타 서비스 설정
offline_mode=로컬 모드 켜기
offline_mode.description=타사 콘텐츠 전송 네트워크를 사용하지 않도록 설정하고 모든 리소스를 로컬에서 제공합니다.
disable_gravatar=Gravatar 사용안함
-disable_gravatar.description=Gravatar 및 타사 아바타 소스를 사용하지 않도록 설정합니다. 사용자가 로컬로 아바타를 업로드하지 않는 한 기본 아바타가 사용됩니다.
+disable_gravatar.description=Gravatar를 비롯한 타사 아바타 출처를 사용하지 않도록 설정합니다. 사용자가 직접 아바타를 업로드하지 않는 한 기본 아바타를 사용합니다.
federated_avatar_lookup=탈중앙화 아바타 사용
-federated_avatar_lookup.description=libravatar 기반 오픈소스 연합 아바타 조회를 허용합니다.
+federated_avatar_lookup.description=Libravatar 아바타를 조회합니다.
disable_registration=사용자 등록 비활성화
disable_registration.description=인스턴스 관리자만이 새 사용자 계정을 추가할 수 있게 됩니다. 공개 인스턴스를 제공할 예정이고 많은 양의 스팸 계정을 감당할 준비가 되어 있지 않다면 사용자 등록을 비활성화 할 것을 강력히 권고합니다.
allow_only_external_registration.description=새 계정을 등록하려는 사용자는 설정된 외부 서비스를 이용해야만 새 계정을 등록할 수 있습니다.
@@ -264,7 +298,7 @@ enable_captcha.description=사용자 등록시 캡차를 요구합니다.
require_sign_in_view=인스턴스의 콘텐츠를 볼때 로그인 요구
admin_setting.description=관리자 계정을 만드는 것은 선택사항입니다. 첫번째로 등록된 사용자는 자동적으로 관리자로 지정됩니다.
admin_title=관리자 계정 설정
-admin_name=관리자 이름
+admin_name=관리자의 사용자명
admin_password=비밀번호
confirm_password=비밀번호 확인
admin_email=이메일 주소
@@ -273,18 +307,18 @@ 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
+run_user_not_match="실행 사용자명"이 현재 사용자명과 다릅니다: %s -> %s
save_config_failed=설정을 저장할 수 없습니다: %v
invalid_admin_setting=관리자 계정 설정이 올바르지 않습니다: %v
invalid_log_root_path=로그(Log) 의 경로가 올바르지 않습니다: %v
default_keep_email_private=이메일 주소 숨김처리를 기본값으로 설정
-default_keep_email_private.description=새 사용자에 대한 이메일 주소 숨김처리를 기본값으로 설정합니다.
+default_keep_email_private.description=새 사용자에 대한 이메일 주소 숨김처리를 기본값으로 설정해 가입 직후 정보가 유출되는것을 방지합니다.
default_allow_create_organization=조직 생성 허용을 기본값으로 설정
-default_allow_create_organization.description=신규 사용자 생성시 조직 생성을 기본값으로 설정합니다.
-default_enable_timetracking=시간 추적 사용을 기본값으로 설정
-default_enable_timetracking.description=신규 레포지토리에 대한 시간 추적 사용을 기본값으로 설정합니다.
+default_allow_create_organization.description=신규 사용자에게 기본적으로 조직 생성 권한을 부여합니다. 이 옵션이 꺼져있다면, 관리자가 신규 사용자에게 조직 생성 권한을 부여해야합니다.
+default_enable_timetracking=시간 기록 기능을 기본적으로 사용
+default_enable_timetracking.description=신규 저장소가 시간기록 기능을 기본적으로 사용할 수 있습니다.
no_reply_address=가려진 이메일 도메인
-no_reply_address_helper=가려진 이메일을 가진 사용자에게 적용될 이메일 도메인입니다. 예를 들어, 사용자 'joe'의 가려잔 이메일 도메인이 'noreply.example.org'로 설정되어 있으면 'joe@noreply.example.org'로 처리 됩니다.
+no_reply_address_helper=이메일을 가린 사용자에게 적용될 이메일 도메인입니다. 예를 들어, 사용자명 'joe'가 도메인'noreply.example.org'로 이메일을 가리면 Git에 'joe@noreply.example.org'로 로그인 하게 됩니다.
db_schema_helper = 데이터베이스 기본값 ("공개")를 사용하려면 빈 칸으로 두세요.
require_db_desc = Forgejo를 사용하려면 MySQL, PostgreSQL, SQLite3 또는 TiDB (MySQL 프로토콜) 이 설치되어 있어야 합니다.
domain = 서버 도메인
@@ -292,8 +326,19 @@ smtp_from_invalid = "이메일 발신인" 주소가 유효하지 않습니다
enable_captcha = 등록 시 CAPTCHA 활성화
allow_only_external_registration = 외부 서비스를 통한 등록만 허용
+reinstall_error = 이미 존재하는 Forgejo 데이터베이스에 설치를 시도중임
+reinstall_confirm_message = 이미 존재하는 Forgejo 데이터베이스에 재설치를 하는것은 다수의 문제의 원인이 될 수 있습니다. 대부분의 경우 이미 존재하는 "app.ini" 를 사용해 Forgejo를 구동해야합니다. 당신이 무엇을 하고있는지 명확히 알고있다면 다음 사항들을 확인하세요:
+reinstall_confirm_check_1 = app.ini의 SECRET_KEY로 암호화 되어있는 데이터를 잃을 수 있습니다: 2FA/OTP를 통해 로그인 할 수 없으며 & 미러가 제대로 작동하지 않게됩니다. app.ini 파일에 정확한 SECRET_KEY가 있는것이 확실하다면 체크하세요.
+reinstall_confirm_check_2 = 저장소와 설정에 재동기화가 요구될 수 있습니다. 이 박스에 체크하면 저장소의 훅과 authorized_key 들을 수동으로 재동기화해야 한다는 것을 인지한다는 것을 의미합니다. 저장소와 미러의 설정이 올바른지 확인하세요.
+reinstall_confirm_check_3 = Forgejo가 올바른 app.ini 위치로 실행중이며 그것이 다시 설치할 대상이 맞다는것을 전적으로 확신합니다. 위의 위험성들을 인지하고 있음에 동의합니다.
+err_admin_name_pattern_not_allowed = 관리자의 사용자명이 올바르지 않음, 사용자명이 예약된 패턴과 일치함
+app_slogan = 인스턴스 슬로건
+app_slogan_helper = 인스턴스의 슬로건을 입력하세요. 비워두면 비활성화됩니다.
+run_user_helper = Forgejo를 구동하는 운영체제의 사용자명입니다. 이 사용자는 저장소 루트 경로에 접근권한이 있어야 합니다.
+allow_dots_in_usernames = 사용자들이 마침표를 사용자명에 사용할 수 있도록 허가합니다. 이미 존재하는 계정에는 영향을 주지 않습니다.
+
[home]
-uname_holder=사용자 이름 또는 이메일 주소
+uname_holder=사용자명 또는 이메일 주소
password_holder=비밀번호
switch_dashboard_context=대시보드 컨텍스트 바꾸기
my_repos=저장소
@@ -337,7 +382,7 @@ allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨)
reset_password_mail_sent_prompt=확인 메일이 %s 로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오.
active_your_account=계정 활성화
account_activated=계정이 활성화 되었습니다
-prohibit_login =
+prohibit_login =
resent_limit_prompt=활성화를 위한 이메일을 이미 전송했습니다. 3분 내로 이메일을 받지 못한 경우 재시도해주세요.
has_unconfirmed_mail=안녕하세요 %s, 이메일 주소(%s )가 확인되지 않았습니다. 확인 메일을 받으시지 못하겼거나 새로운 확인 메일이 필요하다면, 아래 버튼을 클릭해 재발송하실 수 있습니다.
resend_mail=여기를 눌러 확인 메일 재전송
@@ -402,6 +447,8 @@ issue.action.new = @%[1]s 님이 #%[2]d를 만들었습니다.
+register_notify.text_2 = 당신의 계정에 사용자명으로 로그인 할 수 있습니다: %s
+
[modal]
yes=예
no=아니오
@@ -409,8 +456,8 @@ cancel=취소
modify=변경하기
[form]
-UserName=사용자 이름
-RepoName=저장소 이름
+UserName=사용자명
+RepoName=저장소명
Email=이메일 주소
Password=비밀번호
Retype=비밀번호 확인
@@ -444,14 +491,14 @@ captcha_incorrect=CAPTCHA 코드가 올바르지 않습니다.
password_not_match=비밀번호가 일치하지 않습니다.
lang_select_error=목록에서 언어를 선택해주세요.
-username_been_taken=이미 사용하고 있는 아이디입니다.
-repo_name_been_taken=이미 사용하고 있는 저장소 이름입니다.
+username_been_taken=이미 사용되는 사용자명입니다.
+repo_name_been_taken=이미 사용중인 저장소명 입니다.
org_name_been_taken=이미 사용중인 조직 이름입니다.
team_name_been_taken=이미 사용중인 팀 이름입니다.
team_no_units_error=최소 하나 이상의 레포지토리 섹션에 대한 접근을 허용하십시오.
email_been_used=이미 사용 중인 이메일 주소입니다.
-username_password_incorrect=사용자 이름 또는 암호가 올바르지 않습니다.
-enterred_invalid_repo_name=입력한 저장소의 이름이 올바르지 않습니다.
+username_password_incorrect=사용자명 또는 암호가 올바르지 않습니다.
+enterred_invalid_repo_name=입력한 저장소명이 올바르지 않습니다.
enterred_invalid_owner_name=새로운 소유자 이름이 올바르지 않습니다.
enterred_invalid_password=입력한 비밀번호는 올바르지 않습니다.
user_not_exist=존재하지 않는 사용자입니다.
@@ -467,10 +514,13 @@ target_branch_not_exist=대상 브랜치가 존재하지 않습니다.
url_error = `"%s"는 유효한 URL이 아닙니다.`
include_error = `"%s"을/를 포함해야 합니다.`
regex_pattern_error = `regex 패턴이 잘못되었습니다: %s`
-username_error = `영문("a-z", "A-Z"), 숫자("0-9"), 대시("-"), 밑줄("_"), 점(".")만 포함할 수 있습니다. 영문 혹은 숫자가 아닌 문자로 시작하거나 끝날 수 없으며 연속된 영문 혹은 숫자가 아닌 문자도 금지됩니다.`
+username_error = `영문("a-z", "A-Z"), 숫자("0-9"), 대시("-"), 밑줄("_"), 마침표(".")만 포함할 수 있습니다. 영문 혹은 숫자가 아닌 문자로 시작하거나 끝날 수 없으며 연속된 영문 혹은 숫자가 아닌 문자도 금지됩니다.`
glob_pattern_error = `glob 패턴이 잘못되었습니다: %s`
+username_error_no_dots = `영문("a-z", "A-Z"), 숫자("0-9"), 대시("-"), 밑줄("_")만 포함할 수 있습니다. 영문 혹은 숫자가 아닌 문자로 시작하거나 끝날 수 없으며 연속된 영문 혹은 숫자가 아닌 문자도 금지됩니다.`
+username_change_not_local_user = 외부 사용자들은 사용자명을 변경할 수 없습니다.
+
[user]
change_avatar=아바타 변경…
repositories=저장소
@@ -486,6 +536,10 @@ projects = 프로젝트
watched = 주시중인 저장소
+form.name_reserved = "%s" 사용자명이 예약(reserved)되었습니다.
+form.name_pattern_not_allowed = "%s" 패턴이 사용자명으로 사용할 수 없습니다.
+form.name_chars_not_allowed = "%s" 사용자명이 유효하지 않은 문자를 포함합니다.
+
[settings]
profile=프로필
account=계정
@@ -503,14 +557,14 @@ account_link=연결된 계정
organization=조직
public_profile=공개 프로필
-password_username_disabled=로컬 사용자가 아닌 경우 사용자 이름 변경을 할 수 없습니다. 자세한 내용은 관리자에게 문의해주세요.
+password_username_disabled=로컬 사용자가 아닌 경우 사용자명을 변경 할 수 없습니다. 자세한 내용은 관리자에게 문의해주세요.
full_name=성명
website=웹 사이트
location=위치
update_theme=테마 변경
update_profile=프로필 업데이트
update_profile_success=프로필이 업데이트 되었습니다.
-change_username=사용자 이름 변경 되었습니다.
+change_username=사용자명이 변경 되었습니다.
continue=계속하기
cancel=취소
language=언어
@@ -662,10 +716,14 @@ change_password = 비밀번호 변경
email_desc = 당신의 대표 이메일 주소는 알림, 비밀번호 재설정과 웹에서의 Git 작동에 사용되며 가려지지 않습니다.
comment_type_group_dependency = 전제조건
+change_username_prompt = 참고: 사용자명의 변경은 계정의 URL을 변경시킵니다.
+change_username_redirect_prompt = 과거 사용자명은 누군가 사용하기 전까지 리디렉트됩니다.
+comment_type_group_time_tracking = 시간 기록
+
[repo]
owner=소유자
-repo_name=저장소 이름
-repo_name_helper=좋은 저장소 이름은 보통 짧고 기억하기 좋은 특별한 키워드로 이루어 집니다.
+repo_name=저장소명
+repo_name_helper=좋은 저장소명은 보통 짧고 기억하기 좋은 특별한 키워드로 이루어 집니다.
repo_size=저장소 용량
template=템플릿
template_select=템플릿을 선택합니다.
@@ -763,6 +821,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=새 파일
@@ -914,7 +973,7 @@ issues.subscribe=구독하기
issues.unsubscribe=구독 취소
issues.delete=삭제
issues.tracker=타임 트래커
-issues.start_tracking=타임 트래킹 시작
+issues.start_tracking=시간 기록 시작
issues.start_tracking_history=`님이 %s 작업 시작`
issues.stop_tracking_history=`님이 %s 작업 중단`
issues.add_time=수동으로 시간 입력
@@ -1114,7 +1173,7 @@ settings.tracker_url_format=외부 이슈 트래커 URL 형식
settings.tracker_issue_style=외부 이슈 트래커 숫자 포맷
settings.tracker_issue_style.numeric=숫자
settings.tracker_issue_style.alphanumeric=문자 숫자
-settings.enable_timetracker=시간 추적 활성화
+settings.enable_timetracker=시간 기록 활성화
settings.allow_only_contributors_to_track_time=기여자 트랙 타임만
settings.pulls_desc=저장소 풀 리퀘스트 활성화
settings.pulls.ignore_whitespace=공백은 충돌에서 무시하기
@@ -1160,7 +1219,7 @@ settings.update_githook=Hook 갱신
settings.payload_url=대상 URL
settings.content_type=POST Content Type
settings.secret=비밀
-settings.slack_username=사용자 이름
+settings.slack_username=사용자명
settings.slack_icon_url=아이콘 URL
settings.discord_username=사용자명
settings.discord_icon_url=아이콘 URL
@@ -1301,7 +1360,7 @@ settings.trust_model.committer.desc = 유효한 서명이 커미터와 일치할
visibility_helper = 저장소 비공개로 만들기
projects.description = 설명 (선택)
settings.external_tracker_url_desc = 방문자들이 이슈 탭을 클릭하면 외부 이슈 트레커 URL로 연결됩니다.
-settings.tracker_url_format_desc = {user}
, {repo}
and {index}
를 사용자 이름, 저장소 이름, 이슈 번호로 사용할 수 있습니다.
+settings.tracker_url_format_desc = {user}
를 사용자명, {repo}
를 저장소명, {index}
를 이슈 번호로 사용할 수 있습니다.
projects = 프로젝트
projects.desc = 이슈와 풀 리퀘스트를 프로젝트에서 관리합니다.
projects.create = 프로젝트 만들기
@@ -1366,11 +1425,24 @@ pulls.merged_title_desc_one = 님이 %[2]s
에서 %[3]s
다른 이슈 에서 시간을 기록중입니다!`
+issues.stop_tracking = 타이머 정지
+issues.cancel_tracking_history = `취소된 시간 기록 %s`
+settings.enter_repo_name = 표시된 소유자와 저장소명을 정확하게 입력하세요:
+settings.packagist_username = Packagist 사용자명
+
+archive.title_date = 이 저장소는 %s에 보관처리되었습니다. 파일을 볼 수 있고 복제할 수도 있지만, 푸시하거나 이슈를 열거나 풀 리퀘스트를 만들 수 없습니다.
+
[graphs]
[org]
org_name_holder=조직 이름
-org_full_name_holder=조직 전체 이름
+org_full_name_holder=조직 별명
create_org=새로운 조직
repo_updated=업데이트됨 %s
members=멤버
@@ -1407,7 +1479,7 @@ members.public=보임
members.public_helper=숨기기
members.private=숨김
members.private_helper=보이기
-members.member_role=회원 역할:
+members.member_role=멤버 역할:
members.owner=소유자
members.member=멤버
members.remove=제거
@@ -1432,6 +1504,8 @@ teams.search_repo_placeholder=저장소 찾기...
teams.add_duplicate_users=사용자가 이미 팀 멤버입니다.
teams.members.none=이 팀에 멤버가 없습니다.
+form.name_pattern_not_allowed = "%s" 패턴이 조직명으로 사용할 수 없습니다.
+
[admin]
dashboard=대시보드
users=사용자 계정
@@ -1631,9 +1705,9 @@ config.db_path=경로
config.service_config=서비스 설정
config.register_email_confirm=가입시 이메일 확인 필수
-config.disable_register=자체등록 사용안함
+config.disable_register=사용자 등록 거부
config.allow_only_external_registration=외부 서비스를 통해서만 등록 허용
-config.enable_openid_signup=OpenID 자체등록 활성화
+config.enable_openid_signup=OpenID 등록 활성화
config.enable_openid_signin=OpenID 로그인 활성화
config.show_registration_button=등록 버튼을 표시
config.require_sign_in_view=페이지를 보려면 로그인 필수
@@ -1642,8 +1716,8 @@ config.enable_captcha=CAPTCHA 활성화
config.active_code_lives=코드 만료 기한
config.default_keep_email_private=기본적으로 이메일 주소를 숨김
config.default_allow_create_organization=기본적으로 조직 생성을 허용
-config.enable_timetracking=타임 트래킹 활성화
-config.default_enable_timetracking=기본 타임 트래킹 활성화
+config.enable_timetracking=시간 기록 활성화
+config.default_enable_timetracking=기본으로 시간 기록을 활성화
config.default_allow_only_contributors_to_track_time=기여자 트랙 타임만
config.no_reply_address=가려진 이메일 도메인
config.default_enable_dependencies=기본적으로 이슈 종속성을 활성화
@@ -1731,6 +1805,13 @@ users.allow_git_hook_tooltip = Git 훅은 Forgejo가 실행중인 OS 유저로
emails.primary = 대표
+emails.filter_sort.name = 사용자명
+emails.filter_sort.name_reverse = 사용자명 (예약됨)
+auths.attribute_username_placeholder = 비워두면 Forgejo에 입력된 사용자명을 사용합니다.
+auths.sspi_strip_domain_names = 사용자명들에서 도메인명을 제거함
+auths.tip.yandex = %s에 새 애플리케이션을 만듭니다. "Yandex.Passport API"부분의 "Access to email address", "Access to user avatar", "Access to username, first name and surname, gender" 권한을 활성화 하세요.
+config.allow_dots_in_usernames = 사용자들이 마침표를 사용자명에 사용할 수 있도록 허가합니다. 이미 존재하는 계정에는 영향을 주지 않습니다.
+
[action]
create_repo=저장소를 만들었습니다. %s
rename_repo=저장소 이름을 %[1]s에서
에서 %[3]s 으로 변경함
@@ -1838,4 +1919,11 @@ package_kind = 패키지 검색...
project_kind = 프로젝트 검색...
exact_tooltip = 검색어와 정확하게 일치하는 결과만 포함
issue_kind = 이슈 검색...
-pull_kind = 풀 검색...
\ No newline at end of file
+pull_kind = 풀 검색...
+fuzzy = 모호함
+union = 통합 검색
+union_tooltip = 공백으로 구분된 키워드 중 하나라도 일치하는 결과를 포함하세요
+exact = 정확한
+regexp = 정규 표현식
+regexp_tooltip = 검색어를 정규 표현식으로 해석합니다
+milestone_kind = 마일스톤 검색...
\ No newline at end of file
diff --git a/options/locale/locale_lv-LV.ini b/options/locale/locale_lv-LV.ini
index 397370c883..30b53cb7e5 100644
--- a/options/locale/locale_lv-LV.ini
+++ b/options/locale/locale_lv-LV.ini
@@ -40,7 +40,7 @@ passcode=Kods
webauthn_insert_key=Jāievieto sava drošības atslēga
webauthn_sign_in=Jānospiež poga uz drošības. Ja drošības atslēgai nav pogas, tā ir atkārtoti jāievieto.
webauthn_press_button=Lūgums nospiest pogu uz savas drošības atslēgas…
-webauthn_use_twofa=Izmantot divfaktoru kodu no tālruņa
+webauthn_use_twofa=Izmantot divpakāpju kodu no sava tālruņa
webauthn_error=Nevar nolasīt drošības atslēgu.
webauthn_unsupported_browser=Pārlūks pašlaik nenodrošina WebAuthn.
webauthn_error_unknown=Atgadījās nezināma kļūda. Lūgums mēģināt vēlreiz.
@@ -52,7 +52,7 @@ webauthn_error_timeout=Iestājās noildze, pirms varēja nolasīt atslēgu. Lūg
webauthn_reload=Pārlādēt
repository=Glabātava
-organization=Organizācija
+organization=Apvienība
mirror=Spoguļglabātava
new_repo=Jauns repozitorijs
new_migrate=Jauna migrācija
@@ -75,7 +75,7 @@ mirrors=Spoguļglabātavas
collaborative=Līdzdarbošanās
forks=Atzarojumi
-activities=Aktivitāte
+activities=Darbības
pull_requests=Izmaiņu pieprasījumi
issues=Pieteikumi
milestones=Atskaites punkti
@@ -83,8 +83,8 @@ milestones=Atskaites punkti
ok=Labi
cancel=Atcelt
retry=Mēģināt vēlreiz
-rerun=Palaist atkārtoti
-rerun_all=Palaist atkārtoti visus darbus
+rerun=Atkārtoti izpildīt
+rerun_all=Atkārtoti izpildīt visus darbus
save=Saglabāt
add=Pievienot
add_all=Pievienot visus
@@ -130,7 +130,7 @@ archived=Arhivētie
concept_system_global=Globāls
concept_user_individual=Individuāls
concept_code_repository=Glabātava
-concept_user_organization=Organizācija
+concept_user_organization=Apvienība
show_timestamps=Rādīt laika zīmogus
show_log_seconds=Rādīt sekundes
@@ -213,7 +213,7 @@ string.desc=Z - A
[error]
occurred=Radusies kļūda
-report_message=Ja ir pārliecība, ka šī ir Forgejo nepilnība, lūgums pārbaudīt GitHub , vai tā jau nav zināma, vai izveidot jaunu pieteikumu, ja nepieciešams.
+report_message=Ja ir pārliecība, ka šī ir Forgejo nepilnība, lūgums pārbaudīt Codeberg , vai tā jau nav zināma, vai izveidot jaunu pieteikumu, ja nepieciešams.
missing_csrf=Kļūdains pieprasījums: netika iesūtīta drošības pilnvara
invalid_csrf=Kļūdains pieprasījums: iesūtīta kļūdaina drošības pilnvara
not_found=Pieprasītie dati netika atrasti.
@@ -221,20 +221,20 @@ network_error=Tīkla kļūda
server_internal = Iekšēja servera kļūda
[startpage]
-app_desc=Viegli uzstādāms Git serviss
-install=Vienkārši instalējams
+app_desc=Pašmitināms Git pakalpojums bez galvassāpēm
+install=Viegli uzstādīt
install_desc=Vienkārši jāpalaiž izpildāmā datne vajadzīgajai sistēmai, jāizmanto Docker vai jāiegūst pakotne .
platform=Pieejama dažādām platformām
lightweight=Viegla
-lightweight_desc=Forgejo ir miminālas prasības un to var darbināt uz nedārga Raspberry Pi datora. Ietaupi savai ierīcei resursus!
+lightweight_desc=Forgejo ir zemas tehniskās prasības, un tas var darboties nedārgā Raspberry Pi. Taupām savu ierīču patērēto enerģiju!
license=Atvērtā pirmkoda
license_desc=Iegūsti Forgejo ! Pievienojies mums līdzdarbojoties , lai padarītu šo projektu vēl labāku! Nekautrējies un līdzdarbojies!
-platform_desc = Ir apstiprināts, ka Forgejo darbojas brīvās operētājsistēmāš, piemēram, GNU/Linux un FreeBSD, kā arī ar dažādām procesoru arhitektūrām. Izvēlies to, kas patīk!
+platform_desc = Ir apstiprināts, ka Forgejo darbojas brīvās operētājsistēmās, piemēram, GNU/Linux un FreeBSD, kā arī ar dažādām procesoru arhitektūrām. Izvēlies to, kas patīk!
[install]
-install=Instalācija
+install=Uzstādīšana
title=Sākotnējā konfigurācija
-docker_helper=Ja Forgejo ir uzstādīts Docker konteinerī, izlasiet vadlīninas pirms maināt iestatījumus.
+docker_helper=Ja Forgejo ir uzstādīts Docker konteinerā, lūgums izlasīt vadlīnijas , pirms tiek mainīti iestatījumi.
require_db_desc=Forgejo nepieciešams MySQL, PostgreSQL, SQLite3 vai TiDB (ar MySQL protokolu).
db_title=Datubāzes iestatījumi
db_type=Datubāzes veids
@@ -247,11 +247,11 @@ db_schema_helper=Atstāt tukšu, lai izmantotu datubāzes noklusējumu ("public"
ssl_mode=SSL
path=Ceļš
sqlite_helper=SQLite3 datubāzes datnes ceļš. Jāievada pilns ceļš, ja Forgejo tiek palaists kā sistēmas pakalpojums.
-reinstall_error=Nevar instalēt datubāzē, kura jau satur Forgejo datus
+reinstall_error=Tiek mēģināts uzstādīt esošā Forgejo datubāzē
reinstall_confirm_message=Atkārtota uzstādīšana ar esošu Forgejo datubāzi var izraisīt vairākas nebūšanas. Vairumā gadījumu vajadzētu izmantot esošo "app.ini", lai palaistu Forgejo. Jāapstiprina zemāk esošais, ja ir skaidrs, kas tiek darīts:
reinstall_confirm_check_1=Dati, kas šifrēti ar SECRET_KEY, kas ir norādīta app.ini datnē, var tikt pazaudēti: lietotāji nevarēs pieteikties ar 2FA/OTP, kā arī spoguļglabātavas var pārstāt darboties. Ar šīs izvēles rūtiņas atzīmēšanu tiek apstiprināts, ka pašreizējā app.ini datne satur pareizu SECRET_KEY vērtību.
reinstall_confirm_check_2=Glabātavas un iestatījumus var būt nepieciešams atkārtoti sinhronizēt. Ar šīs izvēles rūtiņas atzīmēšanu tiek apstiprināts, ka pašrocīgi tiks veikta glabātavu aizķeru un authorized_keys datnes atkārtota sinhronizēšana, kā arī tiek apstiprināts, ka tiks nodrošināts, ka glabātavas un spoguļošanas iestatījumi ir pareizi.
-reinstall_confirm_check_3=Ar šo tiek apstiprināts, ka ir pilnīga pārliecība, ka Forgejo darbojas ar pareizu app.ini atrašanāš vietu un ka tiešām ir nepieciešama atkārtota uzstādīšana. Tiek apliecināts, ka iepriekšminētais var novest pie kļūmēm.
+reinstall_confirm_check_3=Ar šo tiek apstiprināts, ka ir pilnīga pārliecība, ka Forgejo darbojas ar pareizu app.ini atrašanās vietu un ka tiešām ir nepieciešama atkārtota uzstādīšana. Tiek apliecināts, ka iepriekšminētais var novest pie kļūmēm.
err_empty_db_path=Nav norādīts SQLite3 datu bāzes ceļš.
no_admin_and_disable_registration=Lietotāju reģistrēšanos nevar atspējot bez pārvaldītāja konta izveidošanas.
err_empty_admin_password=Pārvaldītāja parole nevar būt tukša.
@@ -267,7 +267,7 @@ repo_path=Glabātavu atrašanās vieta
repo_path_helper=Attālās Git glabātavas tiks saglabātas šajā mapē.
lfs_path=Git LFS atrašanās vieta
lfs_path_helper=Datnes, kas pievienotas Git LFS, tiks glabātas šajā mapē. Atstāt tukšu, lai atspējotu.
-run_user=Lietotājus, ar kuru palaist
+run_user=Lietotājs, ar kuru palaist
run_user_helper=Operētājsistēms lietotājs, ar kuru tiks palaists Forgejo. Jāņem vērā, ka šim lietotājam ir jābūt piekļuvei glabātavas atrašanās vietai.
domain=Servera domēna vārds
domain_helper=Domēns vai servera adrese.
@@ -314,19 +314,19 @@ admin_name=Pārvaldītāja lietotājvārds
admin_password=Parole
confirm_password=Apstiprināt paroli
admin_email=E-pasta adrese
-install_btn_confirm=Instalēt Forgejo
+install_btn_confirm=Uzstādīt Forgejo
test_git_failed=Nevarēja pārbaudīt "git" komandu: %v
sqlite3_not_available=Šī Forgejo versija neatbalsta SQLite3. Lūgums lejupielādēt oficiālo bināro versiju no %s (ne 'gobuild' versiju).
invalid_db_setting=Nederīgi datu bāzes iestatījumi: %v
invalid_db_table=Datubāzes tabula "%s" ir kļūdaina: %v
invalid_repo_path=Nederīga glabātavu atrašanās vieta: %v
-invalid_app_data_path=Lietojumprogrammas datu ceļš ir kļūdains: %v
-run_user_not_match="Izpildīt kā lietotājam" lietotājvārds neatbilst pašreizējam lietotājam: %s -> %s
+invalid_app_data_path=Lietotnes datu ceļš ir kļūdains: %v
+run_user_not_match="Lietotājs, ar kuru palaist" lietotājvārds neatbilst pašreizējam lietotājam: %s -> %s
internal_token_failed=Neizdevās izveidot iekšējo pilnvaru: %v
secret_key_failed=Neizdevās izveidot drošības atslēgu: %v
save_config_failed=Neizdevās saglabāt konfigurāciju: %v
invalid_admin_setting=Pārvaldītāja konta iestatījums ir nederīgs: %v
-invalid_log_root_path=Nederīgs žurnalizēšanas ceļš: %v
+invalid_log_root_path=Žurnāla atrašanās vieta ir nederīga: %v
default_keep_email_private=Pēc noklusējuma slēpt e-pasta adreses
default_keep_email_private.description=Pēc noklusējuma iespējot e-pasta adreses slēpšanu jauniem lietotājiem, lai šī informāciju nenoplūstu uzreiz pēc reģistrēšanās.
default_allow_create_organization=Pēc noklusējuma ļaut apvienību izveidošanu
@@ -379,7 +379,7 @@ issues.in_your_repos=Manās glabātavās
[explore]
repos=Glabātavas
users=Lietotāji
-organizations=Organizācijas
+organizations=Apvienības
search=Meklēt
go_to=Iet uz
code=Kods
@@ -424,7 +424,7 @@ account_activated=Konts ir aktivēts
prohibit_login=Konta darbība ir apturēta
prohibit_login_desc=Kontam ir liegts mijiedarboties ar serveri. Jāsazinās ar tā pārvaldītāju, lai atgūtu piekļuvi.
resent_limit_prompt=Nesen jau tika pieprasīts aktivēšanas e-pasta ziņojums. Lūgums uzgaidīt 3 minūtes un mēģināt vēlreiz.
-has_unconfirmed_mail=Sveiciens, %s! Tev ir neapstiprināta e-pasta adrese (%s ). Ja neesi saņēmis apstiprinājuma e-pasta ziņojumu vai ir nepieciešams nosūtīt jaunu, lūgums klikšķināt uz zemāk esošās pogas.
+has_unconfirmed_mail=Sveiciens, %s! Tev ir neapstiprināta e-pasta adrese (%s ). Ja nav saņemts apstiprinājuma e-pasta ziņojums vai ir nepieciešams nosūtīt jaunu, lūgums klikšķināt uz zemāk esošās pogas.
resend_mail=Klikšķināt šeit, lai atkārtoti nosūtītu aktivēšanas e-pasta ziņojumu
email_not_associate=Šī e-pasta adrese nav saistīta ar nevienu kontu.
send_reset_mail=Nosūtīt atkopes e-pasta ziņojumu
@@ -445,10 +445,10 @@ twofa_scratch_token_incorrect=Ievadīts nepareizs vienreizējais kods.
login_userpass=Pieteikties
tab_openid=OpenID
oauth_signup_tab=Izveidot jaunu kontu
-oauth_signup_title=Pabeigt jaunā konta izveidošanu
+oauth_signup_title=Pabeigt jauna konta izveidošanu
oauth_signup_submit=Pabeigt konta izveidošanu
oauth_signin_tab=Sasaistīt ar esošu kontu
-oauth_signin_title=Pieteikties, lai autorizētu sasaistīto kontu
+oauth_signin_title=Pieteikties, lai pilnvarotu sasaistīto kontu
oauth_signin_submit=Sasaistīt kontu
oauth.signin.error=Pilnvarošanas pieprasījuma apstrādes laikā atgadījās kļūda. Jā tā atkārtojas, lūgums sazināties ar vietnes pārvaldītāju.
oauth.signin.error.access_denied=Pilnvarošanas pieprasījums tika noraidīts.
@@ -462,12 +462,12 @@ openid_signin_desc=Jāievada OpenID URI. Piemēram, anna.openid.example.org vai
disable_forgot_password_mail=Konta atkopšana ir atspējota, jo nav uzstādīta e-pasta izsūtīšana. Lūgums sazināties ar vietnes pārvaldītāju.
disable_forgot_password_mail_admin=Kontu atkope ir pieejama tikai tad, kad ir veikta e-pasta servera iestatīšana. Lūgums iestatīt e-pasta serveri, lai iespējotu kontu atkopi.
email_domain_blacklisted=Nav atļauts reģistrēties ar šādu e-pasta adresi.
-authorize_application=Autorizēt lietotni
-authorize_redirect_notice=Jūs tiksiet nosūtīts uz %s, ja autorizēsiet šo lietotni.
+authorize_application=Pilnvarot lietotni
+authorize_redirect_notice=Notiks pārvirzīšana uz %s, ja pilnvaroši šo lietotni.
authorize_application_created_by=Šo lietotni izveidoja %s.
authorize_application_description=Ja nodrošināsi piekļuvi, tā varēs piekļūt visai konta informācijai un mainīt to, tajā skaitā privātās glabātavas un apvienības.
authorize_title=Pilnvarot "%s" piekļuvi Tavam kontam?
-authorization_failed=Autorizācija neizdevās
+authorization_failed=Pilnvarošana neizdevās
authorization_failed_desc=Pilnvarošana neizdevās, jo tika noteikts nederīgs pieprasījums. Lūgums sazināties ar lietotnes, no kuras tika veikts pilnvarošanas pieprasījums, uzturētāju.
sspi_auth_failed=SSPI autentifikācija neizdevās
password_pwned=Izvēlētā parole ir nozagto paroļu sarakstā , kas iepriekš ir atklāts publiskās datu noplūdēs. Lūgums mēģināt vēlreiz ar citu paroli un apsvērt to nomainīt arī citur.
@@ -507,7 +507,7 @@ register_notify.text_3=Ja šo kontu izveidoja kāds cits, vispirms ir nepiecieš
reset_password=Atgūt kontu
reset_password.title=%s, esat pieprasījis atjaunot savu kontu
-reset_password.text=Nospiediet uz saites, lai atjaunotu savu kontu lapā %s :
+reset_password.text=Lūgums klikšķināt uz šīs saites, lai atjaunotu savu %s kontu:
register_success=Reģistrācija bija sekmīga
@@ -515,7 +515,7 @@ issue_assigned.pull=@%[1]s piešķīra izmaiņu pieprasījumu %[2]s glabātavā
issue_assigned.issue=@%[1]s piešķīra pieteikumu %[2]s glabātavā %[3]s.
issue.x_mentioned_you=@%s pieminēja Jūs:
-issue.action.force_push=%[1]s piespiedu kārtā aizgādāja izmaiņas %[2]s no %[3]s uz %[4]s.
+issue.action.force_push=%[1]s uzspiesti aizgādāja izmaiņas %[2]s no %[3]s uz %[4]s.
issue.action.push_1=@%[1]s aizgādāja %[3]d iesūtījumu uz %[2]s
issue.action.push_n=@%[1]s aizgādāja %[3]d iesūtījumus uz %[2]s
issue.action.close=@%[1]s aizvēra #%[2]d.
@@ -545,9 +545,9 @@ repo.transfer.body=Lai to pieņemtu vai noraidītu, jāapmeklē %s vai arī vien
repo.collaborator.added.subject=%s pievienoja Tevi glabātavai %s kā līdzdalībnieku
repo.collaborator.added.text=Tevi pievienoja kā līdzdalībnieku glabātavā:
-team_invite.subject=%[1]s uzaicināja Jūs pievienoties organizācijai %[2]s
-team_invite.text_1=%[1]s uzaicināja Jūs pievienoties komandai %[2]s organizācijā %[3]s.
-team_invite.text_2=Uzspiediet uz šīs saites, lai pievienoties komandai:
+team_invite.subject=%[1]s uzaicināja pievienoties apvienībai %[2]s
+team_invite.text_1=%[1]s uzaicināja pievienoties apvienības %[3] komandai %[2]s.
+team_invite.text_2=Lūgums klikšķināt uz sekojošās saites, lai pievienotos komandai:
team_invite.text_3=Piezīme: šis uzaicinājums ir paredzēts %[1]s. Ja šis ielūgums netika gaidīts, šo e-pasta ziņojumu var neņemt vērā.
totp_enrolled.subject = Ir aktivēts TOTP kā divpakāpju pieteikšanās veids
account_security_caution.text_1 = Ja tas biji Tu, tad šo e-pasta ziņojumu var droši neņemt vērā.
@@ -585,7 +585,7 @@ SSHTitle=SSH atslēgas nosaukums
HttpsUrl=HTTPS URL
PayloadUrl=Vērtuma URL
TeamName=Komandas nosaukums
-AuthName=Autorizācijas nosaukums
+AuthName=Pilnvarošanas nosaukums
AdminEmail=Pārvaldītāja e-pasta adrese
NewBranchName=Jaunais zara nosaukums
@@ -621,14 +621,14 @@ username_been_taken=Lietotājvārds jau ir aizņemts.
username_change_not_local_user=Ne-lokālie lietotāji nevar mainīt savus lietotājvārdus.
username_has_not_been_changed=Lietotājvārds netika mainīts
repo_name_been_taken=Glabātavas nosaukums jau tiek izmantots.
-repository_force_private=Iespējoti piespiedu privātās glabātavas: privātās glabātavas nevar padarīt pieejamas visiem.
+repository_force_private=Iespējots "Uzspiest privātās": privātās glabātavas nevar padarīt pieejamas visiem.
repository_files_already_exist=Šajā glabātavā jau atrodas datnes. Jāsazinās ar sistēmas pārvaldītāju.
repository_files_already_exist.adopt=Šajā glabātavā jau atrodas datnes, un tās var tikai tikt pieņemtas.
repository_files_already_exist.delete=Šajā glabātavā jau atrodas datnes. Tās ir jāizdzēš.
repository_files_already_exist.adopt_or_delete=Šajā glabātavā jau atrodas datnes. Vai nu tās ir jāpieņem vai jāizdzēš.
visit_rate_limit=Attālinātā piekļuve ir ierobežota ar ātruma ierobežotāju.
2fa_auth_required=Attālinātai piekļuvei ir nepieciešama divu faktoru autentifikācija.
-org_name_been_taken=Organizācijas nosaukums jau ir aizņemts.
+org_name_been_taken=Apvienības nosaukums jau ir aizņemts.
team_name_been_taken=Komandas nosaukums jau ir aizņemts.
team_no_units_error=Komandai ir jābūt iespējotai vismaz vienai sadaļai.
email_been_used=E-pasta adrese jau ir izmantota.
@@ -641,15 +641,15 @@ password_uppercase_one=Vismaz viens lielais burts
password_digit_one=Vismaz viens cipars
password_special_one=Vismaz viena īpaša rakstzīme (punkts, iekavas, pēdiņas utt.)
enterred_invalid_repo_name=Ievadītais glabātavas nosaukums ir nepareizs.
-enterred_invalid_org_name=Ievadītais organizācijas nosaukums ir nepareizs.
+enterred_invalid_org_name=Ievadītais apvienības nosaukums ir nepareizs.
enterred_invalid_owner_name=Jaunā īpašnieka vārds nav derīgs.
enterred_invalid_password=Ievadītā parole ir nepareiza.
user_not_exist=Lietotājs nepastāv.
team_not_exist=Komanda nepastāv.
last_org_owner=Nevar noņemt īpašnieku komandas pēdējo lietotāju. Apvienībai ir jābūt vismaz vienam īpašniekam.
-cannot_add_org_to_team=Organizāciju nevar pievienot kā komandas biedru.
-duplicate_invite_to_team=Lietotājs jau ir uzaicināts kā komandas biedrs.
-organization_leave_success=Jūs esat pametis organizāciju %s.
+cannot_add_org_to_team=Apvienību nevar pievienot kā komandas dalībnieku.
+duplicate_invite_to_team=Lietotājs jau tika uzaicināts kā komandas dalībnieks.
+organization_leave_success=Ir veiksmīgi atstāta apvienība %s.
invalid_ssh_key=Nav iespējams pārbaudīt SSH atslēgu: %s
invalid_gpg_key=Nav iespējams pārbaudīt GPG atslēgu: %s
@@ -680,6 +680,8 @@ AccessToken = Piekļuves pilnvara
To = Zara nosaukums
+email_domain_is_not_allowed = Lietotāja e-pasta adreses %s domēna vārds ir pretrunāt ar EMAIL_DOMAIN_ALLOWLIST vai EMAIL_DOMAIN_BLOCKLIST. Jāpārliecinās, ka e-pasta adrese ir norādīta pareizi.
+
[user]
change_avatar=Mainīt profila attēlu…
joined_on=Pievienojās %s
@@ -695,7 +697,7 @@ following_few=%d seko
follow=Sekot
unfollow=Nesekot
user_bio=Biogrāfija
-disabled_public_activity=Šis lietotājs ir atslēdzies iespēju aplūkot tā aktivitāti.
+disabled_public_activity=Šis lietotājs ir atspējojis darbību redzamību visiem.
email_visibility.limited=E-pasta adrese ir redzama visiem autentificētajiem lietotājiem
email_visibility.private=E-pasta adrese ir redzama tikai administratoriem
show_on_map=Rādīt šo vietu kartē
@@ -734,19 +736,19 @@ avatar=Profila attēls
ssh_gpg_keys=SSH / GPG atslēgas
social=Sociālie konti
applications=Lietotnes
-orgs=Pārvaldīt apvienības
+orgs=Apvienības
repos=Glabātavas
-delete=Dzēst kontu
+delete=Izdzēst kontu
twofa=Divpakāpju pieteikšanās (TOTP)
account_link=Saistītie konti
-organization=Organizācijas
+organization=Apvienības
uid=UID
webauthn=Divpakāpju pieteikšanās (drošības atslēgas)
public_profile=Publiskais profils
biography_placeholder=Pastāsti citiem mazliet par sevi! (Tiek atbalstīts Markdown)
location_placeholder=Kopīgot savu aptuveno atrašanās vietu ar citiem
-profile_desc=Norādīt, kā profils tiek attēlots citiem lietotājiem. Primārā e-pasta adrese tiks izmantota paziņojumiem, paroles atjaunošanai un Git tīmekļa darbībām.
+profile_desc=Par Tevi
password_username_disabled=Ārējiem lietotājiem nav atļauts mainīt savu lietotājvārdu. Lūgums sazināties ar vietnes pārvaldītāju, lai uzzinātu vairāk.
full_name=Pilns vārds
website=Mājas lapa
@@ -759,13 +761,13 @@ update_language_success=Valoda tika nomainīta.
update_profile_success=Profils tika atjaunināts.
change_username=Lietotājvārds mainīts.
change_username_prompt=Piezīme: lietotājvārda mainīšana maina arī konta URL.
-change_username_redirect_prompt=Iepriekšējais lietotājvārds tiks pārvirzīts, kamēr neviens cits to neizmanto.
+change_username_redirect_prompt=Iepriekšējais lietotājvārds tiks pārvirzīts, līdz kāds to izmantos.
continue=Turpināt
cancel=Atcelt
language=Valoda
ui=Motīvs
hidden_comment_types=Slēpjamo piebilžu veidi
-hidden_comment_types_description=Šeit atzīmētie piebilžu veidi netiks attēloti pieteikumu lapās. "Iezīme" atzīmēšana, piemēram, noņems visas " pievienoja/noņēma " piebildes.
+hidden_comment_types_description=Šeit atzīmētie piebilžu veidi netiks attēloti pieteikumu lapās. "Iezīme" atzīmēšana, piemēram, noņems visas " pievienoja/noņēma " piebildes.
hidden_comment_types.ref_tooltip=Piebildes, kurās ir atsauces uz šo pieteikumu no cita pieteikuma/iesūtījuma/…
hidden_comment_types.issue_ref_tooltip=Piebildes, kurās lietotājs maina ar pieteikumu saistītu zaru/birku
comment_type_group_reference=Atsauces
@@ -780,16 +782,16 @@ comment_type_group_dependency=Atkarības
comment_type_group_lock=Aizslēgšanas stāvoklis
comment_type_group_review_request=Izskatīšanas pieprasījums
comment_type_group_pull_request_push=Pievienotie iesūtījumi
-comment_type_group_project=Projektus
+comment_type_group_project=Projekts
comment_type_group_issue_ref=Pieteikumu atsauces
saved_successfully=Iestatījumi tika sekmīgi saglabāti.
privacy=Privātums
keep_activity_private=Profila lapā paslēpt notikumus
keep_activity_private_popup=Savu aktivitāti redzēsiet tikai Jūs un administratori
-lookup_avatar_by_mail=Meklēt profila attēlus pēc e-pasta adreses
+lookup_avatar_by_mail=Uzmeklēt profila attēlus pēc e-pasta adreses
federated_avatar_lookup=Apvienotais profila bilžu meklētājs
-enable_custom_avatar=izmantot pielāgotu profila attēlu
+enable_custom_avatar=Izmantot pielāgotu profila attēlu
choose_new_avatar=Izvēlēties jaunu profila attēlu
update_avatar=Atjaunināt attēlu
delete_current_avatar=Izdzēst pašreizējo attēlu
@@ -804,15 +806,15 @@ new_password=Jaunā parole
retype_new_password=Apstiprināt jauno paroli
password_incorrect=Ievadīta nepareiza pašreizējā parole.
change_password_success=Parole tika sekmīgi nomainīta. Turpmāk jāpiesakās ar savu jauno paroli.
-password_change_disabled=Ārējie konti nevar mainīt paroli, izmantojot, Forgejo saskarni.
+password_change_disabled=Ārējie lietotāji nevar mainīt savu paroli Forgejo tīmekļa saskarnē.
emails=E-pasta adreses
manage_emails=Pārvaldīt e-pasta adreses
manage_themes=Noklusējuma izskats
manage_openid=OpenID adreses
-email_desc=Primārā e-pasta adrese tiks izmantota paziņojumiem, paroļu atjaunošanai un, ja tā nav paslēpta, Git tīmekļa darbībām.
+email_desc=Galvenā e-pasta adrese tiks izmantota paziņojumiem, paroļu atkopei un, ja tā nav paslēpta, Git tīmekļa darbībām.
theme_desc=Šis izskats tiks izmantots tīmekļa saskarnei pēc pieteikšanās.
-primary=Primārā
+primary=Galvenā
activated=Aktivēts
requires_activation=Nepieciešama aktivēšana
primary_email=Padarīt par galveno
@@ -837,7 +839,7 @@ add_email_success=Jaunā e-pasta adrese tika pievienota.
email_preference_set_success=E-pasta izvēle tika sekmīgi iestatīta.
add_openid_success=Jaunā OpenID adrese tika pievienota.
keep_email_private=Slēpt e-pasta adresi
-keep_email_private_popup=Šis paslēps e-pasta adresi profilā. Tā vairs nebūs pēc noklusējuma izmantojamā iesūtījumiem, kuri ir izveidoti ar tīmekļa saskarni, piemēram, datņu augšupielādes un labošanas, un tā netiks izmantota apvienošanas iesūtījumiem. Tā vietā īpaša adrese %s var tikt izmantota, lai sasaistītu iesūtījumus ar kontu. Jāņem vērā, ka šīs iespējas mainīšana neietekmēs esošos iesūtījumus.
+keep_email_private_popup=E-pasta adrese netiks rādīta profilā un netiks izmantota kā noklusējums iesūtījumiem, kuri veikti tīmekļa saskarnē, piemēram, datņu augšupielādes, labošanas un apvienošanas iesūtījumi. Tā vietā īpaša adrese %s var tikt izmantota, lai sasaistītu iesūtījumus ar kontu. Šī iespēja neietekmēs esošos iesūtījumus.
openid_desc=OpenID ļauj uzticēt autentificēšanu ārējam nodrošinātājam.
manage_ssh_keys=Pārvaldīt SSH atslēgas
@@ -904,7 +906,7 @@ added_on=Pievienots %s
valid_until_date=Derīgs līdz %s
valid_forever=Derīgs mūžīgi
last_used=Pēdējo reizi izmantota
-no_activity=Nav nesenas aktivitātes
+no_activity=Nav nesenu darbību
can_read_info=Lasīt
can_write_info=Rakstīt
key_state_desc=Šī atslēga ir izmantota pēdējo 7 dienu laikā
@@ -922,25 +924,25 @@ unbind_success=Sociālā tīkla konts tika veiksmīgi noņemts.
manage_access_token=Piekļuves pilnvaras
generate_new_token=Izveidot jaunu pilnvaru
-tokens_desc=Šīs pilnvaras nodrošina piekļuvi kontam ar Gitea API.
+tokens_desc=Šīs pilnvaras nodrošina piekļuvi kontam ar Forgejo API.
token_name=Pilnvaras nosaukums
generate_token=Izveidot pilnvaru
generate_token_success=Jaunā pilnvara tika izveidota. Tā ir jāievieto starpliktuvē, jo tā vairs netiks rādīta.
generate_token_name_duplicate=Lietotnes nosaukums %s jau tiek izmantots. Lūgums izmantot citu.
-delete_token=Dzēst
+delete_token=Izdzēst
access_token_deletion=Izdzēst piekļuves pilnvaru
access_token_deletion_cancel_action=Atcelt
access_token_deletion_confirm_action=Dzēst
-access_token_deletion_desc=Izdzēšot pilnvaru, lietojumprogrammām, kas to izmanto, tiks liegta piekļuve šim kontam. Šī darbība ir neatgriezeniska. Vai turpināt?
-delete_token_success=Pilnvara tika izdzēsta. Lietojumprogrammām, kas izmantoja šo pilnvaru, vairs nav piekļuves kontam.
+access_token_deletion_desc=Pilnvaras izdzēšana atsauks lietotņu, kas to izmanto, piekļuvi kontam. Šo darbību nevar atsaukt. Turpināt?
+delete_token_success=Pilnvara tika izdzēsta. Lietotnēm, kas to izmanto, vairs nav piekļuves kontam.
repo_and_org_access=Glabātavas un apvienības piekļuve
permissions_public_only=Tikai publiskie
permissions_access_all=Visi (publiskie, privātie un ierobežotie)
-select_permissions=Norādiet tiesības
+select_permissions=Atlasīt atļaujas
permission_no_access=Nav piekļuves
-permission_read=Skatīšanās
+permission_read=Lasīt
permission_write=Lasīt un rakstīt
-access_token_desc=Atzīmētie pilnvaras apgabali ierobežo autentifikāciju tikai atbilstošiem >API izsaukumiem. Sīkāka informācija pieejama >dokumentācijā .
+access_token_desc=Atlasītās pilnvaru atļaujas ierobežo pilnvarošanu tikai atbilstošiem API maršrutiem. Vairāk ir lasāmsdokumentācijā .
at_least_one_permission=Nepieciešams norādīt vismaz vienu tiesību, lai izveidotu pilnvaru
permissions_list=Tiesības:
@@ -948,15 +950,15 @@ manage_oauth2_applications=Pārvaldīt OAuth2 lietotnes
edit_oauth2_application=Labot OAuth2 lietotni
oauth2_applications_desc=OAuth2 lietotnes ļauj trešo pušu lietotnēm droša veidā autentificēt lietotajus šajā Forgejo instancē.
remove_oauth2_application=Noņemt OAuth2 lietotni
-remove_oauth2_application_desc=Noņemot OAuth2 lietotni, tiks noņemta piekļuve visām parakstītajām piekļuves pilnvarām. Vai turpināt?
-remove_oauth2_application_success=Lietotne tika dzēsta.
+remove_oauth2_application_desc=OAuth2 lietotnes noņemšana atsauks piekļuvi visām parakstītajām piekļuves pilnvarām. Turpināt?
+remove_oauth2_application_success=Lietotne tika izdzēsta.
create_oauth2_application=Izveidot jaunu OAuth2 lietotni
create_oauth2_application_button=Izveidot lietotni
create_oauth2_application_success=Ir sekmīgi izveidota jauna OAuth2 lietotne.
update_oauth2_application_success=OAuth2 lietotne ir sekmīgi atjaunināta.
oauth2_application_name=Lietotnes nosaukums
oauth2_confidential_client=Slepens klients. Jāatlasa lietotnēm, kas glabā noslēpumu slepenībā, piemēram, tīmekļa lietotnēm. Nav jāatlasa ierastajām lietotnēm, tajā skaitā darbvirsmas un viedierīču lietotnēm.
-oauth2_redirect_uris=Pārsūtīšanas URI. Norādiet katru URI savā rindā.
+oauth2_redirect_uris=Pārvirzīšanas URI. Lūgums norādīt katru URI savā rindā.
save_application=Saglabāt
oauth2_client_id=Klienta ID
oauth2_client_secret=Klienta noslēpums
@@ -965,65 +967,65 @@ oauth2_regenerate_secret_hint=Pazaudēts noslēpums?
oauth2_client_secret_hint=Pēc šīs lapas pamešanas vai atsvaidzināšanas noslēpums vairs netiks parādīts. Lūgums pārliecināties, ka tas ir saglabāts.
oauth2_application_edit=Labot
oauth2_application_create_description=OAuth2 lietotnes ļauj trešas puses lietotnēm piekļūt lietotāja kontiem šajā instancē.
-oauth2_application_remove_description=OAuth2 lietotnes noņemšana liegs tai piekļūt pilnvarotiem lietotāju kontiem šajā instancē. Vai turpināt?
+oauth2_application_remove_description=OAuth2 lietotnes noņemšana liegs tai piekļūt pilnvarotiem lietotāju kontiem šajā serverī. Turpināt?
oauth2_application_locked=Forgejo sāknēšanas brīdī reģistrē dažas OAuth2 lietotnes, ja tas ir iespējots konfigurācijā. Lai novērstu negaidītu uzvedību, tās nevar ne labot, ne noņemt. Lūgums vērsties OAuth2 dokumentācijā pēc vairāk informācijas.
-authorized_oauth2_applications=Autorizētās OAuth2 lietotnes
+authorized_oauth2_applications=Pilnvarotās OAuth2 lietotnes
authorized_oauth2_applications_description=Ir ļauta piekļuve savam Forgejo kontam šīm trešo pušu lietotnēm. Lūgums atsaukt piekļuvi lietotnēm, kas vairs nav nepieciešamas.
revoke_key=Atsaukt
revoke_oauth2_grant=Atsaukt piekļuvi
revoke_oauth2_grant_description=Šīs trešās puses lietotnes piekļuves atsaukšana liegs tai piekļūt Taviem datiem. Turpināt?
revoke_oauth2_grant_success=Piekļuve sekmīgi atsaukta.
-twofa_desc=Divfaktoru autentifikācija uzlabo konta drošību.
-twofa_recovery_tip=Ja ierīce tiek pazaudēta, iespējams izmantot vienreiz izmantojamo atkopšanas atslēgu, lai atgūtu piekļuvi savam kontam.
-twofa_is_enrolled=Kontam ir ieslēgta divfaktoru autentifikācija.
-twofa_not_enrolled=Kontam šobrīd nav ieslēgta divfaktoru autentifikācija.
+twofa_desc=Lai aizsargātu savu kontu no paroļu zādzības, var izmantot viedtālruni vai citu ierīci, lai saņemtu laikā balstītas vienreiz izmantojamas paroles ("TOTP").
+twofa_recovery_tip=Ja ierīce tiks pazaudēta, būs iespējams izmantot vienreizējas izmantošanas atkopšanas atslēgu, lai atgūtu piekļuvi savam kontam.
+twofa_is_enrolled=Kontam šobrīd ir ieslēgta divpakāpju pieteikšanās.
+twofa_not_enrolled=Kontam šobrīd nav ieslēgta divpakāpju pieteikšanās.
twofa_disable=Atspējot divpakāpju pieteikšanos
-twofa_scratch_token_regenerate=Atkārtoti izveidot vienreizējas izmantošanas atkopšanas atslēgu
+twofa_scratch_token_regenerate=Atkārtoti izveidot vienreizējas izmantošanas atkopes atslēgu
twofa_scratch_token_regenerated=Vienreizējā pilnvara tagad ir %s. Tā ir jāglabā drošā vietā, tā vairs nekad netiks rādīta.
twofa_enroll=Ieslēgt divpakāpju pieteikšanos
-twofa_disable_note=Nepieciešamības gadījumā divfaktoru autentifikāciju ir iespējams atslēgt.
-twofa_disable_desc=Atslēdzot divfaktoru autentifikāciju, konts vairs nebūs tik drošs. Vai turpināt?
+twofa_disable_note=Ja nepieciešams, divpakāpju pieteikšanos var atslēgt.
+twofa_disable_desc=Divpakāpju pieteikšanās atspējošana padarīs kontu mazāk drošu. Turpināt?
regenerate_scratch_token_desc=Ja atkopšanas atslēga ir pazaudēta vai tā jau ir izmantota, lai pieteiktos, to var atiestatīt šeit.
-twofa_disabled=Divfaktoru autentifikācija tika atslēgta.
+twofa_disabled=Divpakāpju pieteikšanās tika atspējota.
scan_this_image=Šis attēls ir jānolasa ar autentificēšanās lietotni:
-or_enter_secret=Vai ievadiet šo noslēpumu: %s
-then_enter_passcode=Ievadiet piekļuves kodu no lietojumprogrammas:
+or_enter_secret=Vai jāievada noslēpums: %s
+then_enter_passcode=Pēc tam jāievada lietotnē attēlotais piekļuves kods:
passcode_invalid=Piekļuves kods ir nepareizs. Jāmēģina vēlreiz.
twofa_enrolled=Kontam tika ieslēgta divpakāpju pieteikšanās. Vienreiz izmantojamā atkopšanas atslēga (%s) ir jāglabā drošā vietā, jo tā vairs netiks rādīta.
twofa_failed_get_secret=Neizdevās ielādēt noslēpumu.
-webauthn_desc=Drošības atslēgas ir fiziskas ierīces, kas satur kriptogrāfiskas atslēgas. Tās var tikt izmantotas divu faktoru autentifikācijai. Drošības atslēgām ir jāatbalsta WebAuthn autentifikācijas standarts.
+webauthn_desc=Drošības atslēgas ir ierīces, kas satur kriptogrāfiskas atslēgas. Tās var tikt izmantotas divpakāpju apliecināšanai. Drošības atslēgām ir jāatbilst WebAuthn autentificētāja standartam.
webauthn_register_key=Pievienot drošības atslēgu
webauthn_nickname=Segvārds
webauthn_delete_key=Noņemt drošības atslēgu
webauthn_delete_key_desc=Noņemot drošības atslēgu ar to vairs nebūs iespējams pieteikties. Vai turpināt?
webauthn_key_loss_warning=Ja tiek pazaudētas drošības atslēgas, tiks zaudēta piekļuve kontam.
-webauthn_alternative_tip=Ir vēlams uzstādīt papildu autentifikācijas veidu.
+webauthn_alternative_tip=Ir vēlams uzstādīt papildu autentificēšanās veidu.
manage_account_links=Sasaistītie konti
manage_account_links_desc=Šie ārējie konti ir sasaistīti ar Tavu Forgejo kontu.
account_links_not_available=Pašlaik nav neviena ārējā konta piesaistīta šim kontam.
link_account=Sasaistīt kontu
remove_account_link=Noņemt sasaistīto kontu
-remove_account_link_desc=Sasaistītā konta noņemšana atsauks tā piekļuvi Tavam Gitea kontam. Turpināt?
-remove_account_link_success=Saistītais konts tika noņemts.
+remove_account_link_desc=Sasaistītā konta noņemšana atsauks tā piekļuvi Tavam Forgejo kontam. Turpināt?
+remove_account_link_success=Sasaistītais konts tika noņemts.
hooks.desc=Pievienot tīmekļa aizķeres, kas izpildīsies visās piederošajās glabātavās .
-orgs_none=Jūs neesat nevienas organizācijas biedrs.
+orgs_none=Nav dalības nevienā apvienībā.
repos_none=Tev nav nevienas glabātavas.
delete_account=Izdzēst savu kontu
-delete_prompt=Šī darbība neatgriezeniski izdzēsīs lietotāja kontu. To NEVAR atdarīt.
+delete_prompt=Šī darbība neatgriezeniski izdzēsīs lietotāja kontu. To NEVAR atsaukt.
delete_with_all_comments=Konts ir jaunāks kā %s. Lai izvairītos no spoku piebildēm, visas pieteikumu/izmaiņu pieprasījumu piebildes tiks izdzēstas kopā ar to.
confirm_delete_account=Apstiprināt izdzēšanu
delete_account_title=Izdzēst lietotāja kontu
-delete_account_desc=Vai tiešām vēlaties dzēst šo kontu?
+delete_account_desc=Vai tiešām neatgriezeniski izdzēst šo lietotāja kontu?
email_notifications.enable=Iespējot e-pasta paziņojumus
-email_notifications.onmention=Tikai, ja piemin mani
+email_notifications.onmention=Tikai, ja mani piemin
email_notifications.disable=Atspējot e-pasta paziņojumus
email_notifications.submit=Iestatīt e-pasta iestatījumus
email_notifications.andyourown=Un manus paziņojumus
@@ -1034,7 +1036,7 @@ visibility.public_tooltip=Redzams ikvienam
visibility.limited=Ierobežota
visibility.limited_tooltip=Redzams tikai lietotājiem, kuri ir pieteikušies
visibility.private=Privāts
-visibility.private_tooltip=Redzams tikai organizāciju, kurām esi pievienojies, dalībniekiem
+visibility.private_tooltip=Redzams tikai apvienību, kurām esi pievienojies, dalībniekiem
change_password = Mainīt paroli
keep_activity_private.description = Tavas publiskās darbības būs redzamas tikai Tev un servera pārvaldītājiem.
update_hints = Atjaunināt norādes
@@ -1046,6 +1048,15 @@ blocked_users_none = Nav liegto lietotāju.
pronouns = Vietniekvārdi
pronouns_custom = Pielāgoti
blocked_users = Liegtie lietotāji
+pronouns_unspecified = Nav norādīts
+language.title = Noklusējuma valoda
+language.localization_project = Palīdzi mums tulkot Forgejo savā valodā! Uzzināt vairāk .
+hints = Norādes
+additional_repo_units_hint = Ieteikt iespējot papildu glabātavas vienības
+additional_repo_units_hint_description = Attēlot norādi "Iespējot vēl" glabātavās, kurās nav iespējotas visas pieejamās vienības.
+language.description = Šī valoda tiks saglabāta kontā un pēc pieteikšanās tiks izmantota kā noklusējuma.
+user_block_yourself = Nevar liegt sevi.
+pronouns_custom_label = Pielāgoti vietniekvārdi
[repo]
new_repo_helper=Glabātava satur visas projekta datnes, tajā skaitā izmaiņu vēsturi. Jau tiek izmantota kaut kur citur? Pārcelt glabātavu .
@@ -1080,7 +1091,7 @@ download_bundle=Lejupielādēt BUNDLE
generate_repo=Izveidot glabātavu
generate_from=Izveidot no
repo_desc=Apraksts
-repo_desc_helper=Ievadiet īsu aprakstu (neobligāts)
+repo_desc_helper=Īss apraksts (pēc izvēles)
repo_lang=Valoda
repo_gitignore_helper=Atlasīt .gitignore sagataves
repo_gitignore_helper_desc=No izplatītu valodu sagatavju saraksta jāizvēlas, kuras datnes neiekļaut. Pēc noklusējuma katras valodas būvēšanas rīku izveidotie ierastie artefakti ir iekļauti .gitignore.
@@ -1092,7 +1103,7 @@ license_helper_desc=Licence nosaka, ko citi var un ko nevar darīt ar kodu. Nav
readme=LASIMANI
readme_helper=Atlasīt README datnes sagatavi
readme_helper_desc=Šī ir vieta, kurā var ievietot izvērstu aprakstu par projektu.
-auto_init=Sāknēt glabātavu (Pievieno .gitignore, licenci un README)
+auto_init=Sāknēt glabātavu
trust_model_helper=Izvēlieties parakstu pārbaudes uzticamības modeli. Iespējamie varianti ir:
trust_model_helper_collaborator=Līdzstrādnieka: Uzticēties līdzstrādnieku parakstiem
trust_model_helper_committer=Revīzijas iesūtītāja: Uzticēties parakstiem, kas atbilst revīzijas iesūtītājam
@@ -1108,19 +1119,19 @@ mirror_interval=Starplaiks starp spoguļošanu (derīgas laika vienības ir 'h',
mirror_interval_invalid=Starplaiks starp spoguļošanu nav derīgs.
mirror_sync_on_commit=Sinhronizēt, kad tiek aizgādāti iesūtījumi
mirror_address=Klonēt no URL
-mirror_address_desc=Pieslēgšanās rekvizītus norādiet autorizācijas sadaļā.
+mirror_address_desc=Nepieciešamie pieslēgšanās dati jānorāda pilnvarošanas sadaļā.
mirror_address_url_invalid=Norādītais URL ir nederīgs. Visas URL daļas ir jānorāda pareizi.
mirror_address_protocol_invalid=Norādītais URL ir nederīgs. Var spoguļot tikai no http(s):// vai git:// adresēm.
mirror_lfs=Lielu datņu krātuve (LFS)
mirror_lfs_desc=Aktivēt LFS datu spoguļošanu.
mirror_lfs_endpoint=LFS galapunkts
mirror_lfs_endpoint_desc=Sinhronizēšana mēģinās izmantot klonēsanas URL, lai noteiktu LFS serveri . Var norādīt arī citu galapunktu, ja glabātavas LFS dati tiek glabāti kaut kur citur.
-mirror_last_synced=Pēdējo reizi sinhronizēts
+mirror_last_synced=Pēdējo reizi sinhronizēta
mirror_password_placeholder=(bez izmaiņām)
mirror_password_blank_placeholder=(nav uzstādīts)
mirror_password_help=Jānomaina lietotājvārds, lai izdzēstu saglabāto paroli.
watchers=Novērotāji
-stargazers=Zvaigžņdevēji
+stargazers=Zvaigžņu vērotāji
stars_remove_warning=Šī glabātava tiks izņemta no visām izlasēm.
forks=Atzarojumi
reactions_more=un vēl %d
@@ -1142,14 +1153,14 @@ author_search_tooltip=Tiks attēloti ne vairāk kā 30 lietotāji
tree_path_not_found_commit=Iesūtījumā %[2]s nepastāv ceļš %[1]s
tree_path_not_found_branch=Zarā %[2]s nepastāv ceļš %[1]s
-tree_path_not_found_tag=Tagā %[2]s nepastāv ceļš %[1]s
+tree_path_not_found_tag=Birkā %[2]s nepastāv ceļš %[1]s
transfer.accept=Pieņemt nodošanu
transfer.accept_desc=`Mainīt īpašnieku uz "%s"`
transfer.reject=Noraidīt nodošanu
transfer.reject_desc=`Atcelt īpašnieka maiņu uz "%s"`
-transfer.no_permission_to_accept=Nav atļaujas pieņemt šo pārsūtīšanu.
-transfer.no_permission_to_reject=Nav atļaujas noraidīt šo pārsūtīšanu.
+transfer.no_permission_to_accept=Nav atļaujas pieņemt šo nodošanu.
+transfer.no_permission_to_reject=Nav atļaujas noraidīt šo nodošanu.
desc.private=Privāts
desc.public=Publisks
@@ -1166,7 +1177,7 @@ template.webhooks=Tīmekļa aizķeres
template.topics=Tēmas
template.avatar=Profila attēls
template.issue_labels=Pieteikumu iezīmes
-template.one_item=Norādiet vismaz vienu sagataves vienību
+template.one_item=Jāatlasa vismaz viens sagataves vienums
template.invalid=Jāatlasa sagataves glabātava
archive.title=Šī glabātava ir arhivēta. Tajā var apskatīt datnes, un to var klonēt, bet nevar aizgādāt izmaiņas vai izveidot pieteikumus vai izmaiņu pieprasījumus.
@@ -1179,7 +1190,7 @@ form.reach_limit_of_creation_n=Īpašnieks jau ir sasniedzis %d glabātavu ierob
form.name_reserved=Glabātavas nosaukums "%s" ir aizņemts.
form.name_pattern_not_allowed="%s" nav ļauts izmantot glabātavas nosaukumā.
-need_auth=Autorizācija
+need_auth=Pilnvarošana
migrate_options=Pārcelšanas iespējas
migrate_service=Migrācijas serviss
migrate_options_mirror_helper=Šī glabātava būs spoguļglabātava
@@ -1207,26 +1218,26 @@ migrate.invalid_local_path=Nederīgs vietējais ceļš. Tas nepastāv vai nenor
migrate.invalid_lfs_endpoint=LFS galapunkts nav derīgs.
migrate.failed=Pārcelšana neizdevās: %v
migrate.migrate_items_options=Ir nepieciešama piekļuves pilnvara, lai pārceltu papildu vienumus
-migrated_from=Migrēts no %[2]s
+migrated_from=Pārcelta no %[2]s
migrated_from_fake=Pārcelta no %[1]s
migrate.migrate=Pārcelt no %s
migrate.migrating=Pārceļ no %s ...
migrate.migrating_failed=Pārcelšana no %s neizdevās.
migrate.migrating_failed.error=Neizdevās pārcelt: %s
migrate.migrating_failed_no_addr=Pārcelšana neizdevās.
-migrate.github.description=Migrēt datus no github.com vai citām GitHub instancēm.
+migrate.github.description=Pārcelt datus no github.com vai GitHub Enterprise servera.
migrate.git.description=Pārcelt tikai glabātavu no jebkura Git pakalpojuma.
-migrate.gitlab.description=Migrēt datus no gitlab.com vai citām GitLab instancēm.
-migrate.gitea.description=Pārcelt datus no gitea.com vai citiem Gitea/Forgejo serveriem.
-migrate.gogs.description=Migrēt datus no notabug.org vai citām Gogs instancēm.
-migrate.onedev.description=Migrēt datus no code.onedev.io vai citām OneDev instancēm.
-migrate.codebase.description=Migrēt datus no codebasehq.com.
-migrate.gitbucket.description=Migrēt datus no GitBucket instancēm.
-migrate.migrating_git=Migrē git datus
-migrate.migrating_topics=Migrē tēmas
-migrate.migrating_milestones=Migrē atskaites punktus
+migrate.gitlab.description=Pārcelt datus no gitlab.com vai citiem GitLab serveriem.
+migrate.gitea.description=Pārcelt datus no gitea.com vai citiem Gitea serveriem.
+migrate.gogs.description=Pārcelt datus no notabug.org vai citiem Gogs serveriem.
+migrate.onedev.description=Pārcelt datus no code.onedev.io vai citiem OneDev serveriem.
+migrate.codebase.description=Pārcelt datus no codebasehq.com.
+migrate.gitbucket.description=Pārcelt datus no GitBucket serveriem.
+migrate.migrating_git=Pārceļ Git datus
+migrate.migrating_topics=Pārceļ tēmas
+migrate.migrating_milestones=Pārceļ atskaites punktus
migrate.migrating_labels=Pārceļ iezīmes
-migrate.migrating_releases=Migrē laidienus
+migrate.migrating_releases=Pārceļ laidienus
migrate.migrating_issues=Pārnes pieteikumus
migrate.migrating_pulls=Pārceļ izmaiņu pieprasījumus
migrate.cancel_migrating_title=Atcelt pārcelšanu
@@ -1264,7 +1275,7 @@ clear_ref=`Notīrīt pašreizējo atsauci`
filter_branch_and_tag=Atlasīt zaru vai birku
find_tag=Atrast birku
branches=Zari
-tags=Tagi
+tags=Birkas
issues=Pieteikumi
pulls=Izmaiņu pieprasījumi
project_board=Projekti
@@ -1282,12 +1293,12 @@ releases=Laidieni
tag=Tags
released_this=izveidoja šo laidienu
tagged_this=izveidoja tagu revīzijai
-file.title=%s atzarā %s
+file.title=%s zarā %s
file_raw=Neapstrādāts
file_history=Vēsture
file_view_source=Skatīt avotu
-file_view_rendered=Skatīt rezultātu
-file_view_raw=Rādīt neapstrādātu
+file_view_rendered=Skatīt atveidojumu
+file_view_raw=Apskatīt neapstrādātu
file_permalink=Patstāvīgā saite
file_too_large=Datne ir pārāk liela, lai to parādītu.
invisible_runes_header=Šī datne satur neredzamas unikoda rakstzīmes
@@ -1305,6 +1316,7 @@ view_git_blame=Apskatīt Git izmaiņu veicējus
video_not_supported_in_browser=Pārlūks neatbalsta HTML5 tagu "video".
audio_not_supported_in_browser=Pārlūks neatbalsta HTML5 tagu "audio".
stored_lfs=Saglabāts Git LFS
+stored_annex=Saglabāts Git Annex
symbolic_link=Simboliska saite
executable_file=Izpildāma datne
commit_graph=Iesūtījumu karte
@@ -1328,6 +1340,7 @@ editor.upload_file=Augšupielādēt datni
editor.edit_file=Labot datni
editor.preview_changes=Priekšskatīt izmaiņas
editor.cannot_edit_lfs_files=LFS datnes tīmekļa saskarnē nevar labot.
+editor.cannot_edit_annex_files=Annex datnes tīmekļa saskarnē nevar labot.
editor.cannot_edit_non_text_files=Binārās datnes tīmekļa saskarnē nevar labot.
editor.edit_this_file=Labot datni
editor.this_file_locked=Datne ir slēgta
@@ -1337,7 +1350,7 @@ editor.delete_this_file=Izdzēst datni
editor.must_have_write_access=Ir jābūt rakstīšanas piekļuvei, lai šajā datnē veiktu vai ierosinātu izmaiņas.
editor.file_delete_success=Datne "%s" tika izdzēsta.
editor.name_your_file=Jāpiešķir datnei nosaukums…
-editor.filename_help=Mapi var pievienot, ja ieraksta tās nosaukumu, aiz kura ir slīpsvītra ('/'). Mapi var noņemt ar atpakaļatkāpes taustiņa nospiešanu ievades lauka sākumā.
+editor.filename_help=Mapi var pievienot, ja ieraksta tās nosaukumu, aiz kura ir slīpsvītra ("/"). Mapi var noņemt ar atpakaļatkāpes taustiņa nospiešanu ievades lauka sākumā.
editor.or=vai
editor.cancel_lower=Atcelt
editor.commit_signed_changes=Iesūtīt parakstītas izmaiņas
@@ -1345,13 +1358,13 @@ editor.commit_changes=Iesūtīt izmaiņas
editor.add_tmpl=Pievienot "<%s>"
editor.add_tmpl.filename = datnes nosaukums
editor.add=Pievienot %s
-editor.update=Atjaunot %s
+editor.update=Atjaunināt %s
editor.delete=Dzēst %s
editor.patch=Pielietot ielāpu
editor.patching=Pielieto ielāpu:
editor.fail_to_apply_patch=`Neizdevās pielietot ielāpu "%s"`
editor.new_patch=Jauns ielāps
-editor.commit_message_desc=Pievienot neobligātu paplašinātu aprakstu…
+editor.commit_message_desc=Pēc izvēles var pievienot paplašinātu aprakstu…
editor.signoff_desc=Iesūtījuma žurnāla ziņojumam pievienot noslēgumu Signed-off-by ar iesūtītāju.
editor.commit_directly_to_this_branch=Iesūtīt uzreiz zarā %[1]s .
editor.create_new_branch=Izveidot šim iesūtījumam jaunu zaru un uzsākt izmaiņu pieprasījumu.
@@ -1376,7 +1389,7 @@ editor.commit_empty_file_text=Iesūtāmā datne ir tukša. Turpināt?
editor.no_changes_to_show=Nav izmaiņu, ko rādīt.
editor.fail_to_update_file=Neizdevās atjaunināt/izveidot datni "%s".
editor.fail_to_update_file_summary=Kļūdas ziņojums:
-editor.push_rejected_no_message=Serveris noraidīja izmaiņas bez paziņojuma. Lūgums pārbaudīt Git aizķeres.
+editor.push_rejected_no_message=Serveris bez paziņojuma noraidīja izmaiņas. Lūgums pārbaudīt Git aizķeres.
editor.push_rejected=Serveris noraidīja izmaiņas. Lūgums pārbaudīt Git aizķeres.
editor.push_rejected_summary=Pilns noraidīšanas ziņojums:
editor.add_subdir=Pievienot mapi…
@@ -1405,10 +1418,10 @@ commits.older=Vecāki
commits.newer=Jaunāki
commits.signed_by=Parakstījis
commits.signed_by_untrusted_user=Parakstījis neuzticams lietotājs
-commits.signed_by_untrusted_user_unmatched=Parakstījis neuzticams lietotājs, kas neatbilst izmaiņu autoram
-commits.gpg_key_id=GPG atslēgas Id
+commits.signed_by_untrusted_user_unmatched=Parakstījis neuzticams lietotājs, kurš neatbilst iesūtītājam
+commits.gpg_key_id=GPG atslēgas identifikators
commits.ssh_key_fingerprint=SSH atslēgas nospiedums
-commits.view_path=Skatīt šajā vēstures punktā
+commits.view_path=Apskatīt šajā vēstures punktā
commit.operations=Darbības
commit.revert=Atgriezt
@@ -1419,21 +1432,21 @@ commit.cherry-pick-header=Izlasīt: %s
commit.cherry-pick-content=Atlasīt zaru, uz kuru izlasīt:
commitstatus.error=Kļūda
-commitstatus.failure=Kļūme
+commitstatus.failure=Atteice
commitstatus.pending=Nav iesūtīts
commitstatus.success=Pabeigts
-ext_issues=Piekļuve ārējiem pieteikumiem
+ext_issues=Ārēji pieteikumi
ext_issues.desc=Saite uz ārējo problēmu sekotāju.
projects=Projekti
projects.desc=Pārvaldīt pieteikumus un izmaiņu pieprasījumus projektos.
-projects.description=Apraksts (neobligāts)
+projects.description=Apraksts (pēc izvēles)
projects.description_placeholder=Apraksts
projects.create=Izveidot projektu
projects.title=Nosaukums
projects.new=Jauns projekts
-projects.new_subheader=Koordinē, seko un atjauno savu darbu centralizēti, lai projekts būtu izsekojams un vienmēr laikā.
+projects.new_subheader=Saskaņo, pārraugi un atjaunini savu darbu vienā vietā, lai projekti būtu caurskatāmi un vienmēr laikā.
projects.create_success=Projekts "%s" tika izveidots.
projects.deletion=Izdzēst projektu
projects.deletion_desc=Projekta izdzēšana noņem to no visiem saistītajiem pieteikumiem. Turpināt?
@@ -1453,7 +1466,7 @@ projects.column.edit_title=Nosaukums
projects.column.new_title=Nosaukums
projects.column.new_submit=Izveidot aili
projects.column.new=Jauna aile
-projects.column.set_default=Iestatīt kā noklusējumu
+projects.column.set_default=Iestatīt kā noklusējuma
projects.column.set_default_desc=Iestatīt šo aili kā noklusējumu neapkopotiem pieteikumiem un izmaiņu pieprasījumiem
projects.column.unset_default=Atiestatīt noklusēto
projects.column.unset_default_desc=Noņemt šo kolonnu kā noklusēto
@@ -1467,7 +1480,7 @@ projects.card_type.desc=Kartīšu priekšskatījumi
projects.card_type.images_and_text=Attēli un teksts
projects.card_type.text_only=Tikai teksts
-issues.desc=Organizēt kļūdu ziņojumus, uzdevumus un atskaites punktus.
+issues.desc=Kļūdu ziņojumus, uzdevumu un atskaites punktu apkopošana.
issues.filter_assignees=Filtrēt pēc atbildīgajiem
issues.filter_milestones=Filtrēt pēc atskaites punkta
issues.filter_projects=Filtrēt pēc projekta
@@ -1485,7 +1498,7 @@ issues.new.open_projects=Atvērtie projekti
issues.new.closed_projects=Aizvērtie projekti
issues.new.no_items=Nav neviena ieraksta
issues.new.milestone=Atskaites punkts
-issues.new.no_milestone=Nav atskaites punktu
+issues.new.no_milestone=Nav atskaites punkta
issues.new.clear_milestone=Notīrīt atskaites punktus
issues.new.open_milestone=Atvērtie atskaites punkti
issues.new.closed_milestone=Aizvērtie atskaites punkti
@@ -1588,14 +1601,14 @@ issues.opened_by_fake=%[2]s atvēra %[1]s
issues.closed_by_fake=%[2]s aizvēra %[1]s
issues.previous=Iepriekšējā
issues.next=Nākamā
-issues.open_title=Atvērta
-issues.closed_title=Slēgta
+issues.open_title=Atvērti
+issues.closed_title=Aizvērti
issues.draft_title=Melnraksts
issues.num_comments_1=%d piebilde
issues.num_comments=%d piebildes
issues.commented_at=`pievienoja piebildi %s `
issues.delete_comment_confirm=Vai tiešām izdzēst šo piebildi?
-issues.context.copy_link=Kopēt saiti
+issues.context.copy_link=Ievietot saiti starpliktuvē
issues.context.quote_reply=Citēt atbildi
issues.context.reference_issue=Atsaukties jaunā pieteikumā
issues.context.edit=Labot
@@ -1643,7 +1656,7 @@ issues.save=Saglabāt
issues.label_title=Nosaukums
issues.label_description=Apraksts
issues.label_color=Krāsa
-issues.label_exclusive=Ekskluzīvs
+issues.label_exclusive=Sevišķa
issues.label_archive=Arhivēt iezīmi
issues.label_archived_filter=Rādīt arhivētās iezīmes
issues.label_archive_tooltip=Arhivētās iezīmes pēc noklusējuma netiek iekļautas ieteikumos, kad meklē pēc iezīmes.
@@ -1691,7 +1704,7 @@ issues.unlock.title=Atslēgt šī pieteikuma apspriešanu.
issues.comment_on_locked=Nevar pievienot piebildi aizslēgtam pieteikumam.
issues.delete=Dzēst
issues.delete.title=Izdzēst šo pieteikumu?
-issues.delete.text=Vai patiešām vēlaties dzēst šo problemu? (Neatgriezeniski tiks izdzēsts viss saturs. Apsveriet iespēju to aizvērt, ja vēlaties informāciju saglabāt vēsturei)
+issues.delete.text=Vai tiešām izdzēst šo pieteikumu? (Tas neatgriezeniski noņems visu saturu. Tā vietā vēlams apsvērt aizvēršanu, ja ir paredzēts paturēt to arhivētu)
issues.tracker=Laika uzskaite
issues.start_tracking_short=Uzsākt laika skaitīšanu
issues.start_tracking=Uzsākt laika uzskaiti
@@ -1701,7 +1714,7 @@ issues.tracking_already_started=`Laika uzskaite jau ir uzsākta cit
issues.stop_tracking=Apturēt laika uzskaitīšanu
issues.stop_tracking_history=` beidza strādāt %s`
issues.cancel_tracking=Atmest
-issues.cancel_tracking_history=`atcēla laika uzskaiti %s`
+issues.cancel_tracking_history=`atcēla laika uzskaitīšanu %s`
issues.add_time=Pašrocīgi pievienot laiku
issues.del_time=Dzēst šo laika žurnāla ierakstu
issues.add_time_short=Pievienot laiku
@@ -1719,25 +1732,25 @@ issues.error_modifying_due_date=Neizdevās izmainīt izpildes termiņu.
issues.error_removing_due_date=Neizdevās noņemt izpildes termiņu.
issues.push_commit_1=pievienoja %d iesūtījumu %s
issues.push_commits_n=pievienoja %d iesūtījumus %s
-issues.force_push_codes=`veica piespiedu aizgādāšanu zarā %[1]s no %[2]s
to %[4]s
%[6]s`
+issues.force_push_codes=`veica uzspiestu aizgādāšanu zarā %[1]s no %[2]s
uz %[4]s
%[6]s`
issues.force_push_compare=Salīdzināt
issues.due_date_form=dd.mm.gggg.
issues.due_date_form_add=Pievienot izpildes termiņu
issues.due_date_form_edit=Labot
issues.due_date_form_remove=Noņemt
issues.due_date_not_writer=Ir nepieciešama rakstīšanas piekļuve šim repozitorijam, lai varētu mainīt problēmas plānoto izpildes datumu.
-issues.due_date_not_set=Izpildes termiņš nav uzstādīts.
-issues.due_date_added=pievienoja izpildes termiņu %s %s
-issues.due_date_modified=mainīja termiņa datumu no %[2]s uz %[1]s %[3]s
-issues.due_date_remove=noņēma izpildes termiņu %s %s
+issues.due_date_not_set=Nav uzstādīts izpildes datums.
+issues.due_date_added=pievienoja izpildes datumu %s %s
+issues.due_date_modified=mainīja izpildes datumu no %[2]s uz %[1]s %[3]s
+issues.due_date_remove=noņēma izpildes datumu %s %s
issues.due_date_overdue=Nokavēts
issues.due_date_invalid=Izpildes datums nav derīgs vai tas ir ārpus datumu apgabala. Lūgums izmantot pierakstu "gggg-mm-dd".
issues.dependency.title=Atkarības
issues.dependency.issue_no_dependencies=Nav atkarību.
issues.dependency.pr_no_dependencies=Nav atkarību.
-issues.dependency.no_permission_1=Nav tiesību nolasīt %d atkarību
-issues.dependency.no_permission_n=Nav tiesību nolasīt %d atkarības
-issues.dependency.no_permission.can_remove=Nav tiesību nolasīt šo atkarību, bet iespējams to noņemt
+issues.dependency.no_permission_1=Nav tiesību lasīt %d atkarību
+issues.dependency.no_permission_n=Nav tiesību lasīt %d atkarības
+issues.dependency.no_permission.can_remove=Nav tiesību lasīt šo atkarību, bet ir iespējams to noņemt
issues.dependency.add=Pievienot atkarību…
issues.dependency.cancel=Atcelt
issues.dependency.remove=Noņemt
@@ -1751,7 +1764,7 @@ issues.dependency.pr_close_blocks=Šis izmaiņu pieprasījums liedz zemāk esoš
issues.dependency.issue_close_blocked=Nepieciešams aizvērt visus pieteikumus, kas aiztur šo pieteikumu, lai to varētu aizvērt.
issues.dependency.issue_batch_close_blocked=Nav iespējama vairāku izvēlēto pieteikumu aizvēršana, jo pieteikumam #%d joprojām ir atvērtas atkarības
issues.dependency.pr_close_blocked=Nepieciešams aizvērt visus pieteikumus, kas aiztur šo izmaiņu pieprasījumu, lai to varētu iekļaut.
-issues.dependency.blocks_short=Bloķē
+issues.dependency.blocks_short=Aiztur
issues.dependency.blocked_by_short=Atkarīgs no
issues.dependency.remove_header=Noņemt atkarību
issues.dependency.issue_remove_text=Tas noņems atkarību no šī pieteikuma. Turpināt?
@@ -1765,13 +1778,13 @@ issues.dependency.add_error_cannot_create_circular=Nevar izveidot atkarību ar d
issues.dependency.add_error_dep_not_same_repo=Abiem pieteikumiem jābūt vienā un tajā pašā glabātavā.
issues.review.self.approval=Nevar apstiprināt savu izmaiņu pieprasījumu.
issues.review.self.rejection=Nevar pieprasīt izmaiņas savam izmaiņu pieprasījumam.
-issues.review.approve=apstiprināja izmaiņas %s
+issues.review.approve=apstiprināja šīs izmaiņas %s
issues.review.comment=izskatīja %s
issues.review.dismissed=atmeta %s izskatīšanu %s
issues.review.dismissed_label=Atmesta
issues.review.left_comment=pievienoja piebildi
issues.review.content.empty=Ir nepieciešams pievienot piebildi par pieprasīto(ajām) izmaiņu(ām).
-issues.review.reject=pieprasīja izmaiņas %s
+issues.review.reject=pieprasīja labojumus %s
issues.review.wait=tika pieprasīts izskatīt %s
issues.review.add_review_request=pieprasīja izskatīšanu no %[1]s %[2]s
issues.review.remove_review_request=noņēma izskatīšanas pieprasījumu %[1]s %[2]s
@@ -1810,7 +1823,7 @@ pulls.view=Apskatīt izmaiņu pieprasījumu
pulls.compare_changes=Jauns izmaiņu pieprasījums
pulls.allow_edits_from_maintainers=Atļaut labojumus no uzturētājiem
pulls.allow_edits_from_maintainers_desc=Lietotāji ar rakstīšanas piekļuvi pamata zaram var aizgādāt izmaiņas arī šajā zarā
-pulls.allow_edits_from_maintainers_err=Atjaunošana neizdevās
+pulls.allow_edits_from_maintainers_err=Atjaunināšana neizdevās
pulls.compare_changes_desc=Jāatlasa zars, kurā iekļaut izmaiņas, un zars, no kura tās atgādāt.
pulls.has_viewed_file=Apskatīta
pulls.has_changed_since_last_review=Izmainīts kopš pēdējās izskatīšanas
@@ -1820,13 +1833,13 @@ pulls.collapse_files=Savērst visas datnes
pulls.compare_base=pamata
pulls.compare_compare=atgādāt no
pulls.switch_comparison_type=Mainīt salīdzināšanas tipu
-pulls.switch_head_and_base=Mainīt galvas un pamata atzarus
+pulls.switch_head_and_base=Apmainīt galotnes un pamata zarus
pulls.filter_branch=Atlasīt zarus
pulls.no_results=Nekas netika atrasts.
pulls.show_all_commits=Rādīt visus iesūtījumus
pulls.show_changes_since_your_last_review=Rādīt izmaiņas kopš Tavas pēdējās izskatīšanas
pulls.showing_only_single_commit=Rāda tikai iesūtījuma %[1]s izmaiņas
-pulls.showing_specified_commit_range=Rāda tikai izmaiņas starp %[1]s..%[2]s
+pulls.showing_specified_commit_range=Rāda izmaiņas tikai starp %[1]s..%[2]s
pulls.select_commit_hold_shift_for_range=Atlasīt iesūtījumu. Jātur Shift + klikšķis, lai atlasītu vairākus
pulls.review_only_possible_for_full_diff=Izskatīšana ir iespējama tikai tad, kad tiek apskatīts pilns salīdzinājums
pulls.filter_changes_by_commit=Atlasīt pēc iesūtījuma
@@ -1859,7 +1872,7 @@ pulls.is_checking=Notiek apvienošanas nesaderību pārbaude. Pēc brīža jām
pulls.is_ancestor=Zars jau ir pilnībā iekļauts mērķa zarā. Nav izmaiņu, ko apvienot.
pulls.is_empty=Šī zara izmaiņas jau ir mērķa zarā. Šis būs tukšs iesūtījums.
pulls.required_status_check_failed=Dažas no nepieciešamajām pārbaudēm bija nesekmīgas.
-pulls.required_status_check_missing=Trūkst dažu obligāto pārbaužu.
+pulls.required_status_check_missing=Trūkst dažu nepieciešamo pārbaužu.
pulls.required_status_check_administrator=Kā pārvaldītājs joprojām vari iekļaut šo izmaiņu pieprasījumu.
pulls.blocked_by_approvals=Šim izmaiņu pieprasījumam vēl nav pietiekami daudz apstiprinājumu. Nodrošināti %d no %d apstiprinājumiem.
pulls.blocked_by_rejection=Šim izmaiņu pieprasījumam oficiālais izskatītājs ir pieprasījis labojumus.
@@ -1878,7 +1891,7 @@ pulls.reject_count_1=%d labojumu pieprasījums
pulls.reject_count_n=%d izmaiņu pieprasījumi
pulls.waiting_count_1=nepieciešama %d izskatīšana
pulls.waiting_count_n=nepieciešamas %d izskatīšanas
-pulls.wrong_commit_id=iesūtījuma identifikatoram jābūt mērķa zara iesūtījuma identifikatoram
+pulls.wrong_commit_id=iesūtījuma identifikatoram jābūt iesūtījuma identifikatoram mērķa zarā
pulls.no_merge_desc=Šo izmaiņu pieprasījumu nevar iekļaut, jo visas glabātavas apvienošanas iespējas ir atspējotas.
pulls.no_merge_helper=Jāiespējo apvienošanas iespējas glabātavas iestatījumos vai arī izmaiņu pieprasījums jāiekļauj pašrocīgi.
@@ -1886,7 +1899,7 @@ pulls.no_merge_wip=Šo izmaiņu pieprasījumu nav iespējams iekļaut, jo tas ir
pulls.no_merge_not_ready=Šis izmaiņu pieprasījums nav gatavs apvienošanai, jāpārbauda izskatīšanas stāvoklis un stāvokļa pārbaudes.
pulls.no_merge_access=Nav pilnvaru, lai iekļautu šo izmaiņu pieprasījumu.
pulls.merge_pull_request=Izveidot apvienošanas iesūtījumu
-pulls.rebase_merge_pull_request=Pārbāzēt un pārtīt uz priekšu
+pulls.rebase_merge_pull_request=Pārbāzēt, tad pārlēkt
pulls.rebase_merge_commit_pull_request=Pārbāzēt, tad izveidot apvienošanas iesūtījumu
pulls.squash_merge_pull_request=Izveidot saspiešanas iesūtījumu
pulls.merge_manually=Pašrocīgi apvienots
@@ -1899,8 +1912,8 @@ pulls.merge_conflict_summary=Kļūdas ziņojums
pulls.rebase_conflict=Apvienošana neizdevās: iesūtījuma %[1]s pārbāzēšanas laikā radās nesaderība. Norāde: jāmēģina cita pieeja
pulls.rebase_conflict_summary=Kļūdas ziņojums
pulls.unrelated_histories=Apvienošana neizdevās: apvienošanas galotnei un pamatam nav kopējas vēstures. Norāde: jāmēģina cita pieeja
-pulls.merge_out_of_date=Apvienošana neizdevās: apvienošanas laikā pamata zars tika atjaunināts. Norāde: jāmēģina vēlreiz.
-pulls.head_out_of_date=Apvienošana neizdevās: apvienošanas laikā galotne tika atjaunināta. Norāde: jāmēģina vēlreiz.
+pulls.merge_out_of_date=Apvienošana neizdevās: iekļaušanas laikā pamata zars tika atjaunināts. Norāde: jāmēģina vēlreiz.
+pulls.head_out_of_date=Apvienošana neizdevās: iekļaušanas laikā galotne tika atjaunināta. Norāde: jāmēģina vēlreiz.
pulls.has_merged=Neizdevās: izmaiņu pieprasījums tika iekļauts, to nevar darīt atkārtoti vai mainīt mērķa zaru.
pulls.push_rejected=Aizgādāšana neizdevās: aizgādāšana tika noraidīta. Jāpārskata šīs glabātavas Git aizķeres.
pulls.push_rejected_summary=Pilns noraidīšanas ziņojums
@@ -1911,7 +1924,7 @@ pulls.status_checks_success=Visas pārbaudes bija sekmīgas
pulls.status_checks_warning=Dažas pārbaudes ziņoja brīdinājumus
pulls.status_checks_failure=Dažas pārbaudes neizdevās izpildīt
pulls.status_checks_error=Dažu pārbaužu izpildes laikā, radās kļūdas
-pulls.status_checks_requested=Obligāts
+pulls.status_checks_requested=Nepieciešama
pulls.status_checks_details=Papildu informācija
pulls.status_checks_hide_all=Paslēpt visas pārbaudes
pulls.status_checks_show_all=Parādīt visas pārbaudes
@@ -1943,8 +1956,8 @@ pulls.auto_merge_canceled_schedule=Šī izmaiņu pieprasījuma automātiskā apv
pulls.auto_merge_newly_scheduled_comment=`ieplānoja šī izmaiņu pieprasījuma automātisko apvienošanu, kad visas pārbaudes tiks sekmīgi pabeigtas %[1]s`
pulls.auto_merge_canceled_schedule_comment=`atcēla šī izmaiņu pieprasījuma automātisku apvienošanu pēc visu pārbaužu sekmīgas izpildes %[1]s`
-pulls.delete.title=Dzēst šo izmaiņu pieprasījumu?
-pulls.delete.text=Vai patiešām vēlaties dzēst šo izmaiņu pieprasījumu? (Neatgriezeniski tiks izdzēsts viss saturs. Apsveriet iespēju to aizvērt, ja vēlaties informāciju saglabāt vēsturei)
+pulls.delete.title=Izdzēst šo izmaiņu pieprasījumu?
+pulls.delete.text=Vai tiešām izdzēst šo izmaiņu pieprasījumu? (Tiks neatgriezeniski izdzēsts viss saturs. Jāapsver iespēja to aizvērt, ja ir nolūks to paturēt arhivētu)
pulls.recently_pushed_new_branches=Tu aizgādāji izmaiņas zarā %[1]s %[2]s
@@ -1954,7 +1967,7 @@ milestones.new=Jauns atskaites punkts
milestones.closed=Aizvērts %s
milestones.update_ago=Atjaunināts %s
milestones.no_due_date=Bez termiņa
-milestones.open=Atvērta
+milestones.open=Atvērts
milestones.close=Aizvērt
milestones.new_subheader=Atskaites punkti var palīdzēt pārvaldīt pieteikumus un sekot to attīstībai.
milestones.completeness=Pabeigtni %d%%
@@ -1963,7 +1976,7 @@ milestones.title=Virsraksts
milestones.desc=Apraksts
milestones.due_date=Beigu datums (pēc izvēles)
milestones.clear=Notīrīt
-milestones.invalid_due_date_format=Beigu datuma pierakstam ir jābūt 'yyyy-mm-dd'.
+milestones.invalid_due_date_format=Beigu datuma pierakstam ir jābūt "yyyy-mm-dd".
milestones.create_success=Tika izveidots atskaites punkts "%s".
milestones.edit=Labot atskaites punktu
milestones.edit_subheader=Atskaites punkti ļauj sakārtot pieteikumus un sekot attīstībai.
@@ -1973,8 +1986,8 @@ milestones.edit_success=Atskaites punkts "%s" tika atjaunināts.
milestones.deletion=Izdzēst atskaites punktu
milestones.deletion_desc=Atskaites punkta izdzēšana noņems to no visiem saistītajiem pieteikumiem. Turpināt?
milestones.deletion_success=Atskaites punkts tika izdzēsts.
-milestones.filter_sort.earliest_due_data=Tuvākais izpildes datums
-milestones.filter_sort.latest_due_date=Tālākais izpildes datums
+milestones.filter_sort.earliest_due_data=Agrākais izpildes datums
+milestones.filter_sort.latest_due_date=Vēlākais izpildes datums
milestones.filter_sort.least_complete=Vismazāk pabeigtais
milestones.filter_sort.most_complete=Visvairāk pabeigtais
milestones.filter_sort.most_issues=Visvairāk pieteikumu
@@ -2007,7 +2020,7 @@ wiki.filter_page=Meklēt lapu
wiki.new_page=Lapa
wiki.page_title=Lapas virsraksts
wiki.page_content=Lapas saturs
-wiki.default_commit_message=Ierakstiet piezīmes par šīs lapas izmaiņām (neobligāts).
+wiki.default_commit_message=Rakstīt piezīmes par šīs lapas izmaiņām (izvēles).
wiki.save_page=Saglabāt lapu
wiki.last_commit_info=%s laboja lapu %s
wiki.edit_page_button=Labot
@@ -2024,7 +2037,7 @@ wiki.last_updated=Pēdējo reizi labota %s
wiki.page_name_desc=Jāievada šīs vikivietnes lapas nosaukums. Daži īpašie nosaukumi ir: "Home", "_Sidebar" un "_Footer".
wiki.original_git_entry_tooltip=Rādīt sākotnējo Git datni, nevis izmantot draudzīgo saiti.
-activity=Aktivitāte
+activity=Notikumi
activity.period.filter_label=Laika periods:
activity.period.daily=1 diena
activity.period.halfweekly=3 dienas
@@ -2035,11 +2048,11 @@ activity.period.semiyearly=6 mēneši
activity.period.yearly=1 gads
activity.overview=Pārskats
activity.active_prs_count_1=%d atvērts izmaiņu pieprasījums
-activity.active_prs_count_n=%d aktīvi izmaiņu pieprasījumi
+activity.active_prs_count_n=%d atvērti izmaiņu pieprasījumi
activity.merged_prs_count_1=Iekļauts izmaiņu pieprasījums
activity.merged_prs_count_n=Iekļauti izmaiņu pieprasījumi
activity.opened_prs_count_1=Ierosināts izmaiņu pieprasījums
-activity.opened_prs_count_n=Piedāvāti izmaiņu pieprasījumi
+activity.opened_prs_count_n=Ierosināti izmaiņu pieprasījumi
activity.title.user_1=%d lietotājs
activity.title.user_n=%d lietotāji
activity.title.prs_1=%d izmaiņu pieprasījumu
@@ -2056,11 +2069,11 @@ activity.title.issues_1=%d pieteikumu
activity.title.issues_n=%d pieteikumus
activity.title.issues_closed_from=%s aizvērts no %s
activity.title.issues_created_by=%s izveidoja %s
-activity.closed_issue_label=Slēgta
+activity.closed_issue_label=Aizvēra
activity.new_issues_count_1=Jauns pieteikums
activity.new_issues_count_n=Jauni pieteikumi
-activity.new_issue_label=Atvērta
-activity.title.unresolved_conv_1=%d neatrisināta diskusija
+activity.new_issue_label=Atvēra
+activity.title.unresolved_conv_1=%d neatrisināta saruna
activity.title.unresolved_conv_n=%d neatrisinātu apspriešanu
activity.unresolved_conv_desc=Šie nesen mainītie pieteikumi un izmaiņu pieprasījumi vēl nav atrisināti.
activity.unresolved_conv_label=Atvērts
@@ -2076,9 +2089,9 @@ activity.git_stats_pushed_1=aizgādāja
activity.git_stats_pushed_n=aizgādāja
activity.git_stats_commit_1=%d iesūtījumu
activity.git_stats_commit_n=%d iesūtījumus
-activity.git_stats_push_to_branch=atzarā %s un
+activity.git_stats_push_to_branch=zarā %s un
activity.git_stats_push_to_all_branches=visos zaros.
-activity.git_stats_on_default_branch=Atzarā %s,
+activity.git_stats_on_default_branch=Zarā %s,
activity.git_stats_file_1=%d datne
activity.git_stats_file_n=%d datnes
activity.git_stats_files_changed_1=tika izmainīts
@@ -2126,11 +2139,11 @@ settings.mirror_settings.docs.can_still_use=Lai arī nevar labot esošās spogu
settings.mirror_settings.docs.pull_mirror_instructions=Lai iestatītu atgādāšanas spoguļglabātavu, lūgums pārskatīt:
settings.mirror_settings.docs.more_information_if_disabled=Vairāk par aizgādāšanas un izgūšanas spoguļglabātavām var uzzināt šeit:
settings.mirror_settings.docs.doc_link_title=Kā spoguļot glabātavas?
-settings.mirror_settings.docs.doc_link_pull_section=dokumentācijas nodaļā "Pulling from a remote repository".
+settings.mirror_settings.docs.doc_link_pull_section=dokumentācijas nodaļā "Izgūšana no attālas glabātavas".
settings.mirror_settings.docs.pulling_remote_title=Atgādā no attālas glabātavas
settings.mirror_settings.mirrored_repository=Spoguļotā glabātava
settings.mirror_settings.direction=Virziens
-settings.mirror_settings.direction.pull=Izmaiņu saņemšana
+settings.mirror_settings.direction.pull=Atgādāšana
settings.mirror_settings.direction.push=Aizgādāšana
settings.mirror_settings.last_update=Pēdējās izmaiņas
settings.mirror_settings.push_mirror.none=Nav pievienotu aizgādāšanas spoguļglabātavu
@@ -2139,7 +2152,7 @@ settings.mirror_settings.push_mirror.add=Pievienot aizgādāšanas spoguļglabā
settings.mirror_settings.push_mirror.edit_sync_time=Labot spoguļglabātavas sinhronizēšanas starplaiku
settings.sync_mirror=Sinhronizēt tagad
-settings.pull_mirror_sync_in_progress=Pašlaik tiek saņemtas izmaiņas no attālā %s.
+settings.pull_mirror_sync_in_progress=Pašlaik tiek atgādātas izmaiņas no attālās %s.
settings.push_mirror_sync_in_progress=Pašlaik tiek aizgādātas izmaiņas uz attālo %s.
settings.site=Tīmekļvietne
settings.update_settings=Saglabāt iestatījumus
@@ -2162,7 +2175,7 @@ settings.external_tracker_url_error=Ārējā pieteikumu izsekotāja URL nav der
settings.external_tracker_url_desc=Apmeklētāji tiks novirzīti uz ārējā pieteikumu izsekotāja URL pēc klikšķināšanas uz pieteikumu cilnes.
settings.tracker_url_format=Ārējā pieteikumu izsekotāja URL veidols
settings.tracker_url_format_error=Ārējā pieteikumu izsekotāja URL uzbūve neatbilst derīgam URL.
-settings.tracker_issue_style=Ārējā pieteikumu izsekotājas numuru veidols
+settings.tracker_issue_style=Ārējā pieteikumu izsekotāja numuru veidols
settings.tracker_issue_style.numeric=Cipari
settings.tracker_issue_style.alphanumeric=Burti un cipari
settings.tracker_issue_style.regexp=Regulārā izteiksme
@@ -2174,13 +2187,13 @@ settings.allow_only_contributors_to_track_time=Atļaut uzskaitīt laiku tikai l
settings.pulls_desc=Iespējot glabātavas izmaiņu pieprasījumus
settings.pulls.ignore_whitespace=Nesaderību noteikšanā neņemt vērā atstarpes
settings.pulls.enable_autodetect_manual_merge=Iespējot pašrocīgas apvienošanas noteikšanu (Piezīme: dažos īpašos gadījumos tā var nenostrādāt pareizi)
-settings.pulls.allow_rebase_update=Iespējot izmaiņu pieprasījuma atjaunošanu ar pārbāzēšanu
+settings.pulls.allow_rebase_update=Iespējot izmaiņu pieprasījuma zara atjaunināšanu ar pārbāzēšanu
settings.pulls.default_delete_branch_after_merge=Pēc noklusējuma izdzēst izmaiņu pieprasījuma zaru pēc apvienošanas
settings.pulls.default_allow_edits_from_maintainers=Atļaut uzturētājiem labot pēc noklusējuma
settings.releases_desc=Iespējot glabātavas laidienus
settings.packages_desc=Iespējot glabātavas pakotņu reģistru
settings.projects_desc=Iespējot glabātavas projektus
-settings.actions_desc=Iespējot iekļautos CI/CD cauruļvadus ar Forgejo darbībām
+settings.actions_desc=Iespējot iekļautos CI/CD cauruļvadus ar Forgejo Actions
settings.admin_settings=Pārvaldītāja iestatījumi
settings.admin_enable_health_check=Iespējot glabātavas darbspējas pārbaudes (git fsck)
settings.admin_code_indexer=Koda indeksētājs
@@ -2198,7 +2211,7 @@ settings.convert_notices_1=Šī darbība pārveidos spoguļglabātavu par parast
settings.convert_confirm=Pārveidot glabātavu
settings.convert_succeed=Spoguļglabātava tika pārveidota par parastu glabātavu.
settings.convert_fork=Pārveidot par parastu glabātavu
-settings.convert_fork_desc=Šo atzarojumu var pārveidot par parastu glabātavu. To nevar atdarīt.
+settings.convert_fork_desc=Šo atzarojumu var pārveidot par parastu glabātavu. To nevar atsaukt.
settings.convert_fork_notices_1=Šī darbība pārveidos atzarojumu par parastu glabātavu, un tā nav atsaucama.
settings.convert_fork_confirm=Pārveidot glabātavu
settings.convert_fork_succeed=Atzarojums tika pārveidots par parastu glabātavu.
@@ -2212,7 +2225,7 @@ settings.transfer_desc=Nodot šo glabātavu lietotājam vai apvienībai, kurā T
settings.transfer_form_title=Ievadiet repozitorija nosaukumu, lai apstiprinātu:
settings.transfer_in_progress=Pašlaik jau ir notiekoša nodošana. Lūgums to atcelt, ja ir vēlme nodot šo glabātavu citam lietotājam.
settings.transfer_notices_1=- Tiks zaudēta piekļuve glabātavai, ja tā tiks nodota atsevišķam lietotājam.
-settings.transfer_notices_2=- Tiks saglabāta piekļuve, ja jaunais īpašnieks ir organizācija un esat viens no tās īpašniekiem.
+settings.transfer_notices_2=- Tiks saglabāta piekļuve glabātavai, ja tā tiks nodota apvienībai, kurai esi (līdz)īpašnieks.
settings.transfer_notices_3=- Ja glabātava ir privāta un tā tiek nodota atsevišķam lietotājam, šī darbība pārbauda, vai lietotājam ir vismaz lasīšanas atļauja (un izmaina atļaujas, ja nepieciešams).
settings.transfer_owner=Jaunais īpašnieks
settings.transfer_perform=Veikt nodošanu
@@ -2226,7 +2239,7 @@ settings.trust_model.collaborator=Līdzdalībnieks
settings.trust_model.collaborator.long=Līdzdalībnieks: uzticēties līdzdalībnieku parakstiem
settings.trust_model.collaborator.desc=Derīgi šīs glabātavas līdzdalībnieku paraksti tiks atzīmēti ar "uzticams" (neatkarīgi no tā, vai tie atbilst iesūtītājam vai nē). Pretējā gadījumā derīgi paraksti tiks atzīmēti ar "neuzticams", ja paraksts atbilst iesūtītājam, un ar "neatbilstošs", ja neatbilst.
settings.trust_model.committer=Iesūtītājs
-settings.trust_model.committer.long=Iesūtītājs: uzticēties parakstiem, kas atbilst iesūtītājiem (Šis atbilst GitHub un piespiedīs Forgejo parakstītiem iesūtījumiem norādīt Forgejo kā iesūtītāju)
+settings.trust_model.committer.long=Iesūtītājs: uzticēties parakstiem, kas atbilst iesūtītājiem (Šis atbilst GitHub un uzsspiedīs Forgejo parakstītiem iesūtījumiem norādīt Forgejo kā iesūtītāju)
settings.trust_model.committer.desc=Derīgi paraksti tiks atzīmēti ar "uzticams" tikai tad, ja tie atbildīs iesūtītājam, pretējā gadījumā tie tiks atzīmēti ar "neatbilstošs". Tas nozīmē, ka Forgejo būs iesūtītājs parakstītiem iesūtījumiem, patieso iesūtītāju iesūtījumā atzīmējot ar Co-authored-by: un Co-committed-by: noslēgumu. Noklusējuma Forgejo atslēgai ir jāatbilst lietotājam datu bāzē.
settings.trust_model.collaboratorcommitter=Līdzdalībnieks un iesūtītājs
settings.trust_model.collaboratorcommitter.long=Līdzdalībnieks un iesūtītājs: uzticēties līdzdalībnieku, kas atbilst iesūtītājam, parakstiem
@@ -2256,23 +2269,23 @@ settings.collaborator_deletion_desc=Līdzdalībnieka noņemšana atsauks tā pie
settings.remove_collaborator_success=Līdzdalībnieks tika noņemts.
settings.search_user_placeholder=Meklēt lietotāju…
settings.org_not_allowed_to_be_collaborator=Apvienības nevar tikt pievienotas kā līdzdalībnieki.
-settings.change_team_access_not_allowed=Iespēja mainīt komandu piekļuvi repozitorijam ir organizācijas īpašniekam
-settings.team_not_in_organization=Komanda nav tajā pašā organizācijā kā repozitorijs
+settings.change_team_access_not_allowed=Komandu piekļuves mainīšana glabātavai ir pieejama tikai apvienības īpašniekam
+settings.team_not_in_organization=Komanda nav tajā pašā apvienībā kā glabātava
settings.teams=Komandas
settings.add_team=Pievienot komandu
-settings.add_team_duplicate=Komandai jau ir piekļuve šim repozitorijam
+settings.add_team_duplicate=Komandai jau ir piekļuve glabātavai
settings.add_team_success=Komandai tagad ir piekļuve glabātavai.
settings.search_team=Meklēt komandu…
-settings.change_team_permission_tip=Komandas tiesības tiek uzstādītas komandas iestatījumu lapā un nevar tikt individuāli mainītas katram repozitorijam atsevišķi
-settings.delete_team_tip=Komandai ir piekļuve visiem repozitorijiem un tā nevar tikt noņemta individuāli
-settings.remove_team_success=Komandas piekļuve šim repozitorijam ir noņemta.
+settings.change_team_permission_tip=Komandas atļauja ir iestatīta komandas iestatījumu lapā un nav maināma katrai glabātavai atsevišķi
+settings.delete_team_tip=Komandai ir piekļuve visām glabātavām, un to nevar noņemt
+settings.remove_team_success=Tika noņemta komandas piekļuve glabātavai.
settings.add_webhook=Pievienot tīmekļa aizķeri
settings.add_webhook.invalid_channel_name=Tīmekļa aizķeres plūsmas nosaukums nevar būt tukšs vai saturēt tikai rakstzīmi #.
settings.hooks_desc=Tīmekļa aizķeres automātiski sūta serverim HTTP POST pieprasījumus, kad iedarbojas noteikti Forgejo notikumi. Vairāk ir lasāms tīmekļa aizķeru rokasgrāmatā .
settings.webhook_deletion=Noņemt tīmekļa aizķeri
settings.webhook_deletion_desc=Tīmekļa aizķeres noņemšana izdzēš tās iestatījumus un piegādes vēsturi. Turpināt?
settings.webhook_deletion_success=Tīmekļa aizķere tika noņemta.
-settings.webhook.test_delivery=Izmēģināt piegādi
+settings.webhook.test_delivery=Pārbaudīt piegādi
settings.webhook.test_delivery_desc=Pārbaudīt šo tīmekļa aizķeri ar neīstu notikumu.
settings.webhook.test_delivery_desc_disabled=Lai pārbaudītu šo tīmekļa aizķeri ar neīstu notikumu, tā ir jāiespējo.
settings.webhook.request=Pieprasījums
@@ -2315,8 +2328,8 @@ settings.event_release=Laidiens
settings.event_release_desc=Laists klajā, atjaunināts vai izdzēsts laidiens glabātavā.
settings.event_push=Aizgādāšana
settings.event_push_desc=Git aizgādāšana uz glabātavu.
-settings.event_repository=Repozitorijs
-settings.event_repository_desc=Repozitorijs izveidots vai dzēsts.
+settings.event_repository=Glabātava
+settings.event_repository_desc=Izveidota vai izdzēsta glabātava.
settings.event_header_issue=Pieteikumu notikumi
settings.event_issues=Izmainīšana
settings.event_issues_desc=Pieteikums atvērts, aizvērts, atkārtoti atvērts vai labots.
@@ -2348,11 +2361,11 @@ settings.event_pull_request_review_request_desc=Pieprasīta izmaiņu pieprasīju
settings.event_pull_request_approvals=Izmaiņu pieprasījuma apstiprinājumi
settings.event_pull_request_merge=Izmaiņu pieprasījuma iekļaušana
settings.event_package=Pakotne
-settings.event_package_desc=Repozitorijā izveidota vai dzēsta pakotne.
+settings.event_package_desc=Izveidota vai izdzēsta pakotne glabātavā.
settings.branch_filter=Zaru atlase
settings.branch_filter_desc=Zaru baltais saraksts aizgādāšanas, zaru izveidošanas un izdzēšanas notikumiem, kas ir norādīts kā glob paraugs. Ja tukšs vai *
, tiks nosūtīti visu zaru notikumi. Par pierakstu skatīt%[2]s dokumentācijā. Piemēri: main
, {main,release*}
.
settings.authorization_header=Pilnvarošanas galvene
-settings.authorization_header_desc=Tiks iekļauta kā autorizācijas galvenei pieprasījumiem, ja ir norādīta. Piemēram: %s.
+settings.authorization_header_desc=Tiks iekļauta pieprasījumos kā pilnvarošanas galvene, ja ir norādīta. Piemēram: %s.
settings.active=Aktīvs
settings.active_helper=Informācija par iedarbinātajiem notikumiem tiks nosūtīta uz šo tīmekļa aizķeres URL.
settings.add_hook_success=Tīmekļa aizķere tika pievienota.
@@ -2364,7 +2377,7 @@ settings.hook_type=Aizķeres veids
settings.slack_token=Pilnvara
settings.slack_domain=Domēns
settings.slack_channel=Kanāls
-settings.add_web_hook_desc=Integrēt %s repozitorijā.
+settings.add_web_hook_desc=Iekļaut %s savā glabātavā.
settings.web_hook_name_gitea=Gitea
settings.web_hook_name_forgejo = Forgejo
settings.web_hook_name_gogs=Gogs
@@ -2384,7 +2397,7 @@ settings.packagist_api_token=API pilnvara
settings.packagist_package_url=Packagist pakotnes URL
settings.deploy_keys=Izvietošanas atslēgas
settings.add_deploy_key=Pievienot izvietošanas atslēgu
-settings.deploy_key_desc=Izvietošanas atslēgām ir lasīšanas piekļuve repozitorijam.
+settings.deploy_key_desc=Izvietošanas atslēgām ir lasīšanas piekļuve glabātavai.
settings.is_writable=Iespējot rakstīšanas piekļuvi
settings.is_writable_info=Atļaut šai izvietošanas atslēgai aizgādāt uz glabātavu.
settings.no_deploy_keys=Pagaidām nav nevienas izvietošanas atslēgas.
@@ -2394,26 +2407,26 @@ settings.key_been_used=Izvietošanas atslēga ar šādu saturu jau ir pievienota
settings.key_name_used=Jau pastāv izvietošanas atslēga ar tādu pašu nosaukumu.
settings.add_key_success=Izvietošanas atslēga "%s" tika pievienota.
settings.deploy_key_deletion=Noņemt izvietošanas atslēgu
-settings.deploy_key_deletion_desc=Noņemot izvietošanas atslēgu, tai tiks liegta piekļuve šim repozitorija. Vai turpināt?
+settings.deploy_key_deletion_desc=Izvietošanas atslēgas noņemšana atsauks tās piekļuvi šai glabātavai. Turpināt?
settings.deploy_key_deletion_success=Izvietošanas atslēga tika noņemta.
settings.branches=Zari
-settings.protected_branch=Zaru aizsardzība
-settings.protected_branch.save_rule=Saglabāt noteikumu
-settings.protected_branch.delete_rule=Dzēst noteikumu
+settings.protected_branch=Zaru aizsargāšana
+settings.protected_branch.save_rule=Saglabāt kārtulu
+settings.protected_branch.delete_rule=Izdzēst kārtulu
settings.protected_branch_can_push=Atļaut izmaiņu nosūtīšanu?
settings.protected_branch_can_push_yes=Jūs varat nosūtīt izmaiņas
settings.protected_branch_can_push_no=Jūs nevarat nosūtīt izmaiņas
-settings.branch_protection=Zara "%s " aizsardzības kārtulas
+settings.branch_protection=Zara "%s " aizsargāšanas kārtulas
settings.protect_this_branch=Iespējot atzara aizsardzību
settings.protect_this_branch_desc=Neļauj atzara dzēšanu, kā arī ierobežo izmaiņu iesūtīšanu un sapludināšanu šajā atzarā.
settings.protect_disable_push=Atspējot aizgādāšanu
settings.protect_disable_push_desc=Aizgādāšana šajā zarā netiks ļauta.
settings.protect_enable_push=Iespējot aizgādāšanu
-settings.protect_enable_push_desc=Ikvienam ar rakstīšanas piekļuvi būs ļauts aizgādāt izmaiņas uz šo zaru (bet ne piespiedu aizgādāšana).
+settings.protect_enable_push_desc=Ikvienam ar rakstīšanas piekļuvi būs ļauts aizgādāt izmaiņas uz šo zaru (bet ne uzspiesta aizgādāšana).
settings.protect_enable_merge=Iespējot apvienošanu
settings.protect_enable_merge_desc=Ikvienam ar rakstīšanas tiesībām būs ļauts apvienot izmaiņu pieprasījumus ar šo zaru.
settings.protect_whitelist_committers=Ierobežotas aizgādāšanas izņēmumi
-settings.protect_whitelist_committers_desc=Tikai norādītajiem lietotājiem vai komandām būs ļauts aizgādāt izmaiņas šajā zarā (bet ne piespiedu aizgādāšana).
+settings.protect_whitelist_committers_desc=Tikai norādītajiem lietotājiem vai komandām būs ļauts aizgādāt izmaiņas šajā zarā (bet ne uzspiesta aizgādāšana).
settings.protect_whitelist_deploy_keys=Atļaut izvietošanas atslēgām ar rakstīšanas piekļuvi aizgādāt izmaiņas.
settings.protect_whitelist_users=Lietotāji, kuriem ir ļauts aizgādāt izmaiņas
settings.protect_whitelist_search_users=Meklēt lietotājus…
@@ -2423,16 +2436,16 @@ settings.protect_merge_whitelist_committers=Iespējot apvienošanas atļaušanas
settings.protect_merge_whitelist_committers_desc=Atļaut tikai noteiktiem lietotājiem vai komandām apvienot izmaiņu pieprasījumus ar šo zaru.
settings.protect_merge_whitelist_users=Lietotāji, kuri var veikt apvienošanu
settings.protect_merge_whitelist_teams=Komandas, kuras var veikt apvienošanu
-settings.protect_check_status_contexts=Iespējot statusu pārbaudi
-settings.protect_status_check_patterns=Stāvokļa pārbaudes paraugi
+settings.protect_check_status_contexts=Iespējot stāvokļa pārbaudi
+settings.protect_status_check_patterns=Stāvokļa pārbaužu paraugi
settings.protect_status_check_patterns_desc=Jāievada paraugi, lai norādītu, kurām stāvokļa pārbaudēm sekmīgi jāizpildās, pirms zari var tikt iekļauti zarā, kas atbilst šai kārtulai. Katrā rindā ir norādāms viens paraugs. Paraugi nevar būt tukši.
settings.protect_check_status_contexts_desc=Pirms apvienošanas ir nepieciešama sekmīga stāvokļa pārbaužu izpilde. Kad iespējots, iesūtījumiem vispirms jābūt aizgādātiem citā zarā, tad pēc stāvokļa pārbaužu sekmīgas izpildes iekļautiem vai aizgādātiem tieši zarā, kas atbilst šai kārtulai. Ja nav atbilstošu kontekstu, pēdējam iesūtījumam jābūt sekmīgam neatkarīgi no konteksta.
-settings.protect_check_status_contexts_list=Statusu pārbaudes, kas šim repozitorijam bijušas pēdējās nedēļas laikā
+settings.protect_check_status_contexts_list=Stāvokļa pārbaudes, kas šajā glabātavā atrastas pēdējās nedēļas laikā
settings.protect_status_check_matched=Atbilst
settings.protect_invalid_status_check_pattern=Kļūdains statusa pārbaudes šablons: "%s".
settings.protect_no_valid_status_check_patterns=Nav derīgu stāvokļa pārbaužu paraugu.
settings.protect_required_approvals=Nepieciešamie apstiprinājumi
-settings.protect_required_approvals_desc=Atļaut iekļaut izmaiņu pieprasījumu tikai ar pietiekamu daudzumu apstiprinošu izskatījumu.
+settings.protect_required_approvals_desc=Atļaut iekļaut izmaiņu pieprasījumu tikai ar pietiekamu daudzumu apstiprinošu izskatīšanu.
settings.protect_approvals_whitelist_enabled=Ierobežot apstiprinājumus norādītajiem lietotājiem vai komandām
settings.protect_approvals_whitelist_enabled_desc=Tikai iepriekšnorādītiem lietotāju vai komandu izskatīšanas tiks ieskaitītas nepieciešamo apstiprinājumu skaitā. Bez iepriekšnorādīta apstiprinājumu izskatītāju saraksta izskatīšanas no ikviena, kam ir rakstīšanas piekļuve, tiks ieskaitītas nepieciešamo apstiprinājumu skaitā.
settings.protect_approvals_whitelist_users=Lietotāji, kas var veikt izskatīšanu
@@ -2441,7 +2454,7 @@ settings.dismiss_stale_approvals=Atmest novecojušus apstiprinājumus
settings.dismiss_stale_approvals_desc=Kad zarā tiek aizgādāti jauni iesūtījumi, kas izmaina izmaiņu pieprasījuma saturu, iepriekšējie apstiprinājumi tiks atcelti.
settings.require_signed_commits=Pieprasīt parakstītus iesūtījumus
settings.require_signed_commits_desc=Noraidīt aizgādāšanu uz šo zaru, ja iesūtījumi nav parakstīti vai apliecināmi.
-settings.protect_branch_name_pattern=Aizsargātā zara šablons
+settings.protect_branch_name_pattern=Aizsargātā zara nosaukuma paraugs
settings.protect_branch_name_pattern_desc=Aizsargāto zaru nosaukumu paraugi. Paraugu pierakstu skatīt dokumentācijā . Piemēri: main, release/**
settings.protect_patterns=Šabloni
settings.protect_protected_file_patterns=Aizsargāto datņu paraugs (vairākus atdala ar semikolu ";")
@@ -2450,11 +2463,11 @@ settings.protect_unprotected_file_patterns=Neaizsargāto datņu paraugs (vairāk
settings.protect_unprotected_file_patterns_desc=Neaizsargātās datnes, kuras ir ļauts izmainīt tiešā veidā, apejot aizgādāšanas ierobežojumu, ja lietotājam ir rakstīšanas piekļuve. Vairāki paraugi ir atdalāmi ar semikolu (";"). Paraugu pierakstu skatīt %[2]s dokumentācijā. Piemēri: .drone.yml
, /docs/**/*.txt
.
settings.add_protected_branch=Iespējot aizsargāšanu
settings.delete_protected_branch=Atspējot aizsargāšanu
-settings.update_protect_branch_success=Zara aizsardzības kārtula "%s" tika atjaunināta.
-settings.remove_protected_branch_success=Zara aizsardzības kārtula "%s" tika noņemta.
-settings.remove_protected_branch_failed=Zara aizsardzības kārtulas "%s" noņemšana neizdevās.
-settings.protected_branch_deletion=Izdzēst zara aizsardzību
-settings.protected_branch_deletion_desc=Zara aizsardzības atspējošana ļauj lietotājiem ar rakstīšanas atļauju aizgādāt izmaiņas uz zaru. Turpināt?
+settings.update_protect_branch_success=Zara aizsargāšanas kārtula "%s" tika atjaunināta.
+settings.remove_protected_branch_success=Zara aizsargāšanas kārtula "%s" tika noņemta.
+settings.remove_protected_branch_failed=Zara aizsargāšanas kārtulas "%s" noņemšana neizdevās.
+settings.protected_branch_deletion=Izdzēst zara aizsargāšanu
+settings.protected_branch_deletion_desc=Zara aizsargāšanas atspējošana ļauj lietotājiem ar rakstīšanas atļauju aizgādāt zarā izmaiņas. Turpināt?
settings.block_rejected_reviews=Liegt apvienošanu, ja izskatīšana ir beigusies ar noraidīšanu
settings.block_rejected_reviews_desc=Apvienošana nebūs iespējama, kad oficiālie izskatītāji ir pieprasījuši izmaiņas, pat ja ir pietiekami daudz apstiprinājumu.
settings.block_on_official_review_requests=Liegt apvienošanu, ja ir oficiāli izskatīšanas pieprasījumi
@@ -2467,22 +2480,22 @@ settings.default_merge_style_desc=Noklusējuma apvienošanas veids
settings.choose_branch=Atlasīt zaru…
settings.no_protected_branch=Nav neviena aizsargātā zara.
settings.edit_protected_branch=Labot
-settings.protected_branch_required_rule_name=Nav norādīts noteikuma nosaukums
+settings.protected_branch_required_rule_name=Jānorāda kārtulas nosaukums
settings.protected_branch_duplicate_rule_name=Šai zaru kopai jau pastāv kārtula
settings.protected_branch_required_approvals_min=Pieprasīto izskatīšanu skaits nevar būt mazāks par nulli.
-settings.tags=Tagi
+settings.tags=Birkas
settings.tags.protection=Birku aizsargāšana
settings.tags.protection.pattern=Birku paraugs
settings.tags.protection.allowed=Atļauts
settings.tags.protection.allowed.users=Atļauts lietotājiem
settings.tags.protection.allowed.teams=Atļauts komandām
-settings.tags.protection.allowed.noone=Nevienam
+settings.tags.protection.allowed.noone=Neviens
settings.tags.protection.create=Pievienot kārtulu
settings.tags.protection.none=Nav aizsargātu birku.
settings.tags.protection.pattern.description=Var izmantot vienkāršu nosaukumu vai glob paraugu, vai regulāro izteiksmi, lai atbilstu vairākām birkām. Vairāk ir lasāms norādēs par aizsargātajām birkām .
settings.bot_token=Robotprogrammatūras pilnvara
settings.chat_id=Tērzēšanas ID
-settings.thread_id=Pavediena ID
+settings.thread_id=Pavediena identifikators
settings.matrix.homeserver_url=Mājas servera URL
settings.matrix.room_id=Istabas ID
settings.matrix.message_type=Ziņojuma veids
@@ -2490,16 +2503,16 @@ settings.archive.button=Arhivēt glabātavu
settings.archive.header=Arhivēt šo glabātavu
settings.archive.text=Glabātavas arhivēšana padarīs to tikai lasāmu. Tā nebūs redzama pārskata panelī. Neviens (pat ne Tu) nevarēs izveidot jaunus iesūtījumus vai atvērt pieteikumus vai izmaiņu pieprasījumus.
settings.archive.success=Glabātava tika sekmīgi arhivēts.
-settings.archive.error=Arhivējot repozitoriju radās neparedzēta kļūda. Pārbaudiet kļūdu žurnālu, lai uzzinātu sīkāk.
+settings.archive.error=Atgadījās kļūda, kad tika mēģināts arhivēt glabātavu. Jāapskata žurnāls, lai uzzinātu vairāk.
settings.archive.error_ismirror=Nevar arhivēt spoguļotu glabātavu.
settings.archive.branchsettings_unavailable=Zaru iestatījumi nav pieejami arhivētās glabātavās.
-settings.archive.tagsettings_unavailable=Tagu iestatījumi nav pieejami, ja repozitorijs ir arhivēts.
-settings.unarchive.button=Atcelt repozitorija arhivēšanu
-settings.unarchive.header=Atcelt šī repozitorija arhivēšanu
+settings.archive.tagsettings_unavailable=Birku iestatījumi arhivētās glabātavās nav pieejami.
+settings.unarchive.button=Atcelt glabātavas arhivēšanu
+settings.unarchive.header=Atcelt šīs glabātavas arhivēšanu
settings.unarchive.text=Glabātavas arhivēšanas atcelšana atjaunos tās spēju saņemt izmaiņas, kā arī jaunus pieteikumus un izmaiņu pieprasījumus.
settings.unarchive.success=Glabātavas arhivēšana tika sekmīgi atcelta.
-settings.unarchive.error=Repozitorija arhivēšanas atcelšanas laikā atgadījās kļūda. Vairāk ir redzams žurnālā.
-settings.update_avatar_success=Repozitorija attēls tika atjaunināts.
+settings.unarchive.error=Glabātavas arhivēšanas atcelšanas laikā atgadījās kļūda. Vairāk ir redzams žurnālā.
+settings.update_avatar_success=Glabātavas attēls tika atjaunināts.
settings.lfs=LFS
settings.lfs_filelist=Šajā glabātavā uzglabātās LFS datnes
settings.lfs_no_lfs_files=Šajā glabātavā nav uzglabātu LFS datņu
@@ -2507,17 +2520,17 @@ settings.lfs_findcommits=Atrast iesūtījumus
settings.lfs_lfs_file_no_commits=Šai LFS datnei netika atrasts neviens iesūtījums
settings.lfs_noattribute=Šim ceļam noklusējuma zarā nav slēdzamības atribūta
settings.lfs_delete=Izdzēst LFS datni ar OID %s
-settings.lfs_delete_warning=LFS datnes izdzēšana var izraisīt kļūdu "object does not exist" veicot paņemšanu. Tiešām izdzēst?
+settings.lfs_delete_warning=LFS datnes izdzēšana var izraisīt kļūdu "object does not exist" paņemšanas laikā. Tiešām izdzēst?
settings.lfs_findpointerfiles=Atrast norāžu datnes
-settings.lfs_locks=Bloķēšanas
+settings.lfs_locks=Slēdzenes
settings.lfs_invalid_locking_path=Nederīgs ceļš: %s
settings.lfs_invalid_lock_directory=Nevar slēgt mapi: %s
settings.lfs_lock_already_exists=Slēdzene jau pastāv: %s
-settings.lfs_lock=Bloķēt
+settings.lfs_lock=Slēgt
settings.lfs_lock_path=Slēdzamās datnes ceļš...
settings.lfs_locks_no_locks=Nav slēdzeņu
settings.lfs_lock_file_no_exist=Aizslēgtā datne nepastāv noklusējuma zarā
-settings.lfs_force_unlock=Piespiedu atslēgšana
+settings.lfs_force_unlock=Uzspiest atslēgšanu
settings.lfs_pointers.found=Atrasta(s) %d binārā objekta norāde(s) - %d saistītas, %d nesaistītas (%d trūkstošas glabātuvē)
settings.lfs_pointers.sha=Binārā objekta jaucējkods
settings.lfs_pointers.oid=OID
@@ -2538,7 +2551,7 @@ diff.commit=iesūtījums
diff.git-notes=Piezīmes
diff.data_not_available=Satura salīdzināšana nav pieejama
diff.options_button=Salīdzināšanas iespējas
-diff.show_diff_stats=Rādīt statistiku
+diff.show_diff_stats=Rādīt apkopojumu
diff.download_patch=Lejupielādēt ielāpa datni
diff.download_diff=Lejupielādēt atšķirību datni
diff.show_split_view=Sadalītais skats
@@ -2577,9 +2590,9 @@ diff.review.header=Iesniegt izskatīšanu
diff.review.placeholder=Izskatīšanas piezīmes
diff.review.comment=Pievienot piebildi
diff.review.approve=Apstiprināt
-diff.review.self_reject=Izmaiņu pieprasījuma autors nevar pieprasīt izmaiņas savam izmaiņu pieprasījumam
+diff.review.self_reject=Izmaiņu pieprasījuma iesniedzēji nevar pieprasīt izmaiņas savam izmaiņu pieprasījumam
diff.review.reject=Pieprasīt izmaiņas
-diff.review.self_approve=Izmaiņu pieprasījuma autors nevar apstiprināt savu izmaiņu pieprasījumu
+diff.review.self_approve=Izmaiņu pieprasījuma iesniedzēji nevar apstiprināt savu izmaiņu pieprasījumu
diff.committed_by=iesūtīja
diff.protected=Aizsargāts
diff.image.side_by_side=Blakus
@@ -2589,13 +2602,13 @@ diff.has_escaped=Šajā rindā ir slēptas unikoda rakstzīmes
diff.show_file_tree=Parādīt datņu koku
diff.hide_file_tree=Paslēpt datņu koku
-releases.desc=Pārvaldiet projekta versijas un lejupielādes.
+releases.desc=Projekta versiju un lejupielāžu pārraudzīšana.
release.releases=Laidieni
release.detail=Informācija par laidienu
-release.tags=Tagi
+release.tags=Birkas
release.new_release=Jauns laidiens
release.draft=Melnraksts
-release.prerelease=Pirmslaidiens
+release.prerelease=Pirmsizlaide
release.stable=Stabila
release.compare=Salīdzināt
release.edit=Labot
@@ -2603,8 +2616,8 @@ release.ahead.commits=%d iesūtījumi
release.ahead.target=no %s kopš laidiena publicēšanas
tag.ahead.target=%s kopš šīs birkas
release.source_code=Pirmkods
-release.new_subheader=Laidieni palīdz organizēt projekta versijas.
-release.edit_subheader=Laidieni palīdz organizēt projekta versijas.
+release.new_subheader=Laidieni apkopo projekta versijas.
+release.edit_subheader=Laidieni apkopo projekta versijas.
release.tag_name=Taga nosaukums
release.target=Mērķis
release.tag_helper=Jāizvēlas esoša birka vai jāizveido jauna.
@@ -2612,8 +2625,8 @@ release.tag_helper_new=Jauna birka. Šī birka tiks izveidota no mērķa.
release.tag_helper_existing=Esoša birka.
release.title=Laidiena nosaukums
release.title_empty=Nosaukums nevar būt tukšs.
-release.message=Aprakstiet šo laidienu
-release.prerelease_desc=Atzīmēt kā pirmslaidienu
+release.message=Aprakstīt šo laidienu
+release.prerelease_desc=Atzīmēt kā pirmsizlaidi
release.prerelease_helper=Atzīmēt, ka šo laidienu nav ieteicams lietot produkcijā.
release.cancel=Atcelt
release.publish=Laist klajā laidienu
@@ -2634,7 +2647,7 @@ release.downloads=Lejupielādes
release.download_count=Lejupielādes: %s
release.add_tag_msg=Izmantot laidiena nosaukumu un saturu kā birkas ziņojumu.
release.add_tag=Izveidot birku
-release.releases_for=Repozitorja %s laidieni
+release.releases_for=Glabātavas %s laidieni
release.tags_for=%s birkas
branch.name=Zara nosaukums
@@ -2683,7 +2696,7 @@ tag.create_success=Tags "%s" tika izveidots.
topic.manage_topics=Pārvaldīt tēmas
topic.done=Gatavs
topic.count_prompt=Nevar pievienot vairāk kā 25 tēmas
-topic.format_prompt=Tēmai jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un punktus ('.') un var būt līdz 35 rakstzīmēm gara. Burtiem jābūt mazajiem.
+topic.format_prompt=Tēmai jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ("-") un punktus (".") un var būt līdz 35 rakstzīmēm gara. Jāizmanto mazie burti.
find_file.go_to_file=Atrast datni
find_file.no_matching=Netika atrasta neviena atbilstoša datne
@@ -2756,7 +2769,7 @@ release.download_count_few = %s lejupielādes
settings.rename_branch_failed_protected = Nevar pārdēvēt zaru %s, jo tas ir aizsargāts zars.
release.type_external_asset = Ārējs līdzeklis
release.hide_archive_links = Paslēpt automātiski izveidotos arhīvus
-settings.archive.mirrors_unavailable = Spoguļglabātavas nav pieejamas, ja glabātava ir arhivēta.
+settings.archive.mirrors_unavailable = Spoguļglabātavas nav pieejamas arhivētās glabātavās.
release.type_attachment = Pielikums
settings.enforce_on_admins_desc = Glabātavas pārvaldītāji šo kārtulu nevar apiet.
settings.matrix.access_token_helper = Šim nolūkam ir ieteicams izveidot atsevišķu Matrix kontu. Piekļuves pilnvaru var iegūt Element tīmekļa klientā (privātā/inkognito cilnē) > Lietotāja izvēlne (augšējais kreisais stūris) > Visi iestatījumi > Palīdzība un par > Papildu > Piekļuves pilnvara (tieši zem mājasservera URL). Jāaizver privātā/inkognito cilne (atteikšanās padarītu pilnvaru nederīgu).
@@ -2782,6 +2795,82 @@ issues.review.add_remove_review_requests = pieprasīja izskatīšanas no %[1] un
issues.author.tooltip.pr = Šis lietotājs ir šī izmaiņu pieprasījuma izveidotājs.
pulls.edit.already_changed = Neizdevās saglabāt izmaiņu pieprasījuma izmaiņas. Izskatās, ka saturu jau ir mainījis kāds cits lietotājs. Lūgums atsvaidzināt lapu un mēģināt labot vēlreiz, lai izvairītos no izmaiņu pārrakstīšanas
pulls.blocked_by_user = Tu nevari izveidot izmaiņu pieprasījumu šajā glabātavā, jo tās īpašnieks ir Tevi liedzis.
+issues.all_title = Visi
+pulls.commit_ref_at = ` atsaucāš uz šo izmaiņu pieprasījumu iesūtījumā %[2]s `
+issues.num_participants_one = %d dalībnieks
+pulls.title_desc_one = vēlas iekļaut %[1]d iesūtījumu no %[2]s
%[3]s
+issues.archived_label_description = (Arhivēts) %s
+issues.blocked_by_user = Šajā glabātavā nevari izveidot pieteikumus, jo tās īpašnieks ir liedzis Tevi.
+issues.summary_card_alt = Pieteikuma "%s" kopsavilkuma karte glabātavā %s
+pulls.nothing_to_compare_have_tag = Atlasītie zari/birkas ir vienādi.
+pulls.merged_title_desc_one = iekļāva %[1]d iesūtījumu no %[2]s
%[3]s
%[4]s
+pulls.reopen_failed.head_branch = Izmaiņu pieprasījumu nevar atkārtoti atvērt, jo galotnes zars vairs nepastāv.
+pulls.reopen_failed.base_branch = Izmaiņu pieprasījumu nevar atkārtoti atvērt, jo pamata zars vairs nepastāv.
+pulls.cmd_instruction_merge_warning = Brīdinājums : "Automātiski noteikt pašrocīgu apvienošanu" šajā glabātavā nav iespējots, pēcāk būs nepieciešams atzīmēt šo izmaiņu pieprasījumu kā pašrocīgi apvienotu.
+issues.author.tooltip.issue = Šis lietotājs ir šī pieteikuma izveidotājs.
+issues.review.add_review_requests = pieprasīja izskatīšanu no %[1]s %[2]s
+issues.comment.blocked_by_user = Tu šim pieteikumam nevari pievienot piebildi, jo glabātavas īpašnieks vai pieteikuma izveidotājs ir liedzis Tevi.
+issues.num_reviews_one = %d izskatīšana
+issues.num_reviews_few = %d izskatīšanas
+settings.wiki_branch_rename_failure = Neizdevās normalizēt glabātavas vikivietnes zara nosaukumu.
+settings.discord_icon_url.exceeds_max_length = Ikonas URL nedrīkst būt garāka par 2048 rakstzīmēm
+settings.sourcehut_builds.visibility = Darba redzamība
+pulls.delete_after_merge.head_branch.is_default = Izdzēšamais galotnes zars ir noklusējuma zars, un to nevar izdzēst.
+pulls.delete_after_merge.head_branch.is_protected = Izdzēšamais galotnes zars ir aizsargāts zars, un to nevar izdzēst.
+pulls.delete_after_merge.head_branch.insufficient_branch = Nav atļaujas izdzēst galotnes zaru.
+contributors.contribution_type.deletions = Izdzēšanas
+activity.published_tag_label = Birka
+settings.sourcehut_builds.manifest_path = Būvējuma manifesta ceļš
+settings.federation_settings = Federācijas iestatījumi
+activity.navbar.pulse = Pulss
+settings.federation_not_enabled = Šajā serverī federācija nav iespējota.
+settings.event_pull_request_enforcement = Piemērošana
+settings.sourcehut_builds.secrets = Noslēpumi
+pulls.ready_for_review = Gatavs izskatīšanai?
+pulls.made_using_agit = AGit
+milestones.filter_sort.name = Nosaukums
+wiki.cancel = Atcelt
+activity.navbar.code_frequency = Koda biežums
+activity.navbar.recent_commits = Neseni iesūtījumi
+activity.published_prerelease_label = Pirmsizlaide
+activity.commit = Iesūtījumu darbības
+contributors.contribution_type.additions = Pievienošanas
+settings.graphql_url = GraphQL URL
+wiki.no_search_results = Nekas netika atrasts
+wiki.search = Meklēt vikivietnē
+comments.edit.already_changed = Neizdevās saglabāt piebildes izmaiņas. Izskatās, ka saturu jau ir mainījis kāds cits lietotājs. Lūgums atsvaidzināt lapu un mēģināt labot vēlreiz, lai izvairītos no izmaiņu pārrakstīšanas
+settings.default_update_style_desc = Noklusējuma atjaunināšanas veids izmaiņu pieprasījumu, kuri atpaliek no pamata zara, atjaunināšanai.
+settings.mirror_settings.push_mirror.none_ssh = Neviena
+settings.wiki_branch_rename_success = Glabātavas vikivietnes zara nosaukums tika sekmīgi normalizēts.
+settings.web_hook_name_sourcehut_builds = SourceHut būvējumi
+pulls.fast_forward_only_merge_pull_request = Tikai pārlēkšana
+settings.federation_apapiurl = Šīs glabātavas federācijas URL. Tas ir jāievieto starpliktuvē un jāielīmē citas glabātavas federācijas iestatījumos kā sekojošas glabātavas URL.
+settings.federation_following_repos = Sekojošu glabātavu URL. Atdalīti ar ";", bez atstarpes.
+settings.add_webhook.invalid_path = Ceļš nedrīkst saturēt daļu, kas ir "." vai "..", vai tukša virkne. Tas nevar sākties vai beigties ar slīpsvītru.
+settings.protect_new_rule = Izveidot jaunu zaru aizsargāšanas kārtulu
+settings.sourcehut_builds.secrets_helper = Dot darbam piekļuvi būvēšanas noslēpumiem (nepieciešams nodrošināt SECRETS:RO)
+release.asset_external_url = Ārējais URL
+release.add_external_asset = Pievienot ārēju līdzekli
+release.invalid_external_url = Nederīgs ārējais URL: "%s"
+settings.sourcehut_builds.access_token_helper = Piekļuves pilnvara, kurai ir nodrošināta JOBS:RW. meta.sr.ht jāizveido builds.sr.ht pilnvara vai builds.sr.ht pilnvara ar piekļuvi noslēpumiem .
+release.asset_name = Līdzekļa nosaukums
+pulls.sign_in_require = Pieteikties , lai izveidotu jaunu izmaiņu pieprasījumu.
+new_from_template = Izmantot sagatavi
+new_from_template_description = Var atlasīt šajā serverī esošu glabātavas sagatavi un pielietot tās iestatījumus.
+new_advanced = Papildu iestatījumi
+new_advanced_expand = Klikšķināt, lai izvērstu
+auto_init_description = Sākt ar README Git vēsturē, pēc izvēles pievienojot licences un .gitignore datnes.
+
+summary_card_alt = Glabātavas %s apkopojuma kartīte
+issues.reaction.add = Pievienot reakciju
+issues.reaction.alt_few = %[1]s atsaucās ar %[2]s.
+issues.reaction.alt_many = %[1]s un vēl %[2]d atsaucās ar %[3]s.
+issues.reaction.alt_remove = Noņemt no piebildes %[1] reakciju.
+issues.reaction.alt_add = Pievienot piebildei %[1] reakcijas.
+issues.context.menu = Piebildes izvēlne
+release.summary_card_alt = Laidiena "%s" apkopojuma kartīte glabātavā %s
+
+editor.commit_email = Iesūtījuma e-pasta adrese
[graphs]
component_loading=Ielādē %s...
@@ -2793,35 +2882,35 @@ recent_commits.what = neseni iesūtījumi
contributors.what = sniegumi
[org]
-org_name_holder=Organizācijas nosaukums
-org_full_name_holder=Organizācijas pilnais nosaukums
-org_name_helper=Organizāciju nosaukumiem vēlams būt īsiem un tādiem, ko viegli atcerēties.
-create_org=Izveidot organizāciju
-repo_updated=Atjaunināts %s
+org_name_holder=Apvienības nosaukums
+org_full_name_holder=Apvienības pilnais nosaukums
+org_name_helper=Apvienību nosaukumiem vajadzētu būt īsiem un viegli iegaumējamiem.
+create_org=Izveidot apvienību
+repo_updated=Atjaunināta %s
members=Dalībnieki
teams=Komandas
code=Kods
lower_members=dalībnieki
-lower_repositories=repozitoriji
+lower_repositories=glabātavas
create_new_team=Jauna komanda
create_team=Izveidot komandu
org_desc=Apraksts
team_name=Komandas nosaukums
team_desc=Apraksts
team_name_helper=Komandu nosaukumiem vēlams būt īsiem un tādiem, ko viegli atcerēties.
-team_desc_helper=Aprakstiet komandas mērķi vai lomu.
-team_access_desc=Piekļuve repozitorijiem
+team_desc_helper=Komandas nolūka vai lomas apraksts.
+team_access_desc=Glabātavu piekļuve
team_permission_desc=Atļauja
-team_unit_desc=Atļaut piekļuvi repozitorija sadaļām
+team_unit_desc=Atļaut piekļuvi glabātavas sadaļām
team_unit_disabled=(Atspējots)
-form.name_reserved=Organizācijas nosaukums "%s" ir rezervēts.
-form.name_pattern_not_allowed=Organizācijas nosaukums "%s" nav atļauts.
+form.name_reserved=Apvienības nosaukums "%s" ir aizņemts.
+form.name_pattern_not_allowed="%s" nav ļauts izmantot apvienības nosaukumā.
form.create_org_not_allowed=Nav ļauts izveidot apvienību.
settings=Iestatījumi
-settings.options=Organizācija
-settings.full_name=Pilns vārds, uzvārds
+settings.options=Apvienība
+settings.full_name=Pilns vārds
settings.email=E-pasta adrese saziņai
settings.website=Mājas lapa
settings.location=Atrašanās vieta
@@ -2829,49 +2918,49 @@ settings.permission=Tiesības
settings.repoadminchangeteam=Glabātavas pārvaldītājs var pievienot un noņemt komandu piekļuvi
settings.visibility=Redzamība
settings.visibility.public=Publiska
-settings.visibility.limited=Ierobežots (redzams tikai autentificētiem lietotājiem)
+settings.visibility.limited=Ierobežota (redzama tikai lietotājiem, kuri ir pieteikušies)
settings.visibility.limited_shortname=Ierobežota
-settings.visibility.private=Privāta (redzama tikai organizācijas dalībniekiem)
+settings.visibility.private=Privāta (redzama tikai apvienības dalībniekiem)
settings.visibility.private_shortname=Privāta
settings.update_settings=Atjaunināt iestatījumus
-settings.update_setting_success=Organizācijas iestatījumi tika saglabāti.
+settings.update_setting_success=Apvienības iestatījumi tika atjaunināti.
settings.change_orgname_prompt=Piezīme: apvienības nosaukuma maiņa izmainīs arī apvienības URL un atbrīvos veco nosaukumu.
settings.change_orgname_redirect_prompt=Vecais nosaukums pārvirzīs, līdz tas būs izmantots.
-settings.update_avatar_success=Organizācijas attēls tika saglabāts.
-settings.delete=Dzēst organizāciju
-settings.delete_account=Dzēst šo organizāciju
-settings.delete_prompt=Šī darbība pilnībā dzēsīs šo organizāciju, kā arī tā ir NEATGRIEZENISKA !
+settings.update_avatar_success=Apvienības attēls tika atjaunināts.
+settings.delete=Izdzēst apvienību
+settings.delete_account=Izdzēst šo apvienību
+settings.delete_prompt=Apvienība tiks neatgriezeniski noņemta. To NEVAR atsaukt.
settings.confirm_delete_account=Apstiprināt izdzēšanu
-settings.delete_org_title=Dzēst organizāciju
-settings.delete_org_desc=Organizācija tiks dzēsta neatgriezeniski. Vai turpināt?
+settings.delete_org_title=Izdzēst apvienību
+settings.delete_org_desc=Šī apvienība tiks neatgriezeniski izdzēsta. Turpināt?
settings.hooks_desc=Pievienot tīmekļa aizķeres, kas iedarbosies šīs apvienības visās glabātavās .
settings.labels_desc=Pievienot iezīmes, kas var tikt izmantotas pieteikumos šīs apvienības visās glabātavās .
-members.membership_visibility=Dalībnieka redzamība:
+members.membership_visibility=Dalībnieku redzamība:
members.public=Redzams
-members.public_helper=padarīt slēptu
+members.public_helper=Padarīt slēptu
members.private=Slēpts
-members.private_helper=padarīt redzemu
+members.private_helper=Padarīt redzemu
members.member_role=Dalībnieka loma:
members.owner=Īpašnieks
members.member=Dalībnieks
members.remove=Noņemt
-members.remove.detail=Noņemt lietotāju %[1]s no organizācijas %[2]s?
+members.remove.detail=Noņemt %[1]s no %[2]s?
members.leave=Atstāt
-members.leave.detail=Pamest organizāciju %s?
+members.leave.detail=Vai tiešām pamest apvienību "%s"?
members.invite_desc=Pievienot jaunu dalībnieku pie %s:
members.invite_now=Uzaicināt tagad
teams.join=Pievienoties
teams.leave=Atstāt
-teams.leave.detail=Pamest organizāciju %s?
-teams.can_create_org_repo=Veidot jaunus repozitorijus
+teams.leave.detail=Vai tiešām pamest komandu "%s"?
+teams.can_create_org_repo=Izveidot glabātavas
teams.can_create_org_repo_helper=Dalībnieki apvienībā var izveidot jaunas glabātavas. Izveidotājs iegūs jaunās glabātavas pārvaldītāja piekļuvi.
teams.none_access=Nav piekļuves
teams.none_access_helper="Nav piekļuve" iespēja iedarbojas tikai privātās glabātavās.
-teams.general_access=Vispārēja piekļuve
+teams.general_access=Pielāgota piekļuve
teams.general_access_helper=Komandas tiesības tiks noteiktas pēc tabulas zemāk.
teams.read_access=Skatīšanās
teams.read_access_helper=Komanda varēs skatīties un klonēt šīs organizācijas repozitorijus.
@@ -2882,39 +2971,39 @@ teams.admin_access_helper=Dalībnieki var atgādāt un aizgādāt izmaiņas uz k
teams.no_desc=Komandai nav apraksta
teams.settings=Iestatījumi
teams.owners_permission_desc=Īpašniekiem ir pilna piekļuve visām glabātavām un ir apvienības pārvaldītāja tiesības .
-teams.members=Komandas biedri
+teams.members=Komandas dalībnieki
teams.update_settings=Atjaunināt iestatījumus
-teams.delete_team=Dzēst komandu
-teams.add_team_member=Pievienot komandas biedru
+teams.delete_team=Izdzēst komandu
+teams.add_team_member=Pievienot komandas dalībnieku
teams.invite_team_member=`Uzaicināt komandā "%s"`
-teams.invite_team_member.list=Neapstiprinātie uzaicinājumi
-teams.delete_team_title=Dzēst komandu
-teams.delete_team_desc=Dzēšot komandu, tās biedri var zaudēt piekļuvi dažiem vai pat visiem repozitorijiem. Vai turpināt?
+teams.invite_team_member.list=Neapstiprināti uzaicinājumi
+teams.delete_team_title=Izdzēst komandu
+teams.delete_team_desc=Komandas izdzēšana tās dalībniekiem atsauc piekļuvi glabātavām. Turpināt?
teams.delete_team_success=Komanda tika izdzēsta.
teams.read_permission_desc=Šī komanda nodrošina lasīšanas piekļuvi: dalībnieki var apskatīt un klonēt komandas glabātavas.
teams.write_permission_desc=Šī komanda nodrošina rakstīšanas piekļuvi: dalībnieki var lasīt un aizgādāt izmaiņas uz komandas glabātavām.
teams.admin_permission_desc=Šī komanda nodrošina pārvaldītāja piekļuvi: dalībnieki var lasīt no, aizgādāt izmaiņas uz un pievienot līdzdalībniekus komandas glabātavām.
teams.create_repo_permission_desc=Papildus šī komanda nodrošina atļauju Izveidot glabātavu : dalībnieki apvienībā var izveidot jaunas glabātavas.
-teams.repositories=Komandas repozitoriji
+teams.repositories=Komandas glabātavas
teams.search_repo_placeholder=Meklēt repozitorijā…
-teams.remove_all_repos_title=Noņemt visus komandas repozitorijus
-teams.remove_all_repos_desc=Šī darbība noņems visus repozitorijus no komandas.
-teams.add_all_repos_title=Pievienot visus repozitorijus
-teams.add_all_repos_desc=Šī darbība pievienos visus organizācijas repozitorijus šai komandai.
+teams.remove_all_repos_title=Noņemt visas komandas glabātavas
+teams.remove_all_repos_desc=Šī darbība noņems visas komandas glabātavas.
+teams.add_all_repos_title=Pievienot visas glabātavas
+teams.add_all_repos_desc=Komandai tiks pievienotas visas apvienības glabātavas.
teams.add_nonexistent_repo=Pievienojamā glabātava nepastāv, lūgums vispirms to izveidot.
teams.add_duplicate_users=Lietotājs jau ir šajā komandā.
-teams.repos.none=Šai komandai nav piekļuves nevienam repozitorijam.
+teams.repos.none=Šī komanda nevarēja piekļūt nevienai glabātavai.
teams.members.none=Šajā komandā nav dalībnieku.
-teams.specific_repositories=Atsevišķi repozitoriji
-teams.specific_repositories_helper=Komandas biedriem būs piekļuve tikai pie norādītājiem repozitorijiem. Atzīmējot šo netiks automātiksi noņemti repozitoriji, kas tika pievienoti ar pazīmi Visi repozitoriji .
-teams.all_repositories=Visi repozitoriji
-teams.all_repositories_helper=Šai komandai ir piekļuve visiem repozitorijiem. Atzīmējot šo visi organizācijas repozitoriji tiks pievienoti šai komandai.
+teams.specific_repositories=Noteiktas glabātavas
+teams.specific_repositories_helper=Dalībniekiem būs piekļuve tikai komandai pievienotajām glabātavām. Pēc šī atlasīšanas netiks automātiski noņemtas glabātavas, kas jau tika pievienotas ar Visas glabātavas .
+teams.all_repositories=Visas glabātavas
+teams.all_repositories_helper=Komandai ir piekļuve visām glabātavām. Šī atlasīšana komandai pievienos visas esošās glabātavas.
teams.all_repositories_read_permission_desc=Šī komanda piešķirt skatīšanās tiesības visiem repozitorijiem : komandas biedri var skatīties un klonēt visus organizācijas repozitorijus.
teams.all_repositories_write_permission_desc=Šī komanda piešķirt labošanas tiesības visiem repozitorijiem : komandas biedri var skatīties un nosūtīt izmaiņas visiem organizācijas repozitorijiem.
teams.all_repositories_admin_permission_desc=Šī komanda piešķirt administratora tiesības visiem repozitorijiem : komandas biedri var skatīties, nosūtīt izmaiņas un mainīt iestatījumus visiem organizācijas repozitorijiem.
-teams.invite.title=Tu esi uzaicināts pievienoties organizācijas %[2]s komandai %[1]s .
+teams.invite.title=Tevi uzaicināja pievienoties komandai %s apvienībā %s .
teams.invite.by=Uzaicināja %s
-teams.invite.description=Nospiediet pogu zemāk, lai pievienotos komandai.
+teams.invite.description=Lūgums nospiest zemāk esošo pogu, lai pievienotos komandai.
open_dashboard = Atvērt pārskata paneli
follow_blocked_user = Tu nevari sekot šai apvienībai, jo tā ir liegusi Tevi.
@@ -2923,13 +3012,13 @@ dashboard=Pārskata panelis
self_check=Pašpārbaude
identity_access=Identitāte un piekļuve
users=Lietotāju konti
-organizations=Organizācijas
-assets=Koda aktīvi
-repositories=Repozitoriji
+organizations=Apvienības
+assets=Koda līdzekļi
+repositories=Glabātavas
hooks=Tīmekļa aizķeres
integrations=Integrācijas
authentication=Autentificēšanas avoti
-emails=Lietotāja e-pasts
+emails=Lietotāju e-pasta adreses
config=Konfigurācija
notices=Sistēmas paziņojumi
monitor=Uzraudzība
@@ -2941,7 +3030,7 @@ settings=Pārvaldīšanas iestatījumi
dashboard.new_version_hint=Ir pieejama Forgejo %s, pašlaik darbojas %s. Vairāk informācijas ir atrodama emuārā .
dashboard.statistic=Kopsavilkums
dashboard.operations=Uzturēšanas darbības
-dashboard.system_status=Sistēmas statuss
+dashboard.system_status=Sistēmas stāvoklis
dashboard.operation_name=Darbības nosaukums
dashboard.operation_switch=Pārslēgt
dashboard.operation_run=Palaist
@@ -2956,38 +3045,38 @@ dashboard.task.unknown=Nezināms uzdevums: %[1]s
dashboard.cron.started=Uzsākts Cron: %[1]s
dashboard.cron.process=Cron: %[1]s
dashboard.cron.cancelled=Cron: %[1]s atcelts: %[3]s
-dashboard.cron.error=Kļūda Cron: %s: %[3]s
+dashboard.cron.error=Cron kļūda: %s: %[3]s
dashboard.cron.finished=Cron: %[1]s pabeigts
dashboard.delete_inactive_accounts=Izdzēst visus neaktivētos kontus
dashboard.delete_inactive_accounts.started=Ir uzsākts visu neaktivēto kontu izdzēšanas uzdevums.
-dashboard.delete_repo_archives=Dzēst visu repozitoriju arhīvus (ZIP, TAR.GZ utt.)
-dashboard.delete_repo_archives.started=Uzdevums visu repozitoriju arhīvu dzēšanai uzsākts.
+dashboard.delete_repo_archives=Izdzēst visus glabātavu arhīvus (ZIP, TAR.GZ utt.)
+dashboard.delete_repo_archives.started=Visu glabātavas arhīvu izdzēšanas uzdevums ir uzsākts.
dashboard.delete_missing_repos=Izdzēst visas glabātavas, kurām trūkst Git datņu
dashboard.delete_missing_repos.started=Uzsākts uzdevums visu glabātavu, kurām trūkst Git datņu, izdzēšanai.
dashboard.delete_generated_repository_avatars=Izdzēst izveidotos glabātavu attēlus
dashboard.sync_repo_branches=Sinhronizēšana datubāzēs izlaida zarus no Git datiem
dashboard.update_mirrors=Atjaunināt spoguļglabātavas
-dashboard.repo_health_check=Pārbaudīt visu repozitoriju veselību
-dashboard.check_repo_stats=Pārbaudīt visu repozitoriju statistiku
-dashboard.archive_cleanup=Dzēst repozitoriju vecos arhīvus
+dashboard.repo_health_check=Pārbaudīt visu glabātavu darbspēju
+dashboard.check_repo_stats=Pārbaudīt visu glabātavas apkopojumu
+dashboard.archive_cleanup=Izdzēst vecos glabātavu arhīvus
dashboard.deleted_branches_cleanup=Notīrīt izdzēstos zarus
-dashboard.update_migration_poster_id=Atjaunināt pārcelšanas autora identifikatorus
-dashboard.git_gc_repos=Veikt atkritumu uzkopšanas darbus visiem repozitorijiem
-dashboard.resync_all_sshkeys=Atjaunināt datni '.ssh/authorized_keys' ar Forgejo SSH atslēgām.
+dashboard.update_migration_poster_id=Atjaunināt pārcelšanas ierosinātāja identifikatorus
+dashboard.git_gc_repos=Veikt drazu savākšanu visās glabātavās
+dashboard.resync_all_sshkeys=Atjaunināt datni ".ssh/authorized_keys" ar Forgejo SSH atslēgām.
dashboard.resync_all_sshprincipals=Atjaunināt datni ".ssh/authorized_principals" ar Forgejo SSH identitātēm.
-dashboard.resync_all_hooks=Atkārtoti sinhroznēt pirmssaņemšanas, atjaunināšanas un pēcsaņemšans aizķeres visās glabātavās
+dashboard.resync_all_hooks=Atkārtoti sinhronizēt pirmssaņemšanas, atjaunināšanas un pēcsaņemšans aizķeres visās glabātavās
dashboard.reinit_missing_repos=Atkārtoti sāknēt visas trūkstošās Git glabātavas, par kurām ir ieraksti
dashboard.sync_external_users=Sinhronizēt ārējo lietotāju datus
dashboard.cleanup_hook_task_table=Iztīrīt tabulu hook_task
dashboard.cleanup_packages=Notīrīt novecojušās pakotnes
dashboard.cleanup_actions=Notīrīt darbību izbeigušos žurnālus un artefaktus
dashboard.server_uptime=Servera darbības laiks
-dashboard.current_goroutine=Izmantotās Gorutīnas
+dashboard.current_goroutine=Pašreizējās gorutīnas
dashboard.current_memory_usage=Pašreizējais atmiņas lietojums
dashboard.total_memory_allocated=Kopējā iedalītā atmiņa
dashboard.memory_obtained=Iegūtā atmiņa
-dashboard.pointer_lookup_times=Rādītāju pārlūkošanas reizes
-dashboard.memory_allocate_times=Atmiņas piešķīrumi
+dashboard.pointer_lookup_times=Rādītāju uzmeklēšanas reizes
+dashboard.memory_allocate_times=Atmiņas iedalīšanas
dashboard.memory_free_times=Atmiņas atbrīvošanas
dashboard.current_heap_usage=Pašreizējais grēdas lietojums
dashboard.heap_memory_obtained=Iegūtā grēdas atmiņa
@@ -2995,77 +3084,77 @@ dashboard.heap_memory_idle=Neizmantotā grēdas atmiņa
dashboard.heap_memory_in_use=Izmantotā grēdas atmiņa
dashboard.heap_memory_released=Atbrīvotā grēdas atmiņa
dashboard.heap_objects=Grēdas objekti
-dashboard.bootstrap_stack_usage=Izmantotais sāknēšanas steka lielums
-dashboard.stack_memory_obtained=Iegūtā steka atmiņa
-dashboard.mspan_structures_usage=Izmantotās MSpan struktūras
+dashboard.bootstrap_stack_usage=Sākumielādētāja viengala rindas lietojums
+dashboard.stack_memory_obtained=Iegūtā viengala rindas atmiņa
+dashboard.mspan_structures_usage=MSpan struktūru lietojums
dashboard.mspan_structures_obtained=Iegūtās MSpan struktūras
-dashboard.mcache_structures_usage=Izmantotās MCache struktūras
+dashboard.mcache_structures_usage=MCache struktūru lietojums
dashboard.mcache_structures_obtained=Iegūtās MCache struktūras
-dashboard.profiling_bucket_hash_table_obtained=Iegūtā profilēšanas kausa jaucējtabula
+dashboard.profiling_bucket_hash_table_obtained=Iegūtā profilēšanas groza jaucējtabula
dashboard.gc_metadata_obtained=Iegūtie GC metadati
-dashboard.other_system_allocation_obtained=Iegūtās citas sistēmas sadales
-dashboard.next_gc_recycle=Nākošā GC atkritne
+dashboard.other_system_allocation_obtained=Citas iegūtās sistēmas sadales
+dashboard.next_gc_recycle=Nākamā GC atkritne
dashboard.last_gc_time=Laiks kopš pēdējās GC
dashboard.total_gc_time=Kopējais GC izpildes laiks
-dashboard.total_gc_pause=Kopējais GC izpildes laiks
-dashboard.last_gc_pause=Pedējās GC izpildes laiks
+dashboard.total_gc_pause=Kopējais GC pārtraukums
+dashboard.last_gc_pause=Pedējais GC pārtraukums
dashboard.gc_times=GC reizes
-dashboard.delete_old_actions=Dzēst visas darbības no datu bāzes
-dashboard.delete_old_actions.started=Uzsākta visu novecojušo darbību dzēšana no datu bāzes.
+dashboard.delete_old_actions=Izdzēst visas novecojušās darbības no datubāzes
+dashboard.delete_old_actions.started=Uzsākta visu novecojušo darbību izdzēšana no datubāzes.
dashboard.update_checker=Atjauninājumu pārbaudītājs
dashboard.delete_old_system_notices=Dzēst vecos sistēmas paziņojumus no datubāzes
dashboard.gc_lfs=Veikt atkritumu uzkopšanas darbus LFS meta objektiem
-dashboard.stop_zombie_tasks=Apturēt zombija uzdevumus
-dashboard.stop_endless_tasks=Apturēt nepārtrauktus uzdevumus
-dashboard.cancel_abandoned_jobs=Atcelt pamestus darbus
-dashboard.start_schedule_tasks=Sākt plānotos uzdevumus
+dashboard.stop_zombie_tasks=Apturēt darbību zombijuzdevumus
+dashboard.stop_endless_tasks=Apturēt bezgalīgus darbību uzdevumus
+dashboard.cancel_abandoned_jobs=Atcelt pamestus darbību darbus
+dashboard.start_schedule_tasks=Uzsākt paredzētos darbību uzdevumus
dashboard.sync_branch.started=Uzsākta zaru sinhronizēšana
dashboard.rebuild_issue_indexer=Pārbūvēt pieteikumu indeksētāju
-users.user_manage_panel=Lietotāju kontu pārvaldība
+users.user_manage_panel=Pārvaldīt lietotāju kontus
users.new_account=Izveidot lietotāja kontu
users.name=Lietotājvārds
-users.full_name=Vārds, uzvārds
+users.full_name=Pilns vārds
users.activated=Aktivēts
users.admin=Pārvaldītājs
users.restricted=Ierobežots
users.reserved=Aizņemts
-users.bot=Bots
+users.bot=Robotprogrammatūra
users.remote=Attāls
users.2fa=2FA
-users.repos=Repozitoriji
+users.repos=Glabātavas
users.created=Izveidots
users.last_login=Pēdējā pieteikšanās
-users.never_login=Pieteikšanās nekad nav veikta
-users.send_register_notify=Nosūtīt lietotājam reģistrācijas paziņojumu
+users.never_login=Pieteikšanās nekad nav notikusi
+users.send_register_notify=Paziņot par reģistrāciju e-pastā
users.new_success=Lietotāja konts "%s" tika izveidots.
users.edit=Labot
-users.auth_source=Autentificēšanas avots
+users.auth_source=Autentificēšanās avots
users.local=Iebūvētā
-users.auth_login_name=Autentifikācijas pieteikšanās vārds
+users.auth_login_name=Autentificēšanās pieteikšanās vārds
users.password_helper=Atstāt paroli tukšu, lai paturētu to neizmainītu.
users.update_profile_success=Lietotāja konts tika atjaunināts.
users.edit_account=Labot lietotāja kontu
-users.max_repo_creation=Maksimālais repozitoriju skaits
+users.max_repo_creation=Lielākais pieļaujamais glabātavu skaits
users.max_repo_creation_desc=(Jāievada -1, lai izmantotu vispārējo noklusējuma ierobežojumu)
users.is_activated=Aktivēts konts
-users.prohibit_login=Atspējota pieteikšanās
+users.prohibit_login=Apturēta pieteikšanās
users.is_admin=Pārvaldītāja konts
-users.is_restricted=Ir ierobežots
+users.is_restricted=Ierobežots konts
users.allow_git_hook=Var izveidot Git aizķeres
users.allow_git_hook_tooltip=Git aizķeres tiek izpildītas ar OS lietotāju, ar kuru tiek palaists Forgejo, un tām ir tāda paša līmeņa piekļuve sistēmai. Iznākumā lietotāji ar šo īpašo Git aizķeru tiesību var piekļūt un mainīt visas Forgejo glabātavas, kā arī Forgejo izmantoto datu bāzi. Tātad tie var arī iegūt Forgejo pārvaldītāja tiesības.
-users.allow_import_local=Atļauts importēt lokālus repozitorijus
-users.allow_create_organization=Atļauts veidot organizācijas
-users.update_profile=Mainīt lietotāja kontu
-users.delete_account=Dzēst lietotāja kontu
+users.allow_import_local=Var ievietot vietējas glabātavas
+users.allow_create_organization=Var izveidot apvienības
+users.update_profile=Atjaunināt lietotāja kontu
+users.delete_account=Izdzēst lietotāja kontu
users.cannot_delete_self=Nevar izdzēst sevi
-users.still_own_repo=Lietotājam pieder repozitoriji, tos sākumā ir nepieciešams izdzēst vai mainīt to īpašnieku.
-users.still_has_org=Šis lietotājs ir vienas vai vairāku organizāciju biedrs, lietotāju sākumā ir nepieciešams pamest šīs organizācijas vai viņu no tām ir jāizdzēš.
-users.purge=Attīrīt lietotu
-users.purge_help=Veikt lietotāja un visu tam piederošo glabātavu, apvienību un pakotņu piespiedu izdzēšanu. Tiks izdzēstas visas piebildes un lietotāja izveidotie pieteikumi.
+users.still_own_repo=Šim lietotājam joprojām pieder viena vai vairākas glabātavas. Tās vispirms jāizdzēš vai jānodod.
+users.still_has_org=Šis lietotājs ir apvienības dalībnieks. Vispirms lietotājs ir jānoņem no visām apvienībām.
+users.purge=Atbrīvoties no lietotāja
+users.purge_help=Veikt lietotāja un visu tam piederošo glabātavu, apvienību un pakotņu uzspiestu izdzēšanu. Tiks izdzēstas visas piebildes un lietotāja izveidotie pieteikumi.
users.still_own_packages=Šim lietotājam pieder viena vai vairākas pakotnes, tās nepieciešams izdzēst.
users.deletion_success=Lietotāja konts tika izdzēsts.
-users.reset_2fa=Noņemt 2FA
+users.reset_2fa=Atiestatīt 2FA
users.list_status_filter.menu_text=Filtrs
users.list_status_filter.reset=Atiestatīt
users.list_status_filter.is_active=Aktīvs
@@ -3074,33 +3163,33 @@ users.list_status_filter.is_admin=Pārvaldītājs
users.list_status_filter.not_admin=Nav pārvaldītājs
users.list_status_filter.is_restricted=Ierobežots
users.list_status_filter.not_restricted=Nav ierobežots
-users.list_status_filter.is_prohibit_login=Nav atļauta autorizēšanās
-users.list_status_filter.not_prohibit_login=Atļaut autorizāciju
-users.list_status_filter.is_2fa_enabled=2FA iespējots
-users.list_status_filter.not_2fa_enabled=2FA nav iespējots
+users.list_status_filter.is_prohibit_login=Neļaut pieteikšanos
+users.list_status_filter.not_prohibit_login=Atļaut pieteikšanos
+users.list_status_filter.is_2fa_enabled=2FA iespējota
+users.list_status_filter.not_2fa_enabled=2FA atspējota
users.details=Lietotāja informācija
-emails.email_manage_panel=Lietotāju e-pastu pārvaldība
-emails.primary=Primārais
+emails.email_manage_panel=Pārvaldīt lietotāju e-pasta adreses
+emails.primary=Galvenā
emails.activated=Aktivēta
emails.filter_sort.email=E-pasts
emails.filter_sort.email_reverse=E-pasta adrese (pretēji alfabētiski)
emails.filter_sort.name=Lietotājvārds
-emails.filter_sort.name_reverse=Lietotāja vārds (pretēji alfabētiski)
+emails.filter_sort.name_reverse=Lietotāja vārds (apvērsti)
emails.updated=E-pasta adrese atjaunināta
-emails.not_updated=Neizdevās atjaunot pieprasīto e-pasta adresi: %v
+emails.not_updated=Neizdevās atjaunināt pieprasīto e-pasta adresi: %v
emails.duplicate_active=E-pasta adrese jau ir aktīva citam lietotājam.
-emails.change_email_header=Atjaunot e-pasta rekvizītus
-emails.change_email_text=Vai patiešām vēlaties atjaunot šo e-pasta adresi?
+emails.change_email_header=Atjaunināt e-pasta īpašības
+emails.change_email_text=Vai tiešām atjaunināt šo e-pasta adresi?
-orgs.org_manage_panel=Organizāciju pārvaldība
+orgs.org_manage_panel=Pārvaldīt apvienības
orgs.name=Nosaukums
orgs.teams=Komandas
orgs.members=Dalībnieki
-orgs.new_orga=Jauna organizācija
+orgs.new_orga=Jauna apvienība
-repos.repo_manage_panel=Repozitoriju pārvaldība
-repos.unadopted=Nepārņemtie repozitoriji
+repos.repo_manage_panel=Pārvaldīt glabātavas
+repos.unadopted=Nepieemtās glabātavas
repos.unadopted.no_more=Nav atrasta neviena nepieņemta glabātava.
repos.owner=Īpašnieks
repos.name=Nosaukums
@@ -3110,11 +3199,11 @@ repos.stars=Zvaigznes
repos.forks=Atdalītie
repos.issues=Pieteikumi
repos.size=Izmērs
-repos.lfs_size=LFS izmērs
+repos.lfs_size=LFS lielums
-packages.package_manage_panel=Pakotņu pārvaldība
-packages.total_size=Kopējais izmērs: %s
-packages.unreferenced_size=Izmērs bez atsauces: %s
+packages.package_manage_panel=Pārvaldīt pakotnes
+packages.total_size=Kopējais lielums: %s
+packages.unreferenced_size=Lielums bez atsauces: %s
packages.cleanup=Notīrīt novecojušos datus
packages.cleanup.success=Izbeigušies dati sekmīgi notīrīti
packages.owner=Īpašnieks
@@ -3122,7 +3211,7 @@ packages.creator=Izveidotājs
packages.name=Nosaukums
packages.version=Versija
packages.type=Veids
-packages.repository=Repozitorijs
+packages.repository=Glabātava
packages.size=Izmērs
packages.published=Publicēts
@@ -3136,25 +3225,25 @@ systemhooks.desc=Tīmekļa aizķeres automātiski nosūta HTTP POST pieprasījum
systemhooks.add_webhook=Pievienot sistēmas tīmekļa aizķeri
systemhooks.update_webhook=Atjaunināt sistēmas tīmekļa aizķeri
-auths.auth_manage_panel=Autentifikācijas avotu pārvaldība
-auths.new=Pievienot autentifikācijas avotu
+auths.auth_manage_panel=Pārvaldīt autentificēšanās avotus
+auths.new=Pievienot autentificēšanas avotu
auths.name=Nosaukums
auths.type=Veids
auths.enabled=Iespējots
auths.syncenabled=Iespējot lietotāju sinhronizāciju
auths.updated=Atjaunināta
-auths.auth_type=Autentifikācijas tips
-auths.auth_name=Autentifikācijas nosaukums
+auths.auth_type=Autentificēšanas veids
+auths.auth_name=Autentificēšanas nosaukums
auths.security_protocol=Drošības protokols
auths.domain=Domēns
auths.host=Resursdators
auths.port=Ports
auths.bind_dn=Saistīšanas DN
auths.bind_password=Saistīšanas parole
-auths.user_base=Lietotāja pamatnosacījumi
+auths.user_base=Lietotāju meklēšanas pamatnosacījumi
auths.user_dn=Lietotāja DN
auths.attribute_username=Lietotājvārda atribūts
-auths.attribute_username_placeholder=Atstāt tukšu, lai izmantotu Gitea ievadīto lietotājvārdu.
+auths.attribute_username_placeholder=Atstāt tukšu, lai izmantotu Forgejo ievadīto lietotājvārdu.
auths.attribute_name=Vārda atribūts
auths.attribute_surname=Uzvārda atribūts
auths.attribute_mail=E-pasta atribūts
@@ -3162,59 +3251,59 @@ auths.attribute_ssh_public_key=Publiskās SSH atslēgas atribūts
auths.attribute_avatar=Profila attēla atribūts
auths.attributes_in_bind=Nolasīt atribūtus no saistīšanas DN konteksta
auths.allow_deactivate_all=Ļaut tukšam meklēšanas iznākumam deaktivēt visus lietotājus
-auths.use_paged_search=Izmantot, dalīto pa lapām, meklēšanu
-auths.search_page_size=Lapas izmērs
-auths.filter=Lietotāju filts
+auths.use_paged_search=Izmantot meklēšanu ar lapotāju
+auths.search_page_size=Lapas lielums
+auths.filter=Lietotāju atlase
auths.admin_filter=Pārvaldītāju atlase
-auths.restricted_filter=Ierobežoto lietotāju filtrs
+auths.restricted_filter=Ierobežoto lietotāju atlase
auths.restricted_filter_helper=Atstāt tukšu, lai nenorādītu nevienu lietotāju kā ierobežotu. Zvaigznīte ('*') ir izmantojama, lai norādītu visus lietotājus, kas neatbilst pārvaldītāju atlasei, kā ierobežotus.
auths.verify_group_membership=Pārbaudīt piederību LDAP kopai (atstāt atlasi tukšu, lai izlaistu)
-auths.group_search_base=Grupas pamatnosacījumi
+auths.group_search_base=Grupas meklēšanas pamata DN
auths.group_attribute_list_users=Grupas atribūts, kas satur sarakstu ar lietotājiem
-auths.user_attribute_in_group=Grupas atribūts, kas nosaka lietotāju
+auths.user_attribute_in_group=Lietotāja atribūts, kas ir uzskaitīts grupā
auths.map_group_to_team=Sasaistīt LDAP kopas ar apvienības komandām (atstāt lauku tukšu, lai izlaistu)
auths.map_group_to_team_removal=Noņemt lietotājus no sinhronizētajām komandām, ja lietotājs nav piesaistīts attiecīgajai LDAP grupai
auths.enable_ldap_groups=Iespējot LDAP grupas
auths.ms_ad_sa=MS AD meklēšanas atribūti
-auths.smtp_auth=SMTP autentifikācijas tips
+auths.smtp_auth=SMTP autentificēšanas veids
auths.smtphost=SMTP resursdators
auths.smtpport=SMTP ports
auths.allowed_domains=Atļautie domēni
auths.allowed_domains_helper=Atstāt tukšu, lai atļautu visus domēnus. Vairāki domēni ir atdalāmi ar komatu (",").
auths.skip_tls_verify=Izlaist TLS pārbaudi
-auths.force_smtps=Piespiedu SMTPS izmantošana
-auths.force_smtps_helper=SMTPS vienmēr tiks izmantots, ja ports ir 465. Uzstādiet šo, ja nepieciešams izmantot SMTPS ar citiem portiem. (Neatzīmējot tiks izmantots STARTTLS, ja serveris to atbalsta.)
-auths.helo_hostname=HELO resursa nosaukums
+auths.force_smtps=Uzspiest SMTPS izmantošana
+auths.force_smtps_helper=Portam 465 vienmēr tiek izmantots SMTPS. Iestatīt šo, lai piespiestu izmantot SMTPS citiem portiem. (Pretējā gadījumā portiem tiks izmantots STARTTLS, ja saimniekdators to nodrošina.)
+auths.helo_hostname=HELO resursdatora nosaukums
auths.helo_hostname_helper=Saimniekdatora nosaukums, ko sūtīt ar HELO. Atstāt tukšu, lai izmantotu pašreizējo saimniekdatora nosaukumu.
auths.disable_helo=Atspējot HELO
-auths.pam_service_name=PAM servisa nosaukums
-auths.pam_email_domain=PAM e-pasta domēns (neobligāts)
-auths.oauth2_provider=OAuth2 pakalpojuma sniedzējs
+auths.pam_service_name=PAM pakalpojuma nosaukums
+auths.pam_email_domain=PAM e-pasta domēna vārds (izvēles)
+auths.oauth2_provider=OAuth2 nodrošinātājs
auths.oauth2_icon_url=Ikonas URL
auths.oauth2_clientID=Klienta ID (atslēga)
auths.oauth2_clientSecret=Klienta noslēpums
auths.openIdConnectAutoDiscoveryURL=OpenID Connect automātiskās atklāšanas URL
auths.oauth2_use_custom_url=Izmantot pielāgotus URL noklusējuma URL vietā
auths.oauth2_tokenURL=Pilnvaras URL
-auths.oauth2_authURL=Autorizācijas URL
+auths.oauth2_authURL=Pilnvarot URL
auths.oauth2_profileURL=Profila URL
auths.oauth2_emailURL=E-pasta adreses URL
-auths.skip_local_two_fa=Izlaist vietējo divu faktoru autorizāciju
-auths.skip_local_two_fa_helper=Atstājot neatzīmētu, nozīmē, ka lokālajiem lietotājiem, kam ir uzstādīta divu faktoru autorizācija, būs nepieciešams iziet tās pārbaudi, lai autorizētos
+auths.skip_local_two_fa=Izlaist vietējo divupakāpju pieteikšanos
+auths.skip_local_two_fa_helper=Atstāt neiestatītu nozīmē, ka vietējiem lietotājiem, kuriem ir iestatīta divpakāpju pieteikšanās, tā būs jāizmanto, lai pieteiktos
auths.oauth2_tenant=Nomnieks
auths.oauth2_scopes=Papildu tvērumi
auths.oauth2_required_claim_name=Nepieciešamās prasības nosaukums
-auths.oauth2_required_claim_name_helper=Uzstādiet šo nosaukumu, lai ierobežotu, kas var autorizēties, izmantojot, šo avotu, ar norādīto prasības nosaukumu un vertību
+auths.oauth2_required_claim_name_helper=Šis nosaukums ir iestatāms, lai ierobežotu pieteikšanos no šī avota lietotājiem, kuriem ir prasība ar šādu nosaukumu
auths.oauth2_required_claim_value=Nepieciešamās prasības vērtība
-auths.oauth2_required_claim_value_helper=Uzstādiet šo vērtību, lai ierobežotu, kas var autorizēties, izmantojot, šo avotu, ar norādīto prasības nosaukumu un vertību
-auths.oauth2_group_claim_name=Prasības nosaukums, kas nodrošina grupu nosaukumus šim avotam. (Neobligāts)
+auths.oauth2_required_claim_value_helper=Šī vērtība ir iestatāma, lai ierobežotu pieteikšanos no šī avota lietotājiem, kuriem ir prasība ar šādu nosaukumu un vērtību
+auths.oauth2_group_claim_name=Prasības nosaukums, kas šim avotam nodrošina grupu nosaukumus. (Pēc izvēles)
auths.oauth2_admin_group=Kopas prasības vērtība pārvaldītājiem. (Izvēles - nepieciešams augstāk esošais prasības nosaukums)
-auths.oauth2_restricted_group=Grupas prasības vērtība ierobežotajiem lietotājiem. (Neobligāta - nepieciešams prasības nosaukums augstāk)
-auths.oauth2_map_group_to_team=Sasaistīt prasības grupas ar organizācijas komandām. (Neobligāts - nepieciešams prasības nosaukums augstāk)
+auths.oauth2_restricted_group=Grupas prasības vērtība ierobežotajiem lietotājiem. (Izvēles - nepieciešams augstāk esošais prasības nosaukums)
+auths.oauth2_map_group_to_team=Sasaistīt pieprasītās kopas ar apvienības komandām. (Izvēles - nepieciešams augstāk esošais prasības nosaukums)
auths.oauth2_map_group_to_team_removal=Noņemt lietotājus no sinhronizētajām komandām, ja lietotājs nav piesaistīts attiecīgajai grupai.
auths.enable_auto_register=Iespējot automātisko reģistrāciju
auths.sspi_auto_create_users=Automātiski izveidot lietotājus
-auths.sspi_auto_create_users_helper=Ļauj SSPI autentifikācijas metodei automātiski izveidot jaunus kontus lietotājiem, kas autorizējas pirmo reizi
+auths.sspi_auto_create_users_helper=Ļauj SSPI autentificēšanās veidam automātiski izveidot jaunus kontus lietotājiem, kas piesakās pirmo reizi
auths.sspi_auto_activate_users=Automātiski aktivēt lietotājus
auths.sspi_auto_activate_users_helper=Ļauj SSPI autentificēšanas viedam automātiski aktivēt jaunus lietotājus
auths.sspi_strip_domain_names=Noņemt domēna vārdus no lietotāju vārdiem
@@ -3224,29 +3313,29 @@ auths.sspi_separator_replacement_helper=Rakstzīme, ko izmantot, lai aizstātu a
auths.sspi_default_language=Lietotāju noklusējuma valoda
auths.sspi_default_language_helper=Noklusējuma valoda lietotājiem, kurus automātiski izveido SSPI autentificēšanās veids. Atstāt tukšu, ja ir vēlams, lai valoda tiktu noteikta automātiski.
auths.tips=Padomi
-auths.tips.oauth2.general=OAuth2 autentifikācija
-auths.tips.oauth2.general.tip=Kad tiek reģistrēta jauna OAuth2 autentifikācija, atzvanīšanas/pārvirzīšanas URL vajadzētu būt:
-auths.tip.oauth2_provider=OAuth2 pakalpojuma sniedzējs
+auths.tips.oauth2.general=OAuth2 autentificēšanās
+auths.tips.oauth2.general.tip=Kad tiek reģistrēta jauna OAuth2 autentificēšana, atzvanīšanas/pārvirzīšanas URL vajadzētu būt:
+auths.tip.oauth2_provider=OAuth2 nodrošinātājs
auths.tip.bitbucket=Jāizveido jauns OAuth patērētājs %s un jāpievieno atļauja "Account" - "Read"
auths.tip.nextcloud=Reģistrēt jaunu OAuth patērētāju savā serverī var izvēlnē "Iestatījumi -> Drošība -> OAuth 2.0 klients"
auths.tip.dropbox=Jāizveido jauna lietotne %s
auths.tip.facebook=Jāizveido jauna lietotne %s un jāpievieno produkts "Facebook Login"
auths.tip.github=Jāizveido jauna OAuth lietotne %s
auths.tip.gitlab=Reģistrējiet jaunu aplikāciju adresē https://gitlab.com/profile/applications
-auths.tip.google_plus=Iegūstiet OAuth2 klienta pilnvaru no Google API konsoles adresē %s
+auths.tip.google_plus=OAuth2 klienta piekļuves dati ir iegūstami Google API konsolē %s
auths.tip.openid_connect=Jāizmanto OpenID savienošanās atklāšanas URL (/.well-known/openid-configuration), lai norādītu galapunktus
auths.tip.twitter=Jādodas uz %s, jāizveido lietotne un jānodrošina, ka iespēja "Allow this application to be used to Sign in with Twitter" ir iespējota
auths.tip.discord=Jāizveido jauna lietotne %s
-auths.tip.gitea=Pievienot jaunu OAuth2 lietojumprogrammu. Dokumentācija ir pieejama %s
+auths.tip.gitea=Pievienot jaunu OAuth2 lietotni. Norādes ir atrodamas %s
auths.tip.yandex=%s jāizveido jauna lietotne. Sadaļā "Yandex.Passport API" jāatlasa šīs atļaujas: "Access to email address", "Access to user avatar" un "Access to username, first name and surname, gender"
auths.tip.mastodon=Jāievada pielāgota Mastodon servera URL, ar kuru vēlies autentificēties (vai jāizmanto noklusējuma)
-auths.edit=Labot autentifikācijas avotu
-auths.activated=Autentifikācijas avots ir atkivizēts
+auths.edit=Labot autentificēšanas avotu
+auths.activated=Autentificēšanas avots ir atkivēts
auths.new_success=Jauna autentifikācija "%s" tika pievienota.
auths.update_success=Autentificēšanās avots tika atjaunināts.
-auths.update=Atjaunot autentifikācijas avotu
-auths.delete=Dzēst autentifikācijas avotu
-auths.delete_auth_title=Dzēst autentifikācijas avotu
+auths.update=Atjaunināt autentificēšanās avotu
+auths.delete=Izdzēst autentificēšanas avotu
+auths.delete_auth_title=Izdzēst autentificēšanas avotu
auths.delete_auth_desc=Izdzēšot autentifikācijas avotu, tā lietotājiem nebūs iespējams pieteikties. Vai turpināt?
auths.still_in_used=Šo autentificēšanās avotu joprojām izmanto viens vai vairāki lietotāji, tos nepieciešams izdzēst vai pārvietot uz citu autentificēšanās avotu.
auths.deletion_success=Autentificēšanās avots tika izdzēsts.
@@ -3256,42 +3345,42 @@ auths.unable_to_initialize_openid=Nevarēja inicializēt OpenID Connect sliedzē
auths.invalid_openIdConnectAutoDiscoveryURL=Nederīgs automātiskās atklāšanas URL (tam jābūt derīgam URL, kas sākas ar http:// vai https://)
config.server_config=Servera konfigurācija
-config.app_name=Vietnes nosaukums
+config.app_name=Servera nosaukums
config.app_ver=Forgejo versija
-config.app_url=Forgejo pamata URL
+config.app_url=Pamata URL
config.custom_conf=Konfigurācijas datnes ceļš
config.custom_file_root_path=Pielāgoto datņu pamata ceļš
-config.domain=Servera domēns
+config.domain=Servera domēna vārds
config.offline_mode=Bezsaistes režīms
-config.disable_router_log=Atspējot maršrutētāja žurnalizēšanu
-config.run_user=Izpildes lietotājs
-config.run_mode=Izpildes režīms
+config.disable_router_log=Atspējot maršrutētāja žurnālu
+config.run_user=Lietotājs, ar kuru palaist
+config.run_mode=Palaišanas veids
config.git_version=Git versija
config.app_data_path=Lietotnes datu ceļš
-config.repo_root_path=Repozitoriju glabāšanas vieta
-config.lfs_root_path=LFS saknes ceļš
-config.log_file_root_path=Žurnalizēšanas ceļš
+config.repo_root_path=Glabātavu atrašanās vieta
+config.lfs_root_path=LFS pamatmapes ceļš
+config.log_file_root_path=Žurnālu atrašanās vieta
config.script_type=Skripta veids
-config.reverse_auth_user=Reversā lietotāja autentifikācija
+config.reverse_auth_user=Apvērstā starpniekservera autentificēšanās lietotājs
config.ssh_config=SSH konfigurācija
config.ssh_enabled=Iespējots
config.ssh_start_builtin_server=Izmantot iebūvēto serveri
-config.ssh_domain=SSH servera domēns
+config.ssh_domain=SSH servera domēna vārds
config.ssh_port=Ports
config.ssh_listen_port=Klausīšanās ports
-config.ssh_root_path=Saknes ceļš
+config.ssh_root_path=Atrašanās vieta
config.ssh_key_test_path=Atslēgu pārbaudes ceļš
-config.ssh_keygen_path=Keygen ('ssh-keygen') ceļš
-config.ssh_minimum_key_size_check=Minimālā atslēgas lieluma pārbaude
-config.ssh_minimum_key_sizes=Minimālais atslēgas lielums
+config.ssh_keygen_path=Keygen ("ssh-keygen") atrašanās vieta
+config.ssh_minimum_key_size_check=Mazākā pieļaujamā atslēgas lieluma pārbaude
+config.ssh_minimum_key_sizes=Mazākie pieļaujamie atslēgu lielumi
config.lfs_config=LFS konfigurācija
config.lfs_enabled=Iespējots
-config.lfs_content_path=LFS satura ceļš
-config.lfs_http_auth_expiry=LFS HTTP autorizācijas beigšanās
+config.lfs_content_path=LFS satura atrašanās vieta
+config.lfs_http_auth_expiry=LFS HTTP pilnvarošanas derīguma laiks
-config.db_config=Datu bāzes konfigurācija
+config.db_config=Datubāzes konfigurācija
config.db_type=Veids
config.db_host=Resursdators
config.db_name=Nosaukums
@@ -3301,24 +3390,24 @@ config.db_ssl_mode=SSL
config.db_path=Ceļš
config.service_config=Pakalpojuma konfigurācija
-config.register_email_confirm=Reģistrējoties pieprasīt apstiprināt e-pasta adresi
-config.disable_register=Atspējot lietotāju reģistrāciju
-config.allow_only_internal_registration=Atļaut reģistrāciju tikai no Forgejo
-config.allow_only_external_registration=Atļaut reģistrēties tikai ar ārējiem servisiem
-config.enable_openid_signup=Iespējot reģistrāciju, izmantojot OpenID
+config.register_email_confirm=Pieprasīt e-pasta adreses apstiprināšanu, lai reģistrētos
+config.disable_register=Atspējot pašreģistrēšanos
+config.allow_only_internal_registration=Atļaut reģistrēšanos tikai Forgejo
+config.allow_only_external_registration=Atļaut reģistrēšanos tikai caur ārējiem pakalpojumiem
+config.enable_openid_signup=Iespējot pašreģistrēšanos ar OpenID
config.enable_openid_signin=Iespējot pieteikšanos ar OpenID
config.show_registration_button=Rādīt reģistrēšanās pogu
config.require_sign_in_view=Pieprasīt pieteikšanos, lai aplūkotu lapas
config.mail_notify=Iespējot e-pasta paziņojumus
config.enable_captcha=Iespējot drošības kodu
-config.active_code_lives=Aktīvā koda ilgums
-config.reset_password_code_lives=Konta atjaunošanas koda beigšanās laiks
+config.active_code_lives=Aktivēšanas koda derīguma laiks
+config.reset_password_code_lives=Atkopšanas koda derīguma laiks
config.default_keep_email_private=Pēc noklusējuma slēpt e-pasta adreses
-config.default_allow_create_organization=Pēc noklusējuma ļaut veidot organizācijas
+config.default_allow_create_organization=Pēc noklusējuma ļaut apvienību izveidošanu
config.enable_timetracking=Iespējot laika uzskaiti
config.default_enable_timetracking=Pēc noklusējuma iespējot laika uzskaiti
config.default_allow_only_contributors_to_track_time=Atļaut uzskaitīt laiku tikai līdzdalībniekiem
-config.no_reply_address=Neatbildēt e-pasta adreses domēns
+config.no_reply_address=Slēpjamo e-pasta adrešu domēna vārds
config.default_visibility_organization=Noklusējuma redzamība jaunām apvienībām
config.default_enable_dependencies=Pēc noklusējuma iespējot pieteikumu atkarības
@@ -3332,42 +3421,42 @@ config.mailer_enabled=Iespējota
config.mailer_enable_helo=Iespējot HELO
config.mailer_name=Nosaukums
config.mailer_protocol=Protokols
-config.mailer_smtp_addr=SMTP adrese
+config.mailer_smtp_addr=SMTP saimniekdators
config.mailer_smtp_port=SMTP ports
config.mailer_user=Lietotājs
config.mailer_use_sendmail=Izmantot Sendmail
-config.mailer_sendmail_path=Ceļš līdz sendmail programmai
+config.mailer_sendmail_path=Sendmail ceļš
config.mailer_sendmail_args=Papildu Sendmail argumenti
config.mailer_sendmail_timeout=Sendmail noildze
config.mailer_use_dummy=Tukšs
config.test_email_placeholder=E-pasts (piemēram, test@example.com)
-config.send_test_mail=Nosūtīt pārbaudes e-pastu
+config.send_test_mail=Nosūtīt pārbaudes e-pasta ziņojumu
config.send_test_mail_submit=Sūtīt
-config.test_mail_failed=Neizdevās nosūtīt pārbaudes e-pastu uz "%s": %v
-config.test_mail_sent=Pārbaudes e-pasts tika nosūtīts uz "%s".
+config.test_mail_failed=Neizdevās nosūtīt pārbaudes e-pasta ziņojumu uz "%s": %v
+config.test_mail_sent=Pārbaudes e-pasta ziņojums tika nosūtīts uz "%s".
config.oauth_config=OAuth konfigurācija
config.oauth_enabled=Iespējots
config.cache_config=Kešatmiņas konfigurācija
config.cache_adapter=Kešatmiņas adapteris
-config.cache_interval=Kešatmiņas intervāls
-config.cache_conn=Kešatmiņas pieslēguma parametri
+config.cache_interval=Kešatmiņas starplaiks
+config.cache_conn=Kešatmiņas savienojums
config.cache_item_ttl=Kešatmiņas vienuma TTL
config.session_config=Sesijas konfigurācja
config.session_provider=Sesijas nodrošinātājs
-config.provider_config=Pakalpojumu sniedzēja konfigurācija
+config.provider_config=Nodrošinātāja konfigurācija
config.cookie_name=Sīkdatnes nosaukums
-config.gc_interval_time=GC laika intervāls
+config.gc_interval_time=GC starplaiks
config.session_life_time=Sesijas ilgums
config.https_only=Tikai HTTPS
config.cookie_life_time=Sīkdatņu glabāšanas ilgums
-config.picture_config=Attēlu un profila bilžu konfigurācija
-config.picture_service=Lokāli attēli
+config.picture_config=Attēlu un profila attēlu konfigurācija
+config.picture_service=Attēlu pakalpojums
config.disable_gravatar=Atspējot Gravatar
-config.enable_federated_avatar=Iespējot apvienotās profila bildes
+config.enable_federated_avatar=Iespējot vienotos profila attēlus
config.git_config=Git konfigurācija
config.git_disable_diff_highlight=Atspējot salīdzināšanas sintakses iekrāsošanu
@@ -3381,10 +3470,10 @@ config.git_clone_timeout=Klonēšanas darbības noildze
config.git_pull_timeout=Atgādāšanas darbības noildze
config.git_gc_timeout=GC darbības noildze
-config.log_config=Žurnalizēšanas konfigurācija
+config.log_config=Žurnāla konfigurācija
config.logger_name_fmt=Žurnalizētājs: %s
config.disabled_logger=Atspējots
-config.access_log_mode=Piekļuves žurnalizēšanas veids
+config.access_log_mode=Piekļuves žurnalēšanas veids
config.access_log_template=Piekļuves žurnāla sagatave
config.xorm_log_sql=SQL žurnalizēšana
@@ -3392,14 +3481,14 @@ config.set_setting_failed=`Neizdevās uzstādīt iestatījumu "%s"`
monitor.stats=Statistika
-monitor.cron=Cron uzdevumi
+monitor.cron=Atkārtojamie uzdevumi
monitor.name=Nosaukums
monitor.schedule=Grafiks
-monitor.next=Nākošās izpildes laiks
+monitor.next=Nākamā reize
monitor.previous=Pēdējās izpildes laiks
monitor.execute_times=Izpildes
monitor.process=Darbojošies procesi
-monitor.stacktrace=Steka izsekojamība
+monitor.stacktrace=Steka trasējums
monitor.processes_count=%d procesi
monitor.download_diagnosis_report=Lejupielādēt diagnostikas atskaiti
monitor.desc=Apraksts
@@ -3418,7 +3507,7 @@ monitor.queue.type=Veids
monitor.queue.exemplar=Eksemplāra veids
monitor.queue.numberworkers=Strādņu skaits
monitor.queue.activeworkers=Darbojošies strādņi
-monitor.queue.maxnumberworkers=Maksimālais strādņu skaits
+monitor.queue.maxnumberworkers=Lielākais pieļaujamais strādņu skaits
monitor.queue.numberinqueue=Skaits rindsarakstā
monitor.queue.review_add=Pārskatīt/pievienot strādņus
monitor.queue.settings.title=Pūla iestatījumi
@@ -3427,20 +3516,20 @@ monitor.queue.settings.maxnumberworkers=Maksimālais strādņu skaits
monitor.queue.settings.maxnumberworkers.placeholder=Pašalaik %[1]d
monitor.queue.settings.maxnumberworkers.error=Maksimālajam strādņu skaitam ir jābūt skaitlim
monitor.queue.settings.submit=Atjaunināt iestatījumus
-monitor.queue.settings.changed=Iestatījumi saglabāti
+monitor.queue.settings.changed=Iestatījumi atjaunināti
monitor.queue.settings.remove_all_items=Noņemt visus
monitor.queue.settings.remove_all_items_done=Visi rindsaraksta vienumi tika noņemti.
notices.system_notice_list=Sistēmas paziņojumi
-notices.view_detail_header=Skatīt paziņojuma detaļas
+notices.view_detail_header=Apskatīt paziņojuma informāciju
notices.operations=Darbības
-notices.select_all=Iezīmēt visu
-notices.deselect_all=Atcelt visa iezīmēšanu
-notices.inverse_selection=Apgriezeniskā iezīmēšana
-notices.delete_selected=Dzēst iezīmēto
-notices.delete_all=Dzēst visus paziņojumus
+notices.select_all=Atlasīt visus
+notices.deselect_all=Atcelt visa atlasīšanu
+notices.inverse_selection=Apvērst atlasīto
+notices.delete_selected=Izdzēst atlasītos
+notices.delete_all=Izdzēst visus paziņojumus
notices.type=Veids
-notices.type_1=Repozitorijs
+notices.type_1=Glabātava
notices.type_2=Uzdevums
notices.desc=Apraksts
notices.op=Op.
@@ -3463,8 +3552,22 @@ config.app_slogan = Servera sauklis
config.allow_dots_in_usernames = Ļaut lietotājiem izmantot punktus savā lietotājvārdā. Neietekmē esošos kontus.
users.restricted.description = Ļaut mijiedarbību tikai ar glabātavām un apvienībām, kurās šis lietotājs ir pievienots kā līdzdalībnieks. Tas neļauj piekļūt šī servera publiskajām glabātavām.
+dashboard.sync_repo_tags = Datubāzē sinhronizēt birkas no Git datiem
+dashboard.sync_tag.started = Uzsākta birku sinhronizēšana
+users.activated.description = E-pasta adreses apliecināšanas pabeigšana. Neaktivēta konta īpašnieks nevarēs pieteikties, kamēr e-pasta adreses apliecināšana nebūs pabeigta.
+users.block.description = Liegt šī lietotāja mijiedarbību ar šo serveri caur tā kontu un neļaut pieteikšanos.
+users.admin.description = Nodrošināt šim lietotājam pilnu piekļuvi visām pārvaldīšanas iespējām ar tīmekļa saskarni un API.
+users.local_import.description = Ļaut glabātavu ievietošanu no servera vietējās datņu sistēmas. Tā var būt drošības nepilnība.
+users.organization_creation.description = Ļaut jaunu apvienību izveidošanu.
+emails.delete = Izdzēst e-pasta adresi
+emails.delete_desc = Vai tiešām izdzēst šo e-pasta adresi?
+emails.deletion_success = E-pasta adrese tika izdzēsta.
+emails.delete_primary_email_error = Nevar izdzēst galveno e-pasta adresi.
+auths.default_domain_name = Noklusējuma domēna vārds, kas tiek izmantots e-pasta adresēs
+auths.tips.gmail_settings = Gmail iestatījumi:
+
[action]
-create_repo=izveidoja repozitoriju %s
+create_repo=izveidoja glabātavu %s
rename_repo=pārdēvēja glabātavu %[1]s
par %[3]s
commit_repo=aizgādāja izmaiņas uz %[3]s glabātavā %[4]s
create_issue=`atvēra pieteikumu %[3]s#%[2]s `
@@ -3477,7 +3580,7 @@ comment_issue=`pievienoja piebildi pieteikumam %[3]s#%[2]s `
comment_pull=`pievienoja piebildi izmaiņu pieprasījumam %[3]s#%[2]s `
merge_pull_request=`iekļāva izmaiņu pieprasījumu %[3]s#%[2]s `
auto_merge_pull_request=`automātiski iekļāva izmaiņu pieprasījumu %[3]s#%[2]s `
-transfer_repo=mainīja repozitorija %s
īpašnieku uz %s
+transfer_repo=glabātavu %s
nodeva %s
push_tag=aizgādāja birku %[3]s uz %[4]s
delete_tag=izdzēsa birku %[2]s no %[3]s
delete_branch=izdzēsa zaru %[2]s no %[3]s
@@ -3489,7 +3592,7 @@ mirror_sync_create=sinhronizēja jaunu atsauci %[3]s uz %[2]s %[3]s no spoguļglabātavas
approve_pull_request=`apstiprināja izmaiņu pieprasījumu %[3]s#%[2]s `
reject_pull_request=`ieteica izmaiņas izmaiņu pieprasījumam %[3]s#%[2]s `
-publish_release=`izveidoja versiju "%[4]s" repozitorijā %[3]s `
+publish_release=`izdeva laidienu %[4]s %[3]s `
review_dismissed=`atmeta izskatīšanu no %[4]s %[3]s#%[2]s `
review_dismissed_reason=Iemesls:
create_branch=izveidoja zaru %[3]s glabātavā %[4]s
@@ -3508,7 +3611,7 @@ future=nākotnē
1y=1 gada
seconds=%d sekundēm
minutes=%d minūtēm
-hours=%d stundām
+hours=%d stundās
days=%d dienas
weeks=%d nedēļām
months=%d mēnešiem
@@ -3541,7 +3644,7 @@ default_key=Parakstīts ar noklusējuma atslēgu
error.extract_sign=Neizdevās izgūt parakstu
error.generate_hash=Neizdevās izveidot iesūtījuma jaucējkodu
error.no_committer_account=Iesūtītāja e-pasta adrese nav piesaistīta nevienam kontam
-error.no_gpg_keys_found=Šim parakstam datu bāzē netika atrasta zināma atslēga
+error.no_gpg_keys_found=Šim parakstam datubāzē netika atrasta zināma atslēga
error.not_signed_commit=Nav parakstīts iesūtījums
error.failed_retrieval_gpg_keys=Neizdevās iegūt nevienu iesūtītāja kontam piesaistītu atslēgu
error.probable_bad_signature=UZMANĪBU! Lai arī datubāzē ir atslēga ar šādu identifikatoru, tā neapliecina šo iesūtījumu. Šis iesūtījums ir AIZDOMĪGS.
@@ -3554,28 +3657,28 @@ error.unit_not_allowed=Nav ļauts piekļūt šai glabātavas sadaļai.
[packages]
title=Pakotnes
-desc=Pārvaldīt repozitorija pakotnes.
+desc=Pārvaldīt glabātavas pakotnes.
empty=Pašlaik šeit nav nevienas pakotnes.
empty.documentation=Papildu informācija par pakotņu reģistru ir pieejama dokumentācijā .
empty.repo=Šeit netiek parādīta augšupielādēta pakotne? Jādodas uz pakotņu iestatījumiem un jāsasaista tā ar šo glabātavu.
-registry.documentation=Vairāk informācija par %s reģistru ir pieejama dokumentācijā .
+registry.documentation=Vairāk informācijas par %s reģistru ir dokumentācijā .
filter.type=Veids
filter.type.all=Visas
filter.no_result=Pēc norādītajiem kritērijiem nekas netika atrasts.
filter.container.tagged=Ar atzīmi
filter.container.untagged=Bez atzīmes
published_by=Publicēja %[3]s %[1]s
-published_by_in=Publicēja %[3]s %[1]s repozitorijā %[5]s
-installation=Instalācija
+published_by_in=%[3]s laida klajā %[1]s %[5]s
+installation=Uzstādīšana
about=Par šo pakotni
requirements=Prasības
dependencies=Atkarības
keywords=Atslēgvārdi
details=Papildu informācija
details.author=Autors
-details.project_site=Projekta lapa
-details.repository_site=Repozitorija vietne
-details.documentation_site=Dokumentācijas lapa
+details.project_site=Projekta tīmekļvietne
+details.repository_site=Glabātavas tīmekļvietne
+details.documentation_site=Dokumentācijas tīmekļvietne
details.license=Licence
assets=Resursi
versions=Versijas
@@ -3586,24 +3689,24 @@ alpine.registry=Iestatīt šo reģistru ar URL pievienošanu datnē /etc/a
alpine.registry.key=Reģistra publiskā RSA atslēga jālejupielādē mapē /etc/apk/keys/
, lai apliecinātu indeksa parakstu:
alpine.registry.info=No zemāk esošā saraksta jāizvēlas $branch un $repository.
alpine.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
-alpine.repository=Repozitorija informācija
+alpine.repository=Glabātavas informācija
alpine.repository.branches=Zari
-alpine.repository.repositories=Repozitoriji
+alpine.repository.repositories=Glabātavas
alpine.repository.architectures=Arhitektūras
cargo.registry=Iestatīt šo reģistru Cargo konfigurācijas datnē (piemēram, ~/.cargo/config.toml
):
-cargo.install=Lai instalētu Cargo pakotni, izpildiet sekojošu komandu:
+cargo.install=Lai uzstādītu pakotni ar Cargo, jāizpilda šī komanda:
chef.registry=Iestatīt šo reģistru datnē ~/.chef/config.rb
:
chef.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
composer.registry=Iestatīt šo reģistru datnē ~/.composer/config.json
:
-composer.install=Lai instalētu Composer pakotni, izpildiet sekojošu komandu:
+composer.install=Lai uzstādīt pakotni ar Composer, jāizpilda šī komanda:
composer.dependencies=Atkarības
composer.dependencies.development=Izstrādes atkarības
-conan.details.repository=Repozitorijs
-conan.registry=Šis reģistrs ir uzstādāms komandrindā:
-conan.install=Lai instalētu Conan pakotni, izpildiet sekojošu komandu:
+conan.details.repository=Glabātava
+conan.registry=Šis reģistra uzstādīšana komandrindā:
+conan.install=Lai uzstādītu pakotni ar Conan, jāizpilda šī komanda:
conda.registry=Izveidot šo reģistru kā Conda glabātavu datnē .condarc
:
-conda.install=Lai instalētu Conda pakotni, izpildiet sekojošu komandu:
-container.details.type=Attēla formāts
+conda.install=Lai uzstādītu pakotni ar Conda, jāizpilda šī komanda:
+container.details.type=Attēla veids
container.details.platform=Platforma
container.pull=Atgādāt attēlu komandrindā:
container.digest=Īssavilkums
@@ -3614,91 +3717,91 @@ container.labels.key=Atslēga
container.labels.value=Vērtība
cran.registry=Iestatīt šo reģistru datnē Rprofile.site
:
cran.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
-debian.registry=Šis reģistrs ir uzstādāms komandrindā:
+debian.registry=Šis reģistra uzstādīšana komandrindā:
debian.registry.info=No zemāk esošā saraksta jāizvēlas $distribution un $component.
debian.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
-debian.repository=Repozitorija informācija
+debian.repository=Glabātavas informācija
debian.repository.distributions=Distribūcijas
debian.repository.components=Komponentes
debian.repository.architectures=Arhitektūras
generic.download=Lejupielādēt pakotni, izmantojot, komandrindu:
-go.install=Instalēt pakotni no komandrindas:
-helm.registry=Šis reģistrs ir uzstādāms komandrindā:
-helm.install=Lai instalētu pakotni, nepieciešams izpildīt sekojošu komandu:
+go.install=Uzstādīt pakotni komandrindā:
+helm.registry=Šī reģistra uzstādīšana komandrindā:
+helm.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
maven.registry=Iestatīt šo reģistru sava projekta datnē pom.xml
:
maven.install=Lai izmantotu pakotni, datnes pom.xml
sadaļā dependencies
jāievieto šīs rindas:
-maven.install2=Izpildiet no komandrindas:
-maven.download=Izpildiet no komandrindas, lai lejupielādētu šo atkarību:
-nuget.registry=Šis reģistrs ir uzstādāms komandrindā:
-nuget.install=Lai instalētu NuGet pakotni, izpildiet sekojošu komandu:
+maven.install2=Jāizpilda komandrindā:
+maven.download=Jāizpilda komandrindā, lai lejupielādētu šo atkarību:
+nuget.registry=Šī reģistra uzstādīšana komandrindā:
+nuget.install=Lai uzstādītu pakotni ar NuGet, jāizpilda šī komanda:
nuget.dependency.framework=Mērķa ietvars
npm.registry=Iestatīt šo reģistru sava projekta datnē .npmrc
:
-npm.install=Lai instalētu npm pakotni, izpildiet sekojošu komandu:
+npm.install=Lai uzstādītu pakotni ar npm, jāizpilda šī komanda:
npm.install2=vai datnē package.json jāpievieno:
npm.dependencies=Atkarības
npm.dependencies.development=Izstrādes atkarības
-npm.dependencies.peer=Netiešās atkarības
-npm.dependencies.optional=Neobligātās atkarības
+npm.dependencies.peer=Līdzatkarības
+npm.dependencies.optional=Izvēles atkarības
npm.details.tag=Tags
-pub.install=Lai instalētu Dart pakotni, izpildiet sekojošu komandu:
+pub.install=Lai uzstādītu pakotni ar Dart, jāizpilda šī komanda:
pypi.requires=Nepieciešams Python
-pypi.install=Lai instalētu pip pakotni, izpildiet sekojošu komandu:
-rpm.registry=Šis reģistrs ir uzstādāms komandrindā:
+pypi.install=Lai uzstādītu pakotni ar pip, jāizpilda šī komanda:
+rpm.registry=Šī reģistra uzstādīšana komandrindā:
rpm.distros.redhat=uz RedHat balstītās operētājsistēmās
rpm.distros.suse=uz SUSE balstītās operētājsistēmās
rpm.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
-rpm.repository=Repozitorija informācija
+rpm.repository=Glabātavas informācija
rpm.repository.architectures=Arhitektūras
-rubygems.install=Lai instalētu gem pakotni, izpildiet sekojošu komandu:
+rubygems.install=Lai uzstādītu pakotni ar gem, jāizpilda šī komanda:
rubygems.install2=vai jāpievieno tas Gemfile:
rubygems.dependencies.runtime=Izpildlaika atkarības
rubygems.dependencies.development=Izstrādes atkarības
rubygems.required.ruby=Nepieciešamā Ruby versija
rubygems.required.rubygems=Nepieciešamā RubyGem versija
-swift.registry=Šis reģistrs ir uzstādāms komandrindā:
+swift.registry=Šī reģistra uzstādīšana komandrindā:
swift.install=Pakotne jāpievieno datnē Package.swift
:
-swift.install2=un izpildiet sekojošu komandu:
-vagrant.install=Lai pievienotu Vagrant kasti, izpildiet sekojošu komandu:
-settings.link=Piesaistīt pakotni šim repozitorijam
-settings.link.description=Sasaistot pakotni ar repozitoriju, tā tiks attēlota repozitorija pakotņu sarakstā.
-settings.link.select=Norādiet repozitoriju
-settings.link.button=Atjaunot repozitorija saiti
+swift.install2=vai jāpievieno tā Gemfile:
+vagrant.install=Lai pievienotu Vagrant kasti, jāizpilda šī komanda:
+settings.link=Piesaistīt šo pakotni glabātavai
+settings.link.description=Ja pakotne tiek sasaistīta ar glabātavu, tā tiek attēlota glabātavas pakotņu sarakstā.
+settings.link.select=Atlasīt glabātavu
+settings.link.button=Atjaunināt glabātavas saiti
settings.link.success=Glabātavas saite tika sekmīgi atjaunināta.
-settings.link.error=Neizdevās atjaunot repozitorija saiti.
-settings.delete=Dzēst pakotni
+settings.link.error=Neizdevās atjaunināt glabātavas saiti.
+settings.delete=Izdzēst pakotni
settings.delete.description=Pakotne tiks neatgriezeniski izdzēsta.
-settings.delete.notice=Tiks dzēsts %s (%s). Šī darbība ir neatgriezeniska. Vai vēlaties turpināt?
+settings.delete.notice=Tiks izdzēsta pakotne %s (%s). Šī darbība ir neatgriezeniska. Tiešām turpināt?
settings.delete.success=Pakotne tika izdzēsta.
settings.delete.error=Neizdevās izdzēst pakotni.
owner.settings.cargo.title=Cargo reģistra inkdess
-owner.settings.cargo.initialize=Inicializēt indeksu
-owner.settings.cargo.initialize.description=Ir nepieciešams īpašs indeksa Git repozitorijs, lai izmantotu Cargo reģistru. Šīs iespējas izmantošana (atkārtoti) izveidos repozitoriju un automātiski to iestatīs.
+owner.settings.cargo.initialize=Sāknēt indeksu
+owner.settings.cargo.initialize.description=Ir nepieciešams īpaša indeksa Git glabātava, lai izmantotu Cargo reģistru. Šīs iespējas izmantošana (atkārtoti) izveidos glabātavu un automātiski to iestatīs.
owner.settings.cargo.initialize.error=Neizdevās inicializēt Cargo indeksu: %v
owner.settings.cargo.initialize.success=Cargo indekss tika sekmīgi izveidots.
owner.settings.cargo.rebuild=Pārbūvēt indeksu
owner.settings.cargo.rebuild.description=Pārbūvēšana var būt noderīga, ja indekss nav sinhronizēts ar saglabātajām Cargo pakotnēm.
owner.settings.cargo.rebuild.error=Neizdevās pārbūvēt Cargo indeksu: %v
owner.settings.cargo.rebuild.success=Cargo indekss tika sekmīgi pārbūvēts.
-owner.settings.cleanuprules.title=Pārvaldīt notīrīšanas noteikumus
-owner.settings.cleanuprules.add=Pievienot notīrīšanas noteikumu
-owner.settings.cleanuprules.edit=Labot notīrīšanas noteikumu
-owner.settings.cleanuprules.none=Nav pievienoti tīrīšanas noteikumi. Sīkāku informāciju iespējams iegūt dokumentācijā.
+owner.settings.cleanuprules.title=Notīrīšanas kārtulas
+owner.settings.cleanuprules.add=Pievienot notīrīšanas kārtulu
+owner.settings.cleanuprules.edit=Labot notīrīšanas kārtulu
+owner.settings.cleanuprules.none=Vēl nav pieejama neviena tīrīšanas kārtula.
owner.settings.cleanuprules.preview=Attīrīšanas kārtulas priekšskatījums
owner.settings.cleanuprules.preview.overview=Ir ieplānota %d paku dzēšana.
-owner.settings.cleanuprules.preview.none=Notīrīšanas noteikumam neatbilst neviena pakotne.
+owner.settings.cleanuprules.preview.none=Notīrīšanas kārtulai neatbilst neviena pakotne.
owner.settings.cleanuprules.enabled=Iespējots
owner.settings.cleanuprules.pattern_full_match=Piešķirt šablonu visam pakotnes nosaukumam
-owner.settings.cleanuprules.keep.title=Versijas, kas atbilst šiem noteikumiem tiks saglabātas, pat ja tās atbilst noņemšanas noteikumiem zemāk.
+owner.settings.cleanuprules.keep.title=Versijas, kas atbilst šīm kārtulām, tiks paturētas, pat ja tās atbildīs zemāk esošajai noņemšanas kārtulai.
owner.settings.cleanuprules.keep.count=Saglabāt jaunāko versiju
owner.settings.cleanuprules.keep.count.1=1 versija katrai pakotnei
owner.settings.cleanuprules.keep.count.n=%d versijas katrai pakotnei
owner.settings.cleanuprules.keep.pattern=Paturēt versijas, kas atbilst
owner.settings.cleanuprules.keep.pattern.container=Versija latest
vienmēr tiks paturēta konteineru pakotnēm.
-owner.settings.cleanuprules.remove.title=Versijas, kas atbilst šiem noteikumiem tiks noņemtas, ja vien neatbilst arī noteikumiem augstāk, lai tās paturētu.
+owner.settings.cleanuprules.remove.title=Versijas, kas atbilst šīm kārtulām, tiks noņemtas, ja vien augstāk esošā kārtula nenosaka, ka tās ir jāpatur.
owner.settings.cleanuprules.remove.days=Noņemt versijas vecākas kā
owner.settings.cleanuprules.remove.pattern=Noņemt versijas, kas atbilst
-owner.settings.cleanuprules.success.update=Notīrīšanas noteikumi tika atjaunoti.
-owner.settings.cleanuprules.success.delete=Notīrīšanas noteikumi tika izdzēsti.
+owner.settings.cleanuprules.success.update=Notīrīšanas kārtula tika atjaunināta.
+owner.settings.cleanuprules.success.delete=Notīrīšanas kārtula tika izdzēsta.
owner.settings.chef.title=Chef reģistrs
owner.settings.chef.keypair=Izveidot atslēgu pāri
owner.settings.chef.keypair.description=Atslēgu pāris ir nepieciešams, lai autentificētos Chef reģistrā. Ja iepriekš ir izveidots atslēgu pāris, jauna pāra izveidošana veco atslēgu pāri padarīs nederīgu.
@@ -3711,20 +3814,33 @@ arch.version.description = Apraksts
arch.version.provides = Nodrošina
arch.pacman.conf = /etc/pacman.conf
jāpievieno serveris ar atbilstošu distribūciju un arhitektūru:
+arch.version.groups = Kopa
+arch.version.depends = Atkarības
+arch.version.optdepends = Izvēles atkarības
+arch.version.makedepends = Izveidot atkarības
+arch.version.checkdepends = Pārbaudīt atkarības
+arch.version.conflicts = Nesaderības
+arch.version.replaces = Aizvieto
+arch.version.backup = Rezerves kopija
+container.images.title = Attēli
+npm.dependencies.bundle = Iekļautās atkarības
+rpm.repository.multiple_groups = Šī pakotne ir pieejama vairākās kopās.
+owner.settings.cargo.rebuild.no_index = Nevar pārbūvēt, nav sāknēts neviens indekss.
+
[secrets]
secrets=Noslēpumi
description=Noslēpumi tiks padoti atsevišķām darbībām un citādi nevar tikt nolasīti.
none=Pagaidām nav neviena noslēpuma.
creation=Pievienot noslēpumu
creation.name_placeholder=reģistrnejutīgs, tikai burti, cipari un apakšsvītras, nevar sākties ar GITEA_ vai GITHUB_
-creation.value_placeholder=Ievadiet jebkādu saturu. Atstarpes sākumā un beigā tiks noņemtas.
+creation.value_placeholder=Jāievada jebkāds saturs. Atstarpes sākumā un beigās tiks izlaistas.
creation.success=Noslēpums "%s" tika pievienots.
creation.failed=Neizdevās pievienot noslēpumu.
deletion=Dzēst noslēpumu
deletion.description=Noslēpuma dzēšana ir neatgriezeniska. Vai turpināt?
deletion.success=Noslēpums tika izdzēsts.
deletion.failed=Neizdevās dzēst noslēpumu.
-management=Noslēpumu pārvaldība
+management=Pārvaldīt noslēpumus
[actions]
actions=Darbības
@@ -3734,15 +3850,15 @@ unit.desc=Iebūvēto CI/CD cauruļvadu pārvaldīšana ar Forgejo Actions.
status.unknown=Nezināms
status.waiting=Gaida
status.running=Izpildās
-status.success=Pabeigts
+status.success=Sekmīgi
status.failure=Atteice
status.cancelled=Atcelts
status.skipped=Izlaists
-status.blocked=Bloķēts
+status.blocked=Aizturēts
runners=Izpildītāji
-runners.runner_manage_panel=Izpildītāju pārvaldība
-runners.new=Pievienot jaunu izpildītāju
+runners.runner_manage_panel=Pārvaldīt izpildītājus
+runners.new=Izveidot jaunu izpildītāju
runners.new_notice=Kā uzstādīt izpildītāju
runners.status=Statuss
runners.id=ID
@@ -3756,7 +3872,7 @@ runners.task_list=Pēdējās darbības, kas izpildītas
runners.task_list.no_tasks=Vēl nav uzdevumu.
runners.task_list.run=Izpildījums
runners.task_list.status=Statuss
-runners.task_list.repository=Repozitorijs
+runners.task_list.repository=Glabātava
runners.task_list.commit=Iesūtījums
runners.task_list.done_at=Beigu laiks
runners.edit_runner=Labot izpildītāju
@@ -3777,15 +3893,15 @@ runners.version=Versija
runners.reset_registration_token=Atiestatīt reģistrācijas pilnvaru
runners.reset_registration_token_success=Izpildītāja reģistrācijas pilnvara tika sekmīgi atiestatīta
-runs.all_workflows=Visas darbaplūsmas
-runs.commit=Iesūtījums
+runs.all_workflows=Visas darbplūsmas
+runs.commit=Iesūtījumu
runs.scheduled=Ieplānots
runs.pushed_by=aizgādāja
runs.invalid_workflow_helper=Darbplūsmas konfigurācijas datne ir nederīga. Lūgums pārbaudīt konfigurācijas datni: %s
-runs.no_matching_online_runner_helper=Nav pieejami izpildītāji, kas atbilstu šai iezīmei: %s
-runs.actor=Aktors
+runs.no_matching_online_runner_helper=Nav tiešsaistē esošu izpildītāju, kas atbilstu iezīmei: %s
+runs.actor=Izraisītājs
runs.status=Statuss
-runs.actors_no_select=Visi aktori
+runs.actors_no_select=Visi izraisītāji
runs.status_no_select=Visi stāvokļi
runs.no_results=Netika atrasts nekas atbilstošs.
runs.no_workflows=Vēl nav nevienas darbplūsmas.
@@ -3801,11 +3917,11 @@ workflow.disabled=Darbplūsma ir atspējota.
need_approval_desc=Nepieciešams apstiprinājums, lai izpildītu darbplūsmas izmaiņu pieprasījumos no atzarojumiem.
variables=Mainīgie
-variables.management=Mainīgo pārvaldība
+variables.management=Pārvaldīt mainīgos
variables.creation=Pievienot mainīgo
variables.none=Vēl nav neviena mainīgā.
variables.deletion=Noņemt mainīgo
-variables.deletion.description=Mainīgā noņemšana ir neatgriezeniska un nav atsaucama. Vai turpināt?
+variables.deletion.description=Mainīgā noņemšana ir neatgriezeniska un nav atsaucama. Turpināt?
variables.description=Mainīgie tiks padoti noteiktām darbībām, un citādāk tos nevar nolasīt.
variables.id_not_exist=Mainīgais ar identifikatoru %d nepastāv.
variables.edit=Labot mainīgo
@@ -3816,10 +3932,26 @@ variables.creation.success=Mainīgais "%s" tika pievienots.
variables.update.failed=Neizdevās labot mainīgo.
variables.update.success=Mainīgais tika labots.
+runs.workflow = Darbplūsma
+runs.no_job_without_needs = Darbplūsmā ir jābūt vismaz vienam darbam bez atkarībām.
+runs.no_job = Darbplūsmā ir jābūt vismaz vienam darbam
+runs.no_workflows.help_write_access = Nav skaidrs, kā sākt izmantot Forgejo Actions? Jāieskatās ātrajā ievadā lietotāja dokumentācijā , lai uzrakstītu savu pirmo darbplūsmu, tad jāiestata Forgejo izpildītājs , lai izpildītu savus darbus.
+runs.no_workflows.help_no_write_access = Lai uzzinātu par Forgejo Acties, jāieskatās dokumentācijā .
+runs.expire_log_message = Žurnāli tika iztīrīti, jo tie bija pārāk veci.
+workflow.dispatch.trigger_found = Šai darbplūsmai ir workflow_dispatch notikuma izraisītājs.
+workflow.dispatch.use_from = Izmantot darbplūsmu no
+workflow.dispatch.run = Izpildīt darbplūsmu
+workflow.dispatch.success = Darbplūsmas izpildīšana tika sekmīgi pieprasīta.
+workflow.dispatch.input_required = Nepieciešama vērtība ievades mainīgajam "%s".
+workflow.dispatch.invalid_input_type = Nederīgs ievades mainīgā veids "%s".
+workflow.dispatch.warn_input_limit = Attēlo tikai pirmos %d ievades mainīgos.
+
[projects]
-type-1.display_name=Individuālais projekts
-type-2.display_name=Repozitorija projekts
-type-3.display_name=Organizācijas projekts
+type-1.display_name=Atsevišķs projekts
+type-2.display_name=Glabātavas projekts
+type-3.display_name=Apvienības projekts
+
+deleted.display_name = Izdzēsts projekts
[git.filemode]
changed_filemode=%[1]s → %[2]s
@@ -3867,8 +3999,21 @@ ext_issues = Piekļūt ārēja pieteikumu izsekotāja saitei. Atļaujas tiek pā
packages.write = Rakstīt: pievienot un izdzēst glabātavai piesaistītās pakotnes.
actions.read = Lasīt: skatīt iekļautos CI/CD cauruļvadus un to žurnālus.
code.write = Rakstīt: aizgādāta izmaiņas uz glabātavu, izveidot zarus un birkas.
+pulls.write = Rakstīt: aizvērt izmaiņu pieprasījumus un pāŗvaldīt tādus metadatus kā iezīmes, atskaites punktus, atbildīgos, beigu datumus un atkarības.
+pulls.read = Lasīt: lasīšana un izveidot izmaiņu pieprasījumus.
+code.read = Lasīt : piekļūt glabātavas kodam un klonēt to.
+issues.read = Lasīt : lasīt un izveidot pieteikumus un piebildes.
+issues.write = Rakstīt : aizvērt pieteikums un pārvaldīt tādus metadatus kā iezīmes, atskaites punktus, atbildīgos, beigu datumus un atkarības.
+releases.read = Lasīt : apskatīt un lejupielādēt laidienus.
+releases.write = Rakstīt : laist klajā, labot un izdzēst laidienus un to līdzekļus.
+wiki.read = Lasīt : lasīt iebūvēto vikivietni un tās vēsturi.
+wiki.write = Rakstīt : izveidot, atjaunināt un izdzēst iebūvētās vikivietnes lapas.
+projects.read = Lasīt : piekļūt glabātavas projektu dēļiem.
+projects.write = Rakstīt : izveidot projektus un slejas un labot tās.
+packages.read = Lasīt : apskatīt un lejupielādēt glabātavai piesaistītās pakotnes.
+
[munits.data]
mib = MiB
pib = PiB
@@ -3876,4 +4021,12 @@ gib = GiB
tib = TiB
kib = KiB
eib = EiB
-b = B
\ No newline at end of file
+b = B
+
+[markup]
+filepreview.line = %[1]d. rinda %[2]s
+filepreview.lines = %[1]d. līdz %[2]d. rinda %[3]s
+filepreview.truncated = Priekšskatījums tika saīsināts
+
+[translation_meta]
+test = Šī ir pārbaudes virkne. Tā netiek attēlota Forgejo saskarnē, bet tiek izmantota pārbaudes nolūkiem. Droši var ievadīt "ok", lai ietaupītu laiku (vai kādu jautru faktu pēc izvēles), lai sasniegtu to saldo 100% pabeigšanas atzīmi.
diff --git a/options/locale/locale_nb_NO.ini b/options/locale/locale_nb_NO.ini
index 3a4dd27d54..e43036e08c 100644
--- a/options/locale/locale_nb_NO.ini
+++ b/options/locale/locale_nb_NO.ini
@@ -1,5 +1,5 @@
[common]
-enable_javascript = Denne nettsiden behøver JavaScript.
+enable_javascript = Denne nettsiden krever JavaScript.
toc = Innholdsfortegnelse
licenses = Lisenser
return_to_forgejo = Tilbake til Forgejo
@@ -124,12 +124,35 @@ sign_up = Opprett konto
confirm_delete_artifact = Er du sikker på at du vil slette artefakten "%s" ?
webauthn_sign_in = Trykk på knappen på sikkerhetsnøkkelen din. Dersom nøkkelen din ikke har en knapp, sett den inn på nytt.
+webauthn_error_unable_to_process = Tjeneren kunne ikke behandle forespørselen din.
+webauthn_error_empty = Du må gi nøkkelen et navn.
+copy_path = Kopier sti
+
+toggle_menu = Åpne/lukke meny
+twofa_scratch = To-faktor skrapekode
+webauthn_press_button = Vennligst trykk på knappen på sikkerhetsnøkkelen…
+webauthn_error_duplicated = Sikkerhetsnøkkelen er ikke tillatt for denne forespørselen. Vennligst sørg for at nøkkelen ikke allerede er registrert.
+webauthn_error_timeout = Et tidsavbrudd oppsto før nøkkelen din kunne leses. Vennligst last inn siden på nytt og prøv igjen.
+new_fork = Ny fork av repository
+collaborative = Samarbeidende
+
[search]
search = Søk...
type_tooltip = Søketype
fuzzy = Fuzzy
union = Union
+exact = Nøyaktig
+regexp = RegExp
+
[auth]
verify = Bekreft
-sign_up_button = Opprett konto nå.
\ No newline at end of file
+sign_up_button = Opprett konto nå.
+change_unconfirmed_email_error = Kan ikke endre e-postadresse: %v
+login_userpass = Logg inn
+oauth_signup_tab = Registrer ny konto
+oauth_signup_title = Fullfør ny konto
+oauth_signup_submit = Fullfør konto
+
+[home]
+uname_holder = Brukernavn eller e-postadresse
\ No newline at end of file
diff --git a/options/locale/locale_nds.ini b/options/locale/locale_nds.ini
index f9d6e9efd4..a7c96e3698 100644
--- a/options/locale/locale_nds.ini
+++ b/options/locale/locale_nds.ini
@@ -511,6 +511,8 @@ PayloadUrl = Ladung-URL
visit_rate_limit = Frömd-Togriep hett Togrieps-Begrenz troffen.
2fa_auth_required = Frömd-Togriep bruukt Twee-Faktooren-Anmellen.
+email_domain_is_not_allowed = De Domään vun de Bruker-E-Mail-Adress %s passt nich mit EMAIL_DOMAIN_ALLOWLIST of EMAIL_DOMAIN_BLOCKLIST. Wees wiss, dat du de E-Mail-Adress recht sett hest.
+
[user]
change_avatar = Änner dien Kontobill …
joined_on = Am %s bitreden
@@ -833,7 +835,7 @@ confirm_delete_account = Lösken utwiesen
email_notifications.disable = Nich över E-Mail benarichtigen
visibility.public_tooltip = Elkeen kann ’t sehen
password_username_disabled = Frömde Brukers könen hör Brukernaam nich ännern. Bidde kuntakteer dienen Sied-Chef för mehr Informatioonen.
-profile_desc = Richt in, wo dien Profil to anner Brukers wiest word. Diene Höövd-E-Mail-Adress word för Narichtens, Passwoord-Torügghalen un Git-Aktioonen över ’t Internett bruukt.
+profile_desc = Över di
hidden_comment_types_description = Kommentaar-Arden, wat hier utköört sünd, worden in Gefall-Sieden nich wiest. Wenn du to’n Bispööl »Vermark« utköörst, worden all de »›Bruker‹ hett ›Vermark‹ hentoföögt/wegdaan«-Kommentaren wegdaan.
email_desc = Diene Höövd-E-Mail-Adress word för Narichtens, Passwoord-Torügghalen un, wenn se nich verburgen is, Git-Aktioonen över ’t Internett bruukt.
can_not_add_email_activations_pending = Een Aktiveren staht noch ut. Wenn du eene neje E-Mail-Adress hentofögen willst, versöök dat in een paar Menüten noch eenmaal.
@@ -841,7 +843,7 @@ email_deletion_desc = De E-Mail-Adress un daarmit verbunnen Informatioon word ut
principal_desc = Deese SSH-Zertifikaat-Höövdmannen sünd mit dienem Konto verbunnen un geven kumpleten Togriep up diene Repositoriums.
add_email_confirmation_sent = Eene Utwiesens-E-Mail is an »%s« schickt worden. Um diene E-Mail-Adress uttowiesen, kiek bidde in dienen E-Mail-Ingang un folg de Verwies daarin in de anner %s.
ssh_desc = Deese publiken SSH-Slötels sünd mit dienem Konto verbunnen. De tohörig privaate Slötel gifft kumpleten Togriep up diene Repositoriums. SSH-Slötels, wat utwiest worden sünd, könen bruukt worden, um SSH-unnerschreven Git-Kommitterens uttowiesen.
-keep_email_private_popup = Dat word diene E-Mail-Adress vun dienem Profil verbargen. Dann is dat nich mehr de Normaalweert för Kommitterens, wat du över de Internett-Schnittstee maakst, so as Datei-Upladens un Bewarkens, un word nich in Tosamenföhrens-Kommitterens bruukt. In Stee daarvun kann eene besünnere Adress %s bruukt worden, um Kommitterens mit dienem Konto to verbinnen. Wees wiss, dat dat Ännern vun deeser Instellen bestahn Kommitterens nich ännert.
+keep_email_private_popup = Diene E-Mail-Adress word vun dienem Profil verbargen un is nich de Normaalweert för Kommitterens, wat du över de Internett-Schnittstee maakst, so as Datei-Upladens, Bewarkens un Tosamenföhrens-Kommitterens. In Stee daarvun kann eene besünnere Adress %s bruukt worden, um Kommitterens mit dienem Konto to verbinnen. Deese Instellen ännert keene bestahn Kommitterens.
ssh_helper = Bruukst du Hülp? Kiek de Inföhren an, wo du diene eegenen SSH-Slötels maakst of hülp gewohnten Probleemen of, över wat man mit SSH mennigmaal strukelt.
access_token_desc = Utköört Teken-Verlöövnissen begrenzen dat Anmellen blots up de tohörig API -Padden. Lees de Dokumenteren för mehr Informatioonen.
oauth2_confidential_client = Diskreeter Klient. Köör dat för Programmen ut, wat dat Geheemst diskreet behanneln, as Internett-Sieden. Köör dat nich för stedenwies Programmen ut, as Schrievdisk- un Telefoon-Programmens.
@@ -851,6 +853,8 @@ oauth2_application_locked = Forgejo vermarkt vörweg eenige OAuth2-Programmen bi
twofa_desc = Um dien Konto tegen Passwoordklau to schütten, kannst du een Smart-Telefoon of anner Geraadskupp bruken, um tied-baseerte Eenmaalpasswoorden (»TOTP«) to kriegen.
twofa_recovery_tip = Wenn du dien Geraadskupp verlüst, kannst du eenen Eenmaal-Bruuk-Torügghalens-Slötel bruken, um weer in dien Konto to komen.
webauthn_desc = Sekerheids-Slötels sünd Geraadskuppen, wat kryptographisk Slötels enthollen. Se könen för dat Anmellen mit Twee Faktooren bruukt worden. Sekerheids-Slötels mutten de »WebAuthn Authenticator «-Standard unnerstütten.
+user_block_yourself = Du kannst di nich sülvst blockeren.
+pronouns_custom_label = Eegene Pronomens
[repo]
rss.must_be_on_branch = Du muttst up eenem Twieg wesen, um eenen RSS-Schuuv to hebben.
@@ -914,7 +918,7 @@ mirror_interval = Tiedofstand för ’t Spegeln (gültige Tied-Eenheiden sünd
issue_labels = Vermarkens
issue_labels_helper = Köör eene Vermarkens-Sammlung ut
license = Lizenz
-auto_init = Repositorium inrichten (Föögt .gitignore, Lizenz un LEESMI hento)
+auto_init = Repositorium inrichten
mirror_sync_on_commit = Spegeln, wenn Kommitterens schuuvt worden
repo_gitignore_helper_desc = Köör ut eener List vun Vörlagen för bekannte Spraken ut, welke Dateien nich verfolgt worden. Normaale Objekten, wat vun de Bauwarktüüg vun elkeen Spraak utgeven worden, sünd in deeser .gitignore dann al enthollen.
default_branch = Höövd-Twieg
@@ -2548,6 +2552,23 @@ diff.git-notes.remove-body = Deeses Anmarken word wegdaan.
issues.num_reviews_one = %d Nakieken
issues.summary_card_alt = Tosamenfatens-Kaart vun eenem Gefall mit de Naam »%s« im Repositorium %s
issues.num_reviews_few = %d Nakiekens
+settings.default_update_style_desc = Normaale Vernejens-Aard, wat bruukt word, um Haalvörslagens to vernejen, wat achter de Grund-Twieg torügg sünd.
+pulls.sign_in_require = Mell di an , um eenen nejen Haalvörslag to maken.
+new_from_template = Bruuk eene Vörlaag
+new_advanced = Mehr Instellens
+new_advanced_expand = Klick, um mehr to wiesen
+auto_init_description = Begünn de Git-Histoorje mit eenem LEESMI un föög, wenn du willst, Lizenz- un .gitignore-Dateien hento.
+new_from_template_description = Du kannst eene bestahn Repositoriums-Vörlaag up deeser Instanz utkören un hör Instellens anwennen.
+summary_card_alt = Tosamenfatens-Kaart vun de Repositorium %s
+issues.reaction.alt_add = De %[1]s-Reageren to de Kommentaar hentofögen.
+issues.reaction.add = Reageren hentofögen
+issues.reaction.alt_few = %[1]s hett mit %[2]s reageert.
+issues.reaction.alt_many = %[1]s un %[2]d anner hebben mit %[3]s reageert.
+issues.reaction.alt_remove = De %[1]s-Reageren vun de Kommentaar wegdoon.
+issues.context.menu = Kommentaar-Menü
+release.summary_card_alt = Tosamenfatens-Kaart vun eenem Publizeren mit de Naam »%s« im Repositorium %s
+
+editor.commit_email = Kommitterens-E-Mail
[repo.permissions]
code.read = Lesen: De Quelltext vun deesem Repositorium ankieken un klonen.
diff --git a/options/locale/locale_nl-NL.ini b/options/locale/locale_nl-NL.ini
index 8290930543..de2c1bde3f 100644
--- a/options/locale/locale_nl-NL.ini
+++ b/options/locale/locale_nl-NL.ini
@@ -234,7 +234,7 @@ install_desc = Draai gewoon documentatie voordat je een instelling aanpast.
+docker_helper=Als je Forgejo draait in Docker, Lees eerst de documentatie voordat je een instelling aanpast.
require_db_desc=Forgejo vereist MySQL, PostgreSQL, SQLite3 of TiDB (MySQL protocol).
db_title=Database-instellingen
db_type=Database-type
@@ -555,7 +555,7 @@ team_invite.text_2 = Klik alstublieft op de volgende link om aan het team deel t
admin.new_user.text = Klik hier om deze gebruiker te beheren vanuit het beheerderspaneel.
password_change.subject = Uw wachtwoord is gewijzigd
password_change.text_1 = Het wachtwoord voor je account is zojuist gewijzigd.
-reset_password.text_1 =
+reset_password.text_1 =
totp_disabled.subject = TOTP is uitgeschakeld
primary_mail_change.subject = Uw primaire e-mail is gewijzigd
totp_disabled.no_2fa = Er zijn geen andere 2FA methodes meer geconfigureerd, wat betekent dat het niet langer nodig is om in te loggen op uw account met 2FA.
@@ -683,6 +683,8 @@ AccessToken = Toegangstoken
Pronouns = Voornaamwoorden
+email_domain_is_not_allowed = Het domein van het e-mailadres van de gebruiker %s is in strijd met EMAIL_DOMAIN_ALLOWLIST of EMAIL_DOMAIN_BLOCKLIST. Controleer of u het e-mailadres correct hebt ingesteld.
+
[user]
change_avatar=Wijzig je profielfoto…
repositories=repositories
@@ -800,7 +802,7 @@ emails=E-mailadressen
manage_emails=E-mailadressen beheren
manage_themes=Standaardthema
manage_openid=OpenID-adressen
-theme_desc=Dit zal het standaardthema worden op de gehele site.
+theme_desc=Dit thema wordt gebruikt voor de webinterface wanneer je bent aangemeld.
primary=Primair
activated=Geactiveerd
requires_activation=Vereist activering
@@ -987,7 +989,7 @@ visibility.private=Privé
blocked_users = Geblokkeerde gebruikers
uid = UID
biography_placeholder = Vertel anderen een beetje over uzelf! (Markdown is ondersteund)
-profile_desc = Controleer hoe uw profiel aan andere gebruikers wordt getoond. Uw primaire e-mailadres zal worden gebruikt voor notificaties, wachtwoord herstel en web-gebaseerde Git-operaties.
+profile_desc = Over u
update_language_not_found = Taal "%s" is niet beschikbaar.
change_username_prompt = Opmerking: Het veranderen van uw gebruikersnaam zal ook de URL van uw account veranderen.
change_username_redirect_prompt = De oude gebruikersnaam zal worden doorverwezen totdat iemand deze opeist.
@@ -1020,7 +1022,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 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.
+keep_email_private_popup = Uw e-mailadres zal niet getoond worden op uw profiel en zal niet de standaard zijn voor commits die via de webinterface gemaakt worden, zoals bestandsuploads, bewerkingen en samenvoeg commits. In plaats daarvan kan een speciaal adres %s gebruikt worden om commits aan uw account te koppelen. Deze optie zal bestaande commits niet beïnvloeden.
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?
@@ -1056,6 +1058,9 @@ language.title = Standaard taal
keep_activity_private.description = Uw publieke activiteit 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! Leer meer .
+user_block_yourself = U kunt niet zichzelf blokkeren.
+
+pronouns_custom_label = Aangepaste voornaamwoorden
[repo]
owner=Eigenaar
@@ -1093,11 +1098,11 @@ issue_labels=Labels
issue_labels_helper=Selecteer een labelset
license=Licentie
license_helper=Selecteer een licentie bestand
-license_helper_desc=Een licentie bepaalt wat anderen wel en niet met je code kunnen doen. Niet zeker welke juist is voor jouw project? Zie Kies een licentie.
+license_helper_desc=Een licentie bepaalt wat anderen wel en niet met je code kunnen doen. Niet zeker welke juist is voor jouw project? Zie Kies een licentie .
readme=README
readme_helper=Selecteer een README-bestandssjabloon
readme_helper_desc=Dit is de plek waar je een volledige beschrijving van je project kunt schrijven.
-auto_init=Initialiseer repository (voegt .gitignore, License en README toe)
+auto_init=Initialiseer repository
trust_model_helper=Selecteer het vertrouwensmodel voor handtekeningverificatie. Mogelijke opties zijn:
trust_model_helper_collaborator=Samenwerker: Vertrouw handtekeningen door samenwerker
trust_model_helper_committer=Committer: Vertrouw handtekeningen die overeenkomen met de committers
@@ -1202,7 +1207,7 @@ migrate.migrating_failed_no_addr=Migratie is mislukt.
migrate.github.description=Migreer gegevens van github.com of GitHub Enterprise server.
migrate.git.description=Migreer een repositorie van elke Git service.
migrate.gitlab.description=Gegevens migreren van gitlab.com of andere GitLab-instanties.
-migrate.gitea.description=Gegevens overzetten van gitea.com of andere Gitea/Forgejo instanties.
+migrate.gitea.description=Gegevens overzetten van gitea.com of andere Gitea instanties.
migrate.gogs.description=Gegevens overzetten van notabug.org of andere Gogs instanties.
migrate.onedev.description=Gegevens overzetten van code.onedev.io of andere OneDev instanties.
migrate.codebase.description=Gegevens migreren van codebasehq.com.
@@ -1280,6 +1285,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
@@ -1298,6 +1304,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
@@ -2194,8 +2201,8 @@ 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 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.archive.branchsettings_unavailable=Branchinstellingen zijn niet beschikbaar in gearchiveerde repo's.
+settings.archive.tagsettings_unavailable=Tag-instellingen zijn niet beschikbaar in gearchiveerde repo's.
settings.update_avatar_success=De repository avatar is bijgewerkt.
settings.lfs=LFS
settings.lfs_filelist=LFS bestanden opgeslagen in deze repository
@@ -2408,7 +2415,7 @@ issues.review.option.hide_outdated_comments = Verouderde reacties verbergen
pulls.expand_files = Alle bestanden uitklappen
pulls.collapse_files = Alle bestanden inklappen
pulls.show_all_commits = Alle commits weergeven
-new_repo_helper = Een repository bevat alle projectbestanden, inclusief revisiegeschiedenis. Host je er al ergens anders een? Repository migreren.
+new_repo_helper = Een repository bevat alle projectbestanden, inclusief revisiegeschiedenis. Host je er al ergens anders een? Repository migreren .
editor.fail_to_update_file = Mislukt bij het bijwerken/creëren van bestand "%s".
editor.file_is_a_symlink = `"%s" is een symbolische link. Symbolische links kunnen niet worden bewerkt in de webeditor`
editor.filename_is_a_directory = Bestandsnaam "%s" wordt al gebruikt als naam van een map in deze repository.
@@ -2610,7 +2617,7 @@ settings.remove_protected_branch_success = Branchbescherming voor regel "%s" is
settings.remove_protected_branch_failed = Verwijderen van branchbeschermings regel "%s" is mislukt.
settings.merge_style_desc = Samenvoegstijl
settings.thread_id = Thread ID
-settings.archive.mirrors_unavailable = Mirrors zijn niet beschikbaar als de repo is gearchiveerd.
+settings.archive.mirrors_unavailable = Mirrors zijn niet beschikbaar in gearchiveerde repo's.
settings.unarchive.header = Deze repo uit het archief halen
settings.unarchive.text = Het uit het archief halen van de repo zal het vermogen herstellen om commits en pushes te ontvangen, evenals nieuwe issues en pull requests.
settings.unarchive.error = Er is een fout opgetreden bij het uit het archief halen van de repo. Bekijk de logs voor meer details.
@@ -2846,9 +2853,27 @@ diff.git-notes.remove-body = Deze notitie zal worden verwijderd.
issues.summary_card_alt = Overzichtskaart van een issue met de titel "%s" in repository %s
issues.num_reviews_one = %d beoordeling
issues.num_reviews_few = %d beoordelingen
+settings.default_update_style_desc = Standaard update stijl gebruikt voor het updaten van pull requests die achter de basis branch liggen.
+pulls.sign_in_require = Aanmelden om een nieuwe pull request aan te maken.
+new_advanced = Geavanceerde instellingen
+new_advanced_expand = Klik om uit te breiden
+new_from_template_description = Je kunt een bestaand repositorysjabloon op deze instantie selecteren en de instellingen toepassen.
+new_from_template = Een sjabloon gebruiken
+auto_init_description = De Git geschiedenis starten met een README en optioneel License en .gitignore bestanden toevoegen.
+summary_card_alt = Overzichtskaart van repository %s
+issues.reaction.add = Reactie toevoegen
+issues.reaction.alt_few = %[1]s reageerde %[2]s.
+issues.reaction.alt_many = %[1]s en %[2]d meer gereageerd %[3]s.
+issues.reaction.alt_remove = Verwijder %[1]s reactie van bericht.
+issues.reaction.alt_add = Voeg %[1]s reactie toe aan commentaar.
+issues.context.menu = Commentaar menu
+release.summary_card_alt = Samenvattende kaart van een release met de titel "%s" in repository %s
+
+editor.commit_email = Commit e-mail
+
[graphs]
component_loading_info = Dit kan even duren…
component_failed_to_load = Er is een onverwachte fout opgetreden.
@@ -3066,7 +3091,7 @@ dashboard.gc_times=GC verwerkingen
dashboard.delete_old_system_notices=Verwijder alle oude systeemmededelingen uit de database
users.user_manage_panel=Gebruikersaccounts beheren
-users.new_account=Nieuw account aanmaken
+users.new_account=Gebruikersaccount aanmaken
users.name=Gebruikersnaam
users.full_name=Volledige naam
users.activated=Geactiveerd
@@ -3666,16 +3691,16 @@ cargo.install = Voer de volgende opdracht uit om het pakket met Cargo te install
chef.install = Voer het volgende commando uit om het pakket te installeren:
composer.registry = Stel dit register in je ~/.composer/config.json
bestand:
composer.dependencies = Afhankelijkheden
-composer.dependencies.development = Ontwikkelings Afhankelijkheden
+composer.dependencies.development = Ontwikkelings afhankelijkheden
conan.registry = Stel dit register in vanaf de terminal:
conan.install = Voer het volgende commando uit om het pakket met Conan te installeren:
conda.registry = Stel dit register in als een Conda repository in je .condarc
bestand:
-container.details.type = Afbeelding Type
+container.details.type = Afbeelding type
container.details.platform = Platform
container.pull = Haal de afbeelding op vanaf de terminal:
container.digest = Digest
container.multi_arch = Besturingssysteem / Arch
-container.layers = Afbeelding Lagen
+container.layers = Afbeelding lagen
container.labels = Labels
container.labels.key = Sleutel
debian.repository = Repository informatie
@@ -3697,7 +3722,7 @@ rpm.repository.architectures = Architecturen
rpm.repository.multiple_groups = Dit pakket is beschikbaar in meerdere groepen.
rubygems.install = Voer het volgende commando uit om het pakket met gem te installeren:
rubygems.install2 = of voeg het toe aan het Gemfile:
-rubygems.dependencies.development = Ontwikkelings Dependencies
+rubygems.dependencies.development = Ontwikkelings dependencies
swift.registry = Stel dit register in vanaf de terminal:
swift.install = Voeg het pakket toe in je Package.swift
bestand:
swift.install2 = en voer het volgende commando uit:
@@ -3715,7 +3740,7 @@ nuget.install = Voer het volgende commando uit om het pakket met NuGet te instal
npm.install = Voer het volgende commando uit om het pakket met npm te installeren:
npm.install2 = of voeg het toe aan het package.json bestand:
npm.dependencies = Afhankelijkheden
-npm.dependencies.development = Ontwikkelings Afhankelijkheden
+npm.dependencies.development = Ontwikkelings afhankelijkheden
npm.dependencies.peer = Peer afhankelijkheden
npm.dependencies.optional = Optionele afhankelijkheden
owner.settings.cargo.title = Cargo register index
@@ -3737,7 +3762,7 @@ owner.settings.cleanuprules.keep.count = Bewaar de meest recente
owner.settings.cleanuprules.keep.count.1 = 1 versie per pakket
owner.settings.cleanuprules.keep.count.n = %d versies per pakket
pub.install = Voer het volgende commando uit om het pakket met Dart te installeren:
-rubygems.dependencies.runtime = Runtime Dependencies
+rubygems.dependencies.runtime = Runtime dependencies
settings.delete.error = Het verwijderen van het pakket is mislukt.
alpine.registry = Stel dit register in door de url toe te voegen aan je /etc/apk/repositories
bestand:
maven.registry = Stel dit register in het pom.xml
bestand van je project:
diff --git a/options/locale/locale_pl-PL.ini b/options/locale/locale_pl-PL.ini
index ef20124ec9..97678ea43a 100644
--- a/options/locale/locale_pl-PL.ini
+++ b/options/locale/locale_pl-PL.ini
@@ -128,7 +128,7 @@ retry = Ponów
view = Widok
go_back = Wróć
filter = Filtr
-confirm_delete_artifact = Jesteś penwy że chcesz usunąć artefakt "%s"?
+confirm_delete_artifact = Jesteś pewny(-na) że chcesz usunąć artefakt "%s"?
concept_system_global = Globalne
concept_user_individual = Indywidualny
filter.clear = Wyczyść filtry
@@ -148,10 +148,10 @@ filter.public = Publiczne
filter.private = Prywatne
copy_generic = Skopiuj do schowka
toggle_menu = Przełącz menu
-tracked_time_summary = Podsumowanie śledzonego czasu na podstawie filtrów listy problemów
+tracked_time_summary = Podsumowanie śledzonego czasu na podstawie filtrów listy zgłoszeń
show_timestamps = Pokaż znaczniki czasu
filter.not_archived = Nie zarchiwizowane
-filter.not_mirror = Nie mirror
+filter.not_mirror = Bez kopii lustrzanych
filter.not_template = Nie szablony
filter.is_archived = Zarchiwizowane
filter.is_mirror = Kopie lustrzane
@@ -167,6 +167,8 @@ new_migrate.link = Nowa migracja
new_org.link = Nowa organizacja
filter.not_fork = Nie forki
+copy_path = Skopiuj ścieżkę
+
[aria]
navbar = Pasek nawigacji
footer = Stopka
@@ -197,7 +199,7 @@ buttons.mention.tooltip = Dodaj wzmiankę o użytkowniku lub zespole
buttons.switch_to_legacy.tooltip = Zamiast tego użyj starego edytora
buttons.disable_monospace_font = Wyłącz czcionkę monospace
buttons.enable_monospace_font = Włącz czcionkę monospace
-buttons.indent.tooltip = Zagnieżdż elementy o jeden poziom
+buttons.indent.tooltip = Zagnieźdź elementy o jeden poziom
buttons.new_table.tooltip = Dodaj tabelę
table_modal.header = Dodaj tabelę
table_modal.placeholder.header = Nagłówek
@@ -205,6 +207,8 @@ table_modal.placeholder.content = Zawartość
table_modal.label.rows = Wiersze
table_modal.label.columns = Kolumny
+buttons.unindent.tooltip = Usuń jeden poziom zagnieżdżenia
+
[filter]
string.asc = A - Z
string.desc = Z - A
@@ -254,7 +258,7 @@ err_empty_db_path=Ścieżka do bazy danych SQLite3 nie może być pusta.
no_admin_and_disable_registration=Nie możesz wyłączyć możliwości samodzielnej rejestracji kont użytkowników bez stworzenia konta administratora.
err_empty_admin_password=Hasło administratora nie może być puste.
err_empty_admin_email=Pole adresu e-mail administratora nie może być puste.
-err_admin_name_is_reserved=Nazwa użytkownika administratora jest nieprawidłowa, pseudonim jest zastrzeżony
+err_admin_name_is_reserved=Nazwa użytkownika administratora jest nieprawidłowa, pseudonim jest zarezerwowany
err_admin_name_pattern_not_allowed=Nazwa użytkownika administratora jest nieprawidłowa, pseudonim zawiera zastrzeżone znaki
err_admin_name_is_invalid=Nazwa użytkownika administratora jest nieprawidłowa
@@ -295,7 +299,7 @@ disable_gravatar.description=Wyłącz Gravatar i inne usługi zewnętrzne awatar
federated_avatar_lookup=Włącz zewnętrzne awatary
federated_avatar_lookup.description=Wyszukuj awatary za pomocą Libravatar.
disable_registration=Wyłącz samodzielną rejestrację
-disable_registration.description=Tylko administratorzy instancji będą mogli tworzyć nowe konta użytkowników. Zaleca się pozostawienie rejestracji wyłączonej, chyba że zamierzasz hostować publiczną instancję dla wszystkich i jesteś gotowy na radzenie sobie z dużą ilością kont spamerskich.
+disable_registration.description=Tylko administratorzy instancji będą mogli tworzyć nowe konta użytkowników. Zaleca się pozostawienie rejestracji wyłączonej, chyba że zamierzasz hostować publiczną instancję dla wszystkich i jesteś gotowy(-a) na radzenie sobie z dużą ilością kont spamerskich.
allow_only_external_registration.description=Użytkownicy będą mogli tworzyć nowe konta tylko za pomocą skonfigurowanych usług zewnętrznych.
openid_signin=Włącz logowanie za pomocą OpenID
openid_signin.description=Zezwól użytkownikom na logowanie się przez OpenID.
@@ -457,9 +461,9 @@ sign_up_successful = Konto zostało pomyślnie utworzone. Witamy!
prohibit_login_desc = Twoje konto zostało zawieszone i nie może wchodzić w interakcje z instancją. Skontaktuj się z administratorem instancji, aby odzyskać dostęp.
change_unconfirmed_email_summary = Zmień adres e-mail, na który zostanie wysłana wiadomość aktywacyjna.
manual_activation_only = Skontaktuj się z administratorem witryny, aby dokończyć aktywację.
-change_unconfirmed_email = Jeśli podczas rejestracji podałeś nieprawidłowy adres e-mail, możesz go zmienić poniżej, a potwierdzenie zostanie wysłane na nowy adres.
+change_unconfirmed_email = Jeśli podczas rejestracji podałeś(-aś) nieprawidłowy adres e-mail, możesz go zmienić poniżej, a potwierdzenie zostanie wysłane na nowy adres.
openid_signin_desc = Wprowadź swój identyfikator URI OpenID. Na przykład: alice.openid.example.org lub https://openid.example.org/alice.
-authorization_failed_desc = Autoryzacja nie powiodła się, ponieważ wykryliśmy nieprawidłowe żądanie. Skontaktuj się z autorem aplikacji, którą próbowałeś autoryzować.
+authorization_failed_desc = Autoryzacja nie powiodła się, ponieważ wykryliśmy nieprawidłowe żądanie. Skontaktuj się z autorem aplikacji, którą próbowałeś(-aś) autoryzować.
password_pwned = Wybrane hasło znajduje się na liście skradzionych haseł , które zostały wcześniej ujawnione w wyniku publicznego naruszenia danych. Spróbuj ponownie z innym hasłem i rozważ zmianę tego hasła również w innych miejscach.
last_admin = Nie można usunąć ostatniego administratora. Musi istnieć co najmniej jeden administrator.
tab_signin = Zaloguj
@@ -467,7 +471,7 @@ oauth.signin.error = Wystąpił błąd podczas przetwarzania żądania autoryzac
change_unconfirmed_email_error = Nie udało się zmienić adresu email: %v
invalid_code_forgot_password = Twój kod potwierdzający jest niepoprawny lub wygasł. Naciśnij tutaj , aby rozpocząć nową sesję.
invalid_password = Twoje hasło nie zgadza się z hasłem, które zostało użyte do stworzenia konta.
-reset_password_wrong_user = Jesteś zalogowany jako %s, ale link odzyskujący jest dla %s
+reset_password_wrong_user = Jesteś zalogowany(-a) jako %s, ale link odzyskujący jest dla %s
tab_signup = Zarejestruj
oauth.signin.error.access_denied = Wniosek o autoryzację został odrzucony.
oauth.signin.error.temporarily_unavailable = Autoryzacja nie powiodła się, ponieważ serwer uwierzytelniania jest tymczasowo niedostępny. Spróbuj ponownie później.
@@ -478,6 +482,8 @@ hint_login = Masz już konto? Zaloguj się teraz!
sign_up_button = Zarejestruj się.
use_onetime_code = Użyj kodu jednorazowego
+unauthorized_credentials = Dane uwierzytelniające są nieprawidłowe lub wygasły. Spróbuj ponownie wykonać polecenie lub zobacz %s, aby uzyskać więcej informacji
+
[mail]
view_it_on=Zobacz na %s
link_not_working_do_paste=Czy link nie działa? Spróbuj skopiować i wkleić go do paska adresu URL przeglądarki.
@@ -499,7 +505,7 @@ register_notify.text_3=Jeśli ktoś inny utworzył dla ciebie to konto, musisz n
reset_password=Odzyskaj swoje konto
reset_password.title=%s, otrzymaliśmy prośbę o odzyskanie konta
-reset_password.text=Jeśli to byłeś ty, kliknij poniższy link, aby odzyskać swoje konto w ciągu %s :
+reset_password.text=Jeśli to byłeś(-aś) ty, kliknij poniższy link, aby odzyskać swoje konto w ciągu %s :
register_success=Rejestracja powiodła się
@@ -529,7 +535,7 @@ repo.transfer.to_you=ciebie
repo.transfer.body=Aby zaakceptować lub odrzucić go, odwiedź %s lub po prostu go zignoruj.
repo.collaborator.added.subject=%s dodał cię do %s jako współtwórce
-repo.collaborator.added.text=Zostałeś dodany jako współtwórca do repozytorium:
+repo.collaborator.added.text=Zostałeś(-aś) dodany jako współtwórca do repozytorium:
issue.action.push_1 = @%[1]s pchnął %[3]d commit do %[2]s
activate_email.title = %s, zweryfikuj swój adres e-mail
admin.new_user.text = Kliknij tutaj , aby zarządzać tym użytkownikiem z panelu administracyjnego.
@@ -538,7 +544,7 @@ reply = lub odpowiedz bezpośrednio na ten e-mail
admin.new_user.subject = Właśnie zarejestrował się nowy użytkownik %s
admin.new_user.user_info = Informacje użytkownika
issue.action.approve = @%[1]s zatwierdził ten pull request.
-issue.action.reject = @%[1]s poprosił o zmiany w tym pull requescie.
+issue.action.reject = @%[1]s poprosił o zmiany w tym pull requeście.
issue.action.review_dismissed = @%[1]s odrzucił ostatnią analizę od %[2]s dla tego pull requesta.
team_invite.subject = %[1]s zaprosił cię do dołączenia do organizacji %[2]s
primary_mail_change.subject = Twój główny mail został zmieniony
@@ -548,18 +554,18 @@ password_change.subject = Twoje hasło zostało zmienione
password_change.text_1 = Hasło do twojego konta zostało właśnie zmienione.
team_invite.text_1 = %[1]s zaprosił cię do zespołu %[2]s w organizacji %[3]s.
removed_security_key.no_2fa = Nie ma już skonfigurowanych innych metod 2FA, co oznacza, że nie jest już konieczne logowanie się do konta za pomocą 2FA.
-account_security_caution.text_2 = Jeśli to nie byłeś Ty, Twoje konto padło ofiarą włamania. Skontaktuj się z administratorem tej strony.
-account_security_caution.text_1 = Jeśli to byłeś ty, możesz bezpiecznie zignorować tę wiadomość.
-totp_enrolled.subject = Aktywowałeś TOTP jako metodę 2FA
-totp_enrolled.text_1.no_webauthn = Właśnie włączyłeś TOTP dla swojego konta. Oznacza to, że dla wszystkich przyszłych logowań do konta musisz używać TOTP jako metody 2FA.
-team_invite.text_3 = Uwaga: To zaproszenie było przeznaczone dla %[1]s. Jeśli nie spodziewałeś się tego zaproszenia, możesz zignorować ten email.
+account_security_caution.text_2 = Jeśli to nie byłeś(-aś) Ty, Twoje konto padło ofiarą włamania. Skontaktuj się z administratorem tej strony.
+account_security_caution.text_1 = Jeśli to byłeś(-aś) ty, możesz bezpiecznie zignorować tę wiadomość.
+totp_enrolled.subject = Aktywowałeś(-aś) TOTP jako metodę 2FA
+totp_enrolled.text_1.no_webauthn = Właśnie włączyłeś(-aś) TOTP dla swojego konta. Oznacza to, że dla wszystkich przyszłych logowań do konta musisz używać TOTP jako metody 2FA.
+team_invite.text_3 = Uwaga: To zaproszenie było przeznaczone dla %[1]s. Jeśli nie spodziewałeś(-aś) się tego zaproszenia, możesz zignorować ten email.
totp_disabled.text_1 = Jednorazowe hasło czasowe (TOTP) zostało właśnie wyłączone na twoim koncie.
totp_disabled.no_2fa = Nie ma już skonfigurowanych innych metod 2FA, co oznacza, że nie jest już konieczne logowanie się do konta za pomocą 2FA.
removed_security_key.subject = Klucz bezpieczeństwa został usunięty
removed_security_key.text_1 = Klucz bezpieczeństwa "%[1]s" został właśnie usunięty z twojego konta.
-totp_enrolled.text_1.has_webauthn = Właśnie włączyłeś TOTP dla swojego konta. Oznacza to, że dla wszystkich przyszłych logowań do konta możesz użyć TOTP jako metody 2FA lub użyć dowolnego klucza bezpieczeństwa.
+totp_enrolled.text_1.has_webauthn = Właśnie włączyłeś(-aś) TOTP dla swojego konta. Oznacza to, że dla wszystkich przyszłych logowań do konta możesz użyć TOTP jako metody 2FA lub użyć dowolnego klucza bezpieczeństwa.
team_invite.text_2 = Kliknij poniższy link, aby dołączyć do zespołu:
-issue.action.merge = połączone
+issue.action.merge = @%[1]s połączył(-ła) #%[2]d z %[3]s.
[modal]
@@ -657,7 +663,7 @@ invalid_group_team_map_error = ` mapowanie jest nieprawidłowe: %s`
url_error = `"%s" nie jest poprawnym adresem URL.`
unset_password = Użytkownik nie ustawił hasła.
openid_been_used = Adres OpenID "%s" jest już używany.
-organization_leave_success = Pomyślnie opuściłeś organizację %s.
+organization_leave_success = Pomyślnie opuściłeś(-aś) organizację %s.
must_use_public_key = Podany klucz jest kluczem prywatnym. Nie przesyłaj nigdzie swojego klucza prywatnego. Zamiast tego użyj klucza publicznego.
Location = Lokalizacja
username_error_no_dots = ` może zawierać tylko znaki alfanumeryczne ("0-9", "a-z", "A-Z"), myślnik ("-") oraz podkreślenie ("_"). Nie może zaczynać się ani kończyć znakami niealfanumerycznymi, a znaki niealfanumeryczne występujące po sobie są również zabronione.`
@@ -667,6 +673,13 @@ org_still_own_repo = Ta organizacja nadal jest właścicielem jednego lub wielu
admin_cannot_delete_self = Nie możesz usunąć siebie, gdy jesteś administratorem. Proszę najpierw usunąć swoje uprawnienia administratora.
+include_error = ` musi zawierać podciąg znaków "%s".`
+email_domain_is_not_allowed = Domena adresu email użytkownika %s konfliktuje z EMAIL_DOMAIN_ALLOWLIST lub EMAIL_DOMAIN_BLOCKLIST. Upewnij się, że ustawiony adres email jest poprawny.
+unsupported_login_type = Ta forma logowania nie wspiera możliwości usunięcia konta.
+still_own_packages = Twoje konto jest właścicielem jednego lub więcej pakietów, musisz je najpierw usunąć.
+org_still_own_packages = Ta organizacja nadal jest właścicielem jednego lub wielu pakietów, musisz je najpierw usunąć.
+required_prefix = Pole musi zaczynać się od "%s"
+
[user]
change_avatar=Zmień swój awatar…
repositories=Repozytoria
@@ -685,7 +698,7 @@ code = Kod
block = Zablokuj
unblock = Odblokuj
block_user.detail = Pamiętaj, że zablokowanie użytkownika powoduje inne skutki, takie jak:
-block_user.detail_2 = Ten użytkownik nie będzie mógł wchodzić w interakcję z repozytoriami, których jesteś właścicielem, ani z problemami i komentarzami, które utworzyłeś.
+block_user.detail_2 = Ten użytkownik nie będzie mógł wchodzić w interakcję z repozytoriami, których jesteś właścicielem, ani ze zgłoszeniami i komentarzami, które utworzyłeś(-aś).
settings = Ustawienia użytkownika
followers_one = %d obserwujących
following_one = %d obserwowanych
@@ -696,10 +709,21 @@ following.title.few = Obserwowani
email_visibility.limited = Twój adres e-mail jest widoczny dla wszystkich uwierzytelnionych użytkowników
block_user = Zablokuj użytkownika
block_user.detail_1 = Przestaniecie się wzajemnie obserwować i nie będziecie mogli się wzajemnie obserwować.
-follow_blocked_user = Nie możesz obserwować tego użytkownika, ponieważ go zablokowałeś lub ten użytkownik zablokował Ciebie.
+follow_blocked_user = Nie możesz obserwować tego użytkownika, ponieważ go zablokowałeś(-aś) lub ten użytkownik zablokował Ciebie.
show_on_map = Pokaż to mejsce na mapie
+joined_on = Dołączył w %s
+block_user.detail_3 = Nie będziecie mogli dodać siebie jako współpracownicy repozytorium.
+public_activity.visibility_hint.self_public = Twoja aktywność jest widoczna dla wszystkich, z wyjątkiem interakcji w przestrzeniach prywatnych. Konfiguruj .
+public_activity.visibility_hint.admin_public = Twoja aktywność jest widoczna dla wszystkich, jednak jako administrator masz możliwość podejrzenia interakcji w przestrzeniach prywatnych.
+public_activity.visibility_hint.self_private = Twoja aktywność jest widoczna tylko dla ciebie i administratorów tej instancji. Konfiguruj .
+public_activity.visibility_hint.admin_private = Ta aktywność jest dla ciebie widoczna ponieważ jesteś administratorem, ale użytkownik preferuje by ta aktywność była ukryta.
+public_activity.visibility_hint.self_private_profile = Twoja aktywność jest widoczna tylko dla ciebie i administratorów tej instancji ponieważ twój profil jest prywatny. Konfiguruj .
+form.name_reserved = Nazwa użytkownika "%s" jest zarezerwowana.
+form.name_pattern_not_allowed = Wzór "%s" nie jest dozwolony w nazwie użytkownika.
+form.name_chars_not_allowed = Nazwa użytkownika "%s" zawiera nieprawidłowe znaki.
+
[settings]
profile=Profil
account=Konto
@@ -756,7 +780,7 @@ emails=Adresy e-mail
manage_emails=Zarządzaj adresami e-mail
manage_themes=Domyślny motyw
manage_openid=Adresy OpenID
-theme_desc=Będzie to domyślny motyw na całej stronie.
+theme_desc=Ten motyw będzie użyty dla interfejsu przeglądarkowego kiedy będziesz zalogowany.
primary=Podstawowy
activated=Aktywowany
requires_activation=Wymaga aktywacji
@@ -944,6 +968,87 @@ permissions_list = Uprawnienia:
hints = Wskazówki
change_password = Zmień hasło
+blocked_users = Zablokowani użytkownicy
+biography_placeholder = Powiedz innym coś o sobie! (Markdown jest wspierany)
+location_placeholder = Podziel się swoim położeniem z innymi
+profile_desc = O tobie
+pronouns = Zaimki
+pronouns_custom = Własne
+pronouns_custom_label = Własne zaimki
+pronouns_unspecified = Nieokreślone
+update_language = Zmień język
+update_language_not_found = Język "%s" nie jest dostępny.
+change_username_prompt = Uwaga: Zmiana nazwy użytkownika również zmienia URL konta.
+change_username_redirect_prompt = Stara nazwa użytkownika będzie przekierowywać dopóki ktoś jej nie przejmie.
+language.title = Domyślny język
+language.description = Ten język zostanie zapisany na twoim koncie i będzie używany jako domyślny po zalogowaniu.
+language.localization_project = Pomóż nam przetłumaczyć Forgejo na twój język! Dowiedz się więcej .
+additional_repo_units_hint = Proponuj włączenie dodatkowych jednostek repozytorium
+additional_repo_units_hint_description = Wyświetl wskazówkę "Włącz więcej" dla repozytoriów które nie mają włączonych wszystkich jednostek.
+update_hints = Zaktualizuj wskazówki
+update_hints_success = Wskazówki zostały zaktualizowane.
+hidden_comment_types = Rodzaje ukrytych komentarzy
+hidden_comment_types_description = Rodzaje komentarzy zaznaczone tutaj nie będą wyświetlały się na stronach zgłoszeń. Zaznaczenie "Etykieta" na przykład usunie wszystkie komentarze " dodał/usunął ".
+hidden_comment_types.ref_tooltip = Komentarze które odniosły się do zgłoszenia z innego zgłoszenia/commitu/…
+hidden_comment_types.issue_ref_tooltip = Komentarze gdzie użytkowników zmienił gałąź/tag powiązany ze zgłoszeniem
+comment_type_group_time_tracking = Śledzenie czasu
+comment_type_group_lock = Status blokady
+comment_type_group_review_request = Prośba o recenzję
+comment_type_group_pull_request_push = Dodane commity
+comment_type_group_issue_ref = Odniesienie do zgłoszenia
+saved_successfully = Twoje ustawienia zostały zapisane pomyślnie.
+keep_activity_private = Ukryj aktywność ze strony profilu
+keep_activity_private.description = Twoja aktywność publiczna będzie widoczna tylko dla ciebie i administratorów tej instancji.
+uploaded_avatar_is_too_big = Rozmiar wgranego pliku (%d KiB) przekraczana rozmiar maksymalny (%d KiB).
+update_user_avatar_success = Awatar użytkownika został zaktualizowany.
+retype_new_password = Potwierdź nowe hasło
+email_desc = Twój główny adres email będzie użyty dla powiadomień, odzyskiwania hasła i, chyba że jest ukryty, operacji Git w przeglądarce.
+can_not_add_email_activations_pending = Aktywacja w toku, spróbuj ponownie w ciągu kolejnych kilku minut jeżeli chcesz dodać nowy email.
+add_email_confirmation_sent = Email z potwierdzeniem został wysłany do "%s". By potwierdzić swój adres email, proszę sprawdź swoją skrzynkę odbiorczą i odwiedź dostarczony link w ciągu %s.
+keep_email_private_popup = Twój adres email nie będzie pokazywany na twoim profilu i nie będzie używany jako domyślny dla commitów utworzonych przez interfejs przeglądarki, takich jak wgrywanie plików, edycje, commity scalające. Zamiast tego, specjalny adres %s może zostać użyty do powiązania commitów z twoim kontem. Ta opcja nie wpływa na commity już istniejące.
+key_content_ssh_placeholder = Rozpoczyna się z "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", lub "sk-ssh-ed25519@openssh.com"
+verify_gpg_key_success = Klucz GPG "%s" został zweryfikowany.
+ssh_invalid_token_signature = Zapewniony klucz SSH, sygnatura lub token nie zgadzają się lub token jest przedawniony.
+verify_ssh_key_success = Klucz SSH "%s" został zweryfikowany.
+add_key_success = Klucz SSH "%s" został dodany.
+add_gpg_key_success = Klucz GPG "%s" został dodany.
+added_on = Dodane w %s
+valid_until_date = Ważne do %s
+ssh_signonly = SSH jest obecnie wyłączone więc te klucze używane są wyłącznie do weryfikacji podpisów commitów.
+access_token_deletion_desc = Usunięcie tokenu cofnie dostęp do twojego konta aplikacjom które z niego korzystają. Ta operacja nie może zostać cofnięta. Kontynuować?
+repo_and_org_access = Dostęp do Repozytoriów i Organizacji
+permissions_public_only = Wyłącznie publiczne
+permissions_access_all = Wszystkie (publiczne, prywatne i ograniczone)
+select_permissions = Wybierz uprawnienia
+permission_no_access = Brak dostępu
+permission_write = Odczyt i zapis
+access_token_desc = Wybrane uprawnienia tokenu ograniczają autoryzację tylko dla następujących ścieżek API . Więcej szczegółów znajdziesz w dokumentacji .
+at_least_one_permission = Musisz wybrać przynajmniej jedno uprawnienie by utworzyć token
+create_oauth2_application_success = Pomyślnie utworzyłeś(-aś) aplikację OAuth2.
+update_oauth2_application_success = Pomyślnie zaktualizowałeś(-aś) aplikację OAuth2.
+oauth2_confidential_client = Poufny klient. Zaznacz dla aplikacji które korzystają z ukrytego sekretu, na przykład aplikacji przeglądarkowych. Nie zaznaczaj dla aplikacji natywnych, w tym aplikacji mobilnych.
+oauth2_redirect_uris = Przekierowania URI. Proszę użyj osobnej linii dla każdego URI.
+oauth2_client_secret_hint = Sekret nie będzie pokazany ponownie po opuszczeniu lub odświeżeniu tej strony. Proszę upewnij się, że został zapisany.
+oauth2_application_remove_description = Usunięcie aplikacji OAuth2 uniemożliwi dostęp autoryzowanych kont użytkowników na tej instancji. Kontynuować?
+oauth2_application_locked = Forgejo rejestruje zawczasu kilka aplikacji OAuth2 podczas rozruchu jeżeli włączono taką opcję w konfiguracji. By zapobiec nieoczekiwanym zachowaniom, nie mogą one zostać ani edytowane, ani usunięte. Proszę odnieś się do dokumentacji OAuth2 po więcej informacji.
+authorized_oauth2_applications_description = Przyznałeś(-aś) dostęp do swojego osobistego konta Forgejo tym aplikacjom stron trzecich. Proszę cofnij dostęp dla aplikacji których już nie używasz.
+revoke_oauth2_grant_success = Dostęp cofnięty pomyślnie.
+twofa_recovery_tip = Jeżeli zgubisz swoje urządzenie, będziesz mógł użyć jednorazowego klucza odzyskiwania by odzyskać dostęp do swojego konta.
+twofa_scratch_token_regenerated = Twój jednorazowy klucz odzyskiwania to %s. Przechowuj go w bezpiecznym miejscu, gdyż nie będzie już pokazywany ponownie.
+webauthn_desc = Klucze bezpieczeństwa to urządzenia zawierające klucze kryptograficzne. Mogą zostać użyte do uwierzytelniania dwuskładnikowego. Klucze bezpieczeństwa muszą wspierać standard WebAuthn Authenticator .
+webauthn_key_loss_warning = Jeżeli zgubisz swoje klucze bezpieczeństwa, utracisz dostęp do swojego konta.
+webauthn_alternative_tip = Możesz skonfigurować dodatkową metodę uwierzytelniania.
+hooks.desc = Dodaj webhooki które będą aktywowane dla wszystkich repozytoriów których jesteś właścicielem.
+repos_none = Nie posiadasz żadnych repozytoriów.
+blocked_users_none = Brak zablokowanych użytkowników.
+email_notifications.andyourown = Dodaj swoje własne powiadomienia
+visibility.public_tooltip = Widoczne dla wszystkich
+visibility.limited_tooltip = Widoczne tylko dla zalogowanych użytkowników
+visibility.private_tooltip = Widoczne tylko dla członków organizacji do których dołączyłeś(-aś)
+blocked_since = Zablokowany od %s
+user_unblock_success = Użytkownik odblokowany pomyślnie.
+user_block_success = Użytkownik zablokowany pomyślnie.
+
[repo]
owner=Właściciel
owner_helper=Niektóre organizacje mogą nie pojawiać się w liście ze względu na limit maksymalnej liczby repozytoriów.
@@ -972,16 +1077,16 @@ generate_from=Wygeneruj z
repo_desc=Opis
repo_desc_helper=Wprowadź krótki opis (opcjonalnie)
repo_lang=Język
-repo_gitignore_helper=Wybierz szablony pliku .gitignore.
+repo_gitignore_helper=Wybierz szablony pliku .gitignore
issue_labels=Etykiety
issue_labels_helper=Wybierz zestaw etykiet zgłoszeń
license=Licencja
license_helper=Wybierz plik licencji
-license_helper_desc=Licencja reguluje co inni mogą a czego nie mogą zrobić z Twoim kodem. Nie jesteś pewien, która licencja jest właściwa dla Twojego projektu? Zobacz Wybór licencji.
+license_helper_desc=Licencja reguluje co inni mogą a czego nie mogą zrobić z Twoim kodem. Nie jesteś pewien(-na), która licencja jest właściwa dla Twojego projektu? Zobacz Wybór licencji .
readme=README
readme_helper=Wybierz szablon pliku README
readme_helper_desc=To jest miejsce, w którym możesz napisać pełny opis swojego projektu.
-auto_init=Inicjalizuj repozytorium (dodaje .gitignore, licencję i README)
+auto_init=Inicjalizuj repozytorium
trust_model_helper_default=Domyślnie: Użyj domyślnego modelu zaufania dla tej instalacji
create_repo=Utwórz repozytorium
default_branch=Domyślny branch
@@ -1026,7 +1131,7 @@ desc.internal=Wewnętrzny
desc.archived=Zarchiwizowane
template.items=Elementy szablonu
-template.git_content=Zawartość gita (domyślna gałąź)
+template.git_content=Zawartość gita (Domyślna gałąź)
template.git_hooks=Hooki Git
template.webhooks=Webhooki
template.topics=Tematy
@@ -1048,33 +1153,33 @@ migrate_options_lfs=Migruj pliki LFS
migrate_options_lfs_endpoint.label=Punkt końcowy LFS
migrate_options_lfs_endpoint.description=Migracja spróbuje użyć Git remote, aby określić serwer LFS . Możesz również określić niestandardowy punkt końcowy, jeśli dane repozytorium LFS są przechowywane gdzieś indziej.
migrate_options_lfs_endpoint.description.local=Obsługiwana jest również lokalna ścieżka serwera.
-migrate_items=Składniki migracji
+migrate_items=Elementy migracji
migrate_items_wiki=Wiki
migrate_items_milestones=Kamienie milowe
migrate_items_labels=Etykiety
migrate_items_issues=Zgłoszenia
-migrate_items_pullrequests=Pull Requesty
-migrate_items_merge_requests=Merge Requests
+migrate_items_pullrequests=Pull requesty
+migrate_items_merge_requests=Requesty scalające
migrate_items_releases=Wydania
-migrate_repo=Przenieś repozytorium
-migrate.clone_address=Migruj/klonuj z adresu URL
+migrate_repo=Migruj repozytorium
+migrate.clone_address=Migruj / Klonuj z adresu URL
migrate.clone_address_desc=Adres HTTP(S) lub "klona" Gita istniejącego repozytorium
migrate.clone_local_path=lub ścieżka lokalnego serwera
migrate.permission_denied=Nie możesz importować lokalnych repozytoriów.
migrate.permission_denied_blocked=Nie możesz importować z niedozwolonych hostów, poproś administratora o sprawdzenie ustawień ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS.
migrate.invalid_lfs_endpoint=Punkt końcowy LFS jest nieprawidłowy.
migrate.failed=Migracja nie powiodła się: %v
-migrate.migrate_items_options=Token dostępu jest wymagany, aby zmigrować dodatkowe elementy
+migrate.migrate_items_options=Token dostępu jest wymagany, aby migrować dodatkowe elementy
migrated_from=Zmigrowane z %[2]s
-migrated_from_fake=Zmigrowane z %[1]s
+migrated_from_fake=Migrowane z %[1]s
migrate.migrate=Migracja z %s
migrate.migrating=Migrowanie z %s ...
migrate.migrating_failed=Migrowanie z %s nie powiodło się.
migrate.migrating_failed_no_addr=Migracja nie powiodła się.
-migrate.github.description=Migracja danych z github.com lub innych instancji GitHub.
+migrate.github.description=Migracja danych z github.com lub serwerów Github Enterprise.
migrate.git.description=Migracja repozytorium tylko z dowolnej usługi Git.
migrate.gitlab.description=Migruj dane z gitlab.com lub innych instancji GitLab.
-migrate.gitea.description=Migruj dane z gitea.com lub innych instancji Gitea/Forgejo.
+migrate.gitea.description=Migruj dane z gitea.com lub innych instancji Gitea.
migrate.gogs.description=Migracja danych z notabug.org lub innych instancji Gogs.
migrate.onedev.description=Migracja danych z code.onedev.io lub innych instancji OneDev.
migrate.codebase.description=Migracja danych z codebasehq.com.
@@ -1084,8 +1189,8 @@ migrate.migrating_topics=Migracja tematów
migrate.migrating_milestones=Migracja kamieni milowych
migrate.migrating_labels=Migracja etykiet
migrate.migrating_releases=Migracja wydań
-migrate.migrating_issues=Migracja problemów
-migrate.migrating_pulls=Migracja Pull Requestów
+migrate.migrating_issues=Migracja zgłoszeń
+migrate.migrating_pulls=Migracja pull requestów
mirror_from=kopia lustrzana
forked_from=sforkowany z
@@ -1102,7 +1207,7 @@ fork=Forkuj
download_archive=Pobierz repozytorium
no_desc=Brak opisu
-quick_guide=Skrócona instrukcja
+quick_guide=Szybki przewodnik
clone_this_repo=Klonuj repozytorium
create_new_repo_command=Tworzenie nowego repozytorium z linii poleceń
push_exist_repo=Wypychanie istniejącego repozytorium z linii poleceń
@@ -1118,7 +1223,7 @@ find_tag=Znajdź tag
branches=Gałęzie
tags=Tagi
issues=Zgłoszenia
-pulls=Oczekujące zmiany
+pulls=Pull requesty
project_board=Projekty
labels=Etykiety
org_labels_desc=Etykiety organizacji, które mogą być używane z wszystkimi repozytoriami w tej organizacji
@@ -1134,9 +1239,9 @@ released_this=wydał to
file.title=%s w %s
file_raw=Czysty
file_history=Historia
-file_view_source=Zobacz Źródło
+file_view_source=Zobacz źródło
file_view_rendered=Wyświetl renderowane
-file_view_raw=Zobacz czysty
+file_view_raw=Zobacz nieprzetworzony
file_permalink=Bezpośredni odnośnik
file_too_large=Ten plik jest zbyt duży, aby go wyświetlić.
@@ -1144,10 +1249,11 @@ 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
-commit_graph.hide_pr_refs=Ukryj Pull Requesty
+commit_graph.hide_pr_refs=Ukryj pull requesty
commit_graph.monochrome=Monochromatyczny
commit_graph.color=Kolor
blame=Wina
@@ -1161,6 +1267,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
@@ -1169,7 +1276,7 @@ editor.fork_before_edit=Musisz sforkować to repozytorium, aby nanieść lub zap
editor.delete_this_file=Usuń plik
editor.must_have_write_access=Musisz mieć uprawnienia do zapisu, aby nanieść lub zaproponować zmiany tego pliku.
editor.name_your_file=Nazwij plik…
-editor.filename_help=Utwórz katalog, poprzez wpisanie jego nazwy i dodanie ukośnika ('/'). Usuń katalog, wciskając klawisz Backspace na początku pola tekstowego.
+editor.filename_help=Utwórz katalog, poprzez wpisanie jego nazwy i dodanie ukośnika ("/"). Usuń katalog, wciskając klawisz Backspace na początku pola tekstowego.
editor.or=lub
editor.cancel_lower=Anuluj
editor.commit_signed_changes=Zatwierdź podpisane zmiany
@@ -1229,10 +1336,10 @@ projects.edit=Edytuj projekty
projects.edit_subheader=Cele pozwalają na organizację zgłoszeń i śledzenie postępów.
projects.modify=Zaktualizuj projekt
projects.type.none=Brak
-projects.type.basic_kanban=Basic Kanban
-projects.type.bug_triage=Bug Triage
-projects.template.desc=Szablon projektu
-projects.template.desc_helper=Wybierz szablon projektu do rozpoczęcia
+projects.type.basic_kanban=Podstawowy kanban
+projects.type.bug_triage=Segregacja bugów
+projects.template.desc=Szablon
+projects.template.desc_helper=Wybierz szablon projektu by rozpocząć
projects.type.uncategorized=Bez kategorii
projects.column.edit_title=Nazwa
projects.column.new_title=Nazwa
@@ -1249,12 +1356,12 @@ issues.filter_reviewers=Filtruj recenzentów
issues.new=Nowe zgłoszenie
issues.new.title_empty=Tytuł nie może być pusty
issues.new.labels=Etykiety
-issues.new.no_label=Brak etykiety
+issues.new.no_label=Brak etykiet
issues.new.clear_labels=Wyczyść etykiety
issues.new.projects=Projekty
issues.new.clear_projects=Wyczyść projekty
issues.new.no_projects=Brak projektu
-issues.new.open_projects=Otwórz projekty
+issues.new.open_projects=Otwarte projekty
issues.new.closed_projects=Zamknięte projekty
issues.new.no_items=Brak elementów
issues.new.milestone=Kamień milowy
@@ -1270,7 +1377,7 @@ issues.choose.get_started=Rozpocznij
issues.choose.open_external_link=Otwórz
issues.choose.blank=Domyślny
issues.choose.blank_about=Utwórz problem z domyślnego szablonu.
-issues.no_ref=Nie określono gałęzi/etykiety
+issues.no_ref=Nie określono Gałęzi/Etykiety
issues.create=Utwórz zgłoszenie
issues.new_label=Nowa etykieta
issues.new_label_placeholder=Nazwa etykiety
@@ -1345,17 +1452,17 @@ issues.context.copy_link=Skopiuj link
issues.context.quote_reply=Cytuj odpowiedź
issues.context.edit=Edytuj
issues.context.delete=Usuń
-issues.close_comment_issue=Skomentuj i zamknij
+issues.close_comment_issue=Zamknij z komentarzem
issues.reopen_issue=Otwórz ponownie
-issues.reopen_comment_issue=Skomentuj i otwórz ponownie
+issues.reopen_comment_issue=Otwórz ponownie z komentarzem
issues.create_comment=Skomentuj
issues.closed_at=`zamknął(-ęła) to zgłoszenie %[2]s `
issues.reopened_at=`otworzył(-a) ponownie to zgłoszenie %[2]s `
issues.commit_ref_at=`wspomniał(-a) to zgłoszenie z commita %[2]s `
issues.ref_issue_from=`odwołał(-a) się do tego zgłoszenia %[4]s %[2]s `
issues.ref_pull_from=`odwołał(-a) się do tego Pull Requesta %[4]s %[2]s `
-issues.ref_closing_from=`odwołał(-a) się do Pull Requesta %[4]s, który zamknie to zgłoszenie %[2]s `
-issues.ref_reopening_from=`odwołał(-a) się do Pull Requesta %[4]s, który otworzy na nowo to zgłoszenie %[2]s `
+issues.ref_closing_from=`odwołał(-a) się do pull requesta %[4]s, który zamknie to zgłoszenie %[2]s `
+issues.ref_reopening_from=`odwołał(-a) się z pull requesta %[4]s, który otworzy na nowo to zgłoszenie %[2]s `
issues.ref_closed_from=`zamknął(-ęła) to zgłoszenie %[4]s %[2]s `
issues.ref_reopened_from=`ponownie otworzył(-a) to zgłoszenie %[4]s %[2]s `
issues.ref_from=`z %[1]s`
@@ -1393,12 +1500,12 @@ issues.unlock=Odblokuj konwersację
issues.lock.unknown_reason=Nie można zablokować zagadnienia bez żadnego powodu.
issues.lock_duplicate=Zagadnienie nie może być zablokowane ponownie.
issues.unlock_error=Nie można odblokować zagadnienia, które nie jest zablokowane.
-issues.lock_with_reason=zablokowano jako %s i ograniczono konwersację do współtwórców %s
-issues.lock_no_reason=zablokowano i ograniczono konwersację do współtwórców %s
+issues.lock_with_reason=zablokowano jako %s i ograniczono konwersację do współpracowników %s
+issues.lock_no_reason=zablokowano i ograniczono konwersację do współpracowników %s
issues.unlock_comment=odblokowano tę konwersację %s
issues.lock_confirm=Zablokuj
issues.unlock_confirm=Odblokuj
-issues.lock.notice_1=- Inni użytkownicy nie mogą dodawać nowych komentarzy do tego zagadnienia.
+issues.lock.notice_1=- Inni użytkownicy nie mogą dodawać nowych komentarzy do tego zgłoszenia.
issues.lock.notice_2=- Ty i inni współtwórcy z dostępem do tego repozytorium możecie dalej pozostawiać komentarze dla innych.
issues.lock.notice_3=- Możesz zawsze odblokować to zagadnienie w przyszłości.
issues.unlock.notice_1=- Wszyscy będą mogli ponownie umieszczać komentarze w tym zagadnieniu.
@@ -1457,7 +1564,7 @@ issues.dependency.blocked_by_short=Zależy od
issues.dependency.remove_header=Usuń zależność
issues.dependency.issue_remove_text=Usunie to zależność z tego zgłoszenia. Kontynuować?
issues.dependency.pr_remove_text=Usunie to tę zależność z tego Pull Requesta. Kontynuować?
-issues.dependency.setting=Włącz zależności dla zgłoszeń i Pull Requestów
+issues.dependency.setting=Włącz zależności dla zgłoszeń i pull requestów
issues.dependency.add_error_same_issue=Zgłoszenie nie może być zależne od siebie samego.
issues.dependency.add_error_dep_issue_not_exist=Zgłoszenie zależne nie istnieje.
issues.dependency.add_error_dep_not_exist=Zależność nie istnieje.
@@ -1496,8 +1603,8 @@ compare.compare_base=baza
compare.compare_head=porównaj
pulls.desc=Włącz Pull Requesty i recenzjonowanie kodu.
-pulls.new=Nowy Pull Request
-pulls.compare_changes=Nowy Pull Request
+pulls.new=Nowy pull request
+pulls.compare_changes=Nowy pull request
pulls.compare_changes_desc=Wybierz gałąź, do której chcesz scalić oraz gałąź, z której pobrać zmiany.
pulls.compare_base=scal do
pulls.compare_compare=ściągnij z
@@ -1505,7 +1612,7 @@ pulls.filter_branch=Filtruj branch
pulls.no_results=Nie znaleziono wyników.
pulls.nothing_to_compare=Te gałęzie są sobie równe. Nie ma potrzeby tworzyć Pull Requesta.
pulls.nothing_to_compare_and_allow_empty_pr=Te gałęzie są równe. Ten PR będzie pusty.
-pulls.create=Utwórz Pull Request
+pulls.create=Utwórz pull request
pulls.title_desc_few=chce scalić %[1]d commity/ów z %[2]s
do %[3]s
pulls.merged_title_desc_few=scala %[1]d commity/ów z %[2]s
do %[3]s
%[4]s
pulls.change_target_branch_at=`zmienia gałąź docelową z %s na %s %s`
@@ -1530,7 +1637,7 @@ pulls.required_status_check_administrator=Jako administrator, możesz wciąż sc
pulls.can_auto_merge_desc=Ten Pull Request może być automatycznie scalony.
pulls.cannot_auto_merge_desc=Ten Pull Request nie może być automatycznie scalony z powodu konfliktów.
pulls.cannot_auto_merge_helper=Scal ręcznie, aby rozwiązać konflikty.
-pulls.num_conflicting_files_1=%d plików zawierających konflikty
+pulls.num_conflicting_files_1=%d plik zawierających konflikty
pulls.num_conflicting_files_n=%d plików zawierających konflikty
pulls.approve_count_1=%d zatwierdzenie
pulls.approve_count_n=%d zatwierdzeń
@@ -1592,7 +1699,7 @@ milestones.invalid_due_date_format=Format daty realizacji musi mieć wartość '
milestones.edit=Edytuj kamień milowy
milestones.edit_subheader=Cele pozwalają zorganizować zagadnienia i śledzić postępy.
milestones.cancel=Anuluj
-milestones.modify=Zaktualizuj cel
+milestones.modify=Zaktualizuj kamień milowy
milestones.deletion=Usuń kamień milowy
milestones.deletion_desc=Usunięcie celu usuwa go z wszystkich pozostałych zagadnień. Kontynuować?
milestones.deletion_success=Cel został usunięty.
@@ -1618,7 +1725,7 @@ wiki.last_commit_info=%s edytuje tę stronę %s
wiki.edit_page_button=Edytuj
wiki.new_page_button=Nowa strona
wiki.file_revision=Wersja strony
-wiki.wiki_page_revisions=Wersje stron wiki
+wiki.wiki_page_revisions=Wersje strony
wiki.back_to_wiki=Powrót do strony wiki
wiki.delete_page_button=Usuń stronę
wiki.page_already_exists=Strona Wiki o tej samej nazwie już istnieje.
@@ -1635,39 +1742,39 @@ activity.period.quarterly=3 miesiące
activity.period.semiyearly=6 miesięcy
activity.period.yearly=1 rok
activity.overview=Przegląd
-activity.active_prs_count_1=%d aktywny Pull Request
-activity.active_prs_count_n=%d aktywne Pull Requesty
-activity.merged_prs_count_1=Scalono Pull Request
-activity.merged_prs_count_n=Scalone Pull Requesty
-activity.opened_prs_count_1=Proponowany Pull Request
-activity.opened_prs_count_n=Proponowane Pull Requesty
+activity.active_prs_count_1=%d aktywny pull request
+activity.active_prs_count_n=%d aktywne pull requesty
+activity.merged_prs_count_1=Scalono pull request
+activity.merged_prs_count_n=Scalone pull requesty
+activity.opened_prs_count_1=Proponowany pull request
+activity.opened_prs_count_n=Proponowane pull requesty
activity.title.user_1=%d użytkownik
activity.title.user_n=%d użytkowników
-activity.title.prs_1=%d Pull Request
-activity.title.prs_n=%d Pull Requesty
+activity.title.prs_1=%d pull request
+activity.title.prs_n=%d pull requesty
activity.title.prs_merged_by=%s zmergowane przez %s
activity.title.prs_opened_by=%s zaproponowane przez %s
activity.merged_prs_label=Scalone
activity.opened_prs_label=Proponowane
-activity.active_issues_count_1=%d Aktywne zgłoszenia
-activity.active_issues_count_n=%d Aktywnych zgłoszeń
+activity.active_issues_count_1=%d aktywne zgłoszenie
+activity.active_issues_count_n=%d aktywne zgłoszenia
activity.closed_issues_count_1=Zamknięte zgłoszenie
activity.closed_issues_count_n=Zamknięte zgłoszenia
-activity.title.issues_1=%d Zgłoszenie
-activity.title.issues_n=%d Zgłoszenia
+activity.title.issues_1=%d zgłoszenie
+activity.title.issues_n=%d zgłoszenia
activity.title.issues_created_by=%s utworzone przez %s
activity.closed_issue_label=Zamknięty
activity.new_issues_count_1=Nowe zgłoszenie
activity.new_issues_count_n=Nowe zgłoszenia
activity.new_issue_label=Otwarte
-activity.title.unresolved_conv_1=%d Nierozstrzygnięta dyskusja
-activity.title.unresolved_conv_n=%d Nierozstrzygniętych dyskusji
+activity.title.unresolved_conv_1=%d nierozstrzygnięta dyskusja
+activity.title.unresolved_conv_n=%d nierozstrzygniętych dyskusji
activity.unresolved_conv_desc=Te niedawno zmienione zagadnienia i Pull Requesty nie zostały jeszcze rozwiązane.
activity.unresolved_conv_label=Otwarte
-activity.title.releases_1=%d Wydanie
-activity.title.releases_n=%d Wydań
+activity.title.releases_1=%d wydanie
+activity.title.releases_n=%d wydania
activity.title.releases_published_by=%s opublikowane przez %s
-activity.published_release_label=Opublikowane
+activity.published_release_label=Wydanie
activity.no_git_activity=Nie było żadnej aktywności w tym okresie czasu.
activity.git_stats_exclude_merges=Wykluczając scalenia,
activity.git_stats_author_1=%d autor
@@ -1711,7 +1818,7 @@ settings.collaboration.undefined=Niezdefiniowany
settings.hooks=Webhooki
settings.githooks=Hooki Git
settings.basic_settings=Ustawienia podstawowe
-settings.mirror_settings=Kopia lustrzana ustawień
+settings.mirror_settings=Ustawienia kopii lustrzanej
settings.mirror_settings.mirrored_repository=Repozytorium lustrzane
settings.mirror_settings.direction=Kierunek
settings.mirror_settings.direction.pull=Pull
@@ -1722,30 +1829,30 @@ settings.mirror_settings.push_mirror.remote_url=Adres URL zdalnego repozytorium
settings.sync_mirror=Synchronizuj teraz
settings.site=Strona
-settings.update_settings=Aktualizuj ustawienia
+settings.update_settings=Zapisz ustawienia
settings.branches.update_default_branch=Aktualizuj domyślną gałąź
settings.advanced_settings=Ustawienia zaawansowane
settings.wiki_desc=Włącz wiki repozytorium
settings.use_internal_wiki=Użyj wbudowanego wiki
settings.use_external_wiki=Użyj zewnętrznego wiki
-settings.external_wiki_url=Adres URL zewnętrznego Wiki
+settings.external_wiki_url=Adres URL zewnętrznego wiki
settings.external_wiki_url_error=URL zewnętrznego wiki nie jest prawidłowym adresem URL.
settings.external_wiki_url_desc=Odwiedzający są przekierowywani do zewnętrznego adresu URL wiki po kliknięciu w zakładkę wiki.
-settings.issues_desc=Włącz śledzenie zgłoszeń w repozytorium
-settings.use_internal_issue_tracker=Użyj wbudowanego śledzenia zgłoszeń
-settings.use_external_issue_tracker=Użyj zewnętrznego śledzenia zgłoszeń
-settings.external_tracker_url=URL zewnętrznego systemu śledzenia zgłoszeń
+settings.issues_desc=Włącz dziennik zgłoszeń w repozytorium
+settings.use_internal_issue_tracker=Użyj wbudowanego dziennika zgłoszeń
+settings.use_external_issue_tracker=Użyj zewnętrznego dziennika zgłoszeń
+settings.external_tracker_url=URL zewnętrznego dziennika zgłoszeń
settings.external_tracker_url_error=Adres URL zewnętrznego śledzenia zgłoszeń nie jest poprawnym adresem URL.
settings.external_tracker_url_desc=Odwiedzający są przekierowywani do adresu URL zewnętrznego systemu śledzenia zgłoszeń po kliknięciu w zakładkę zgłoszeń.
-settings.tracker_url_format=Format adresu URL zewnętrznego systemu śledzenia zgłoszeń
+settings.tracker_url_format=Format adresu URL zewnętrznego dziennika zgłoszeń
settings.tracker_url_format_error=Adres URL zewnętrznego systemu śledzenia zgłoszeń nie jest poprawnym adresem URL.
-settings.tracker_issue_style=Format numerowania dla zewnętrznego systemu śledzenia zgłoszeń
+settings.tracker_issue_style=Format numerowania dla zewnętrznego dziennika zgłoszeń
settings.tracker_issue_style.numeric=Numeryczny
settings.tracker_issue_style.alphanumeric=Alfanumeryczne
settings.tracker_url_format_desc=Użyj zamienników {user}
, {repo}
i {index}
dla nazwy użytkownika, nazwy repozytorium i numeru porządkowego zgłoszenia.
settings.enable_timetracker=Włącz śledzenie czasu
settings.allow_only_contributors_to_track_time=Zezwalaj wyłącznie współpracownikom na śledzenie czasu
-settings.pulls_desc=Włącz Pull Requesty w repozytorium
+settings.pulls_desc=Włącz pull requesty w repozytorium
settings.pulls.ignore_whitespace=Ignoruj znaki białe w konfliktach
settings.projects_desc=Włącz projekty w repozytorium
settings.admin_settings=Ustawienia administratora
@@ -1790,7 +1897,7 @@ settings.trust_model.committer.long=Committer: Ufaj podpisom zgodnym z committer
settings.wiki_delete=Usuń dane Wiki
settings.wiki_delete_desc=Usunięcie danych wiki jest nieodwracalne.
settings.wiki_delete_notices_1=- Ta operacja usunie i wyłączy wiki repozytorium %s.
-settings.confirm_wiki_delete=Usuń dane Wiki
+settings.confirm_wiki_delete=Usuń dane wiki
settings.wiki_deletion_success=Dane wiki repozytorium zostały usunięte.
settings.delete=Usuń to repozytorium
settings.delete_desc=Usunięcie repozytorium jest trwałe i nieodwracalne.
@@ -1800,7 +1907,7 @@ settings.delete_notices_fork_1=- Forki tego repozytorium będą niezależne po j
settings.deletion_success=Repozytorium zostało usunięte.
settings.update_settings_success=Ustawienia repozytorium zostały zaktualizowane.
settings.confirm_delete=Usuń repozytorium
-settings.add_collaborator=Dodaj
+settings.add_collaborator=Dodaj współpracownika
settings.add_collaborator_success=Dodano użytkownika.
settings.add_collaborator_inactive_user=Nie możesz dodać nieaktywnego użytkownika jako współpracownika.
settings.add_collaborator_duplicate=Współpracownik został już dodany do tego repozytorium.
@@ -1823,7 +1930,7 @@ settings.remove_team_success=Dostęp zespołu do repozytorium został usunięty.
settings.add_webhook=Dodaj webhooka
settings.add_webhook.invalid_channel_name=Nazwa kanału Webhooka nie może być pusta i nie może zawierać jedynie znaku #.
settings.hooks_desc=Webhooki automatycznie tworzą zapytania HTTP POST do serwera, kiedy następują pewne zdarzenia w Forgejo. Przeczytaj o tym więcej w przewodniku o Webhookach .
-settings.webhook_deletion=Usuń Webhooka
+settings.webhook_deletion=Usuń webhooka
settings.webhook_deletion_desc=Usunięcie Webhooka wykasuje jego ustawienia i historię dostaw. Kontynuować?
settings.webhook_deletion_success=Webhook został usunięty.
settings.webhook.test_delivery=Testuj dostawę
@@ -1837,7 +1944,7 @@ settings.githook_edit_desc=Jeśli hook jest nieaktywny, zaprezentowana zostanie
settings.githook_name=Nazwa hooka
settings.githook_content=Treść hooka
settings.update_githook=Zaktualizuj hook
-settings.add_webhook_desc=Forgejo wyśle żądanie POST
z określonym typem zawartości do docelowego adresu URL. Przeczytaj o tym więcej w przewodniku o Webhookach .
+settings.add_webhook_desc=Forgejo wyśle żądanie POST
z określonym typem zawartości do docelowego adresu URL. Przeczytaj o tym więcej w przewodniku o webhookach .
settings.payload_url=Adres docelowy URL
settings.http_method=Metoda HTTP
settings.content_type=Typ zawartości POST
@@ -1848,7 +1955,7 @@ settings.slack_color=Kolor
settings.discord_username=Nazwa użytkownika
settings.discord_icon_url=Adres URL ikony
settings.event_desc=Wywołaj przy:
-settings.event_push_only=Wydarzeniach przepchnięcia
+settings.event_push_only=Wydarzeniach wypchnięcia
settings.event_send_everything=Wszystkich wydarzeniach
settings.event_choose=Niestandardowych wydarzeniach…
settings.event_header_repository=Zdarzenia repozytorium
@@ -1866,39 +1973,39 @@ settings.event_push_desc=Wypchnięcie git do repozytorium.
settings.event_repository=Repozytorium
settings.event_repository_desc=Repozytorium stworzone lub usunięte.
settings.event_header_issue=Zdarzenia zgłoszeń
-settings.event_issues=Zgłoszenia
+settings.event_issues=Modyfikacje
settings.event_issues_desc=Zgłoszenie otwarte, zamknięte, ponownie otwarte lub zmodyfikowane.
-settings.event_issue_assign=Zgłoszenie przypisane
+settings.event_issue_assign=Przypisania
settings.event_issue_assign_desc=Zgłoszenie przypisane bądź nieprzypisane.
-settings.event_issue_label=Zgłoszenie oznaczone
-settings.event_issue_label_desc=Etykieta zgłoszenia zaktualizowana lub usunięta.
-settings.event_issue_milestone=Ustawiono cel zgłoszenia
-settings.event_issue_milestone_desc=Ustawiono lub usunięto cel zgłoszenia.
-settings.event_issue_comment=Komentarz w zgłoszeniu
+settings.event_issue_label=Etykiety
+settings.event_issue_label_desc=Etykiety zgłoszeń zaktualizowane lub usunięte.
+settings.event_issue_milestone=Kamienie milowe
+settings.event_issue_milestone_desc=Dodano, usunięto lub zmodyfikowano kamień milowy.
+settings.event_issue_comment=Komentarze
settings.event_issue_comment_desc=Komentarz w zgłoszeniu stworzony, edytowany lub usunięty.
-settings.event_header_pull_request=Zdarzenia Pull Requestów
-settings.event_pull_request=Pull Request
+settings.event_header_pull_request=Zdarzenia pull requestów
+settings.event_pull_request=Modyfikacje
settings.event_pull_request_desc=Pull request otwarty, zamknięty, ponownie otwarty lub zmodyfikowany.
-settings.event_pull_request_assign=Pull Request przypisany
+settings.event_pull_request_assign=Przypisania
settings.event_pull_request_assign_desc=Pull Request przypisany bądz nieprzypisany.
-settings.event_pull_request_label=Pull Request zaetykietowany
-settings.event_pull_request_label_desc=Etykieta pull requesta zaktualizowana lub usunięta.
-settings.event_pull_request_milestone=Ustawiono cel Pull Requesta
-settings.event_pull_request_milestone_desc=Ustawiono lub usunięto cel pull requesta.
-settings.event_pull_request_comment=Pull Request skomentowany
+settings.event_pull_request_label=Etykiety
+settings.event_pull_request_label_desc=Etykiety pull requestów zaktualizowane lub usunięte.
+settings.event_pull_request_milestone=Kamienie milowe
+settings.event_pull_request_milestone_desc=Ustawiono lub usunięto kamień milowy pull requesta.
+settings.event_pull_request_comment=Komentarze
settings.event_pull_request_comment_desc=Komentarz pull requestu stworzony, edytowany lub usunięty.
-settings.event_pull_request_review=Pull Request zrecenzowany
+settings.event_pull_request_review=Recenzje
settings.event_pull_request_review_desc=Pull request zatwierdzony, odrzucony lub zrecenzowany.
-settings.event_pull_request_sync=Pull Request Zsynchronizowany
-settings.event_pull_request_sync_desc=Pull request zsynchronizowany.
+settings.event_pull_request_sync=Synchronizacja
+settings.event_pull_request_sync_desc=Gałąź zaktualizowana automatycznie z gałęzią docelową.
settings.branch_filter=Filtr gałęzi
settings.active=Aktywne
settings.active_helper=Informacja o wywołanych wydarzeniach będzie przesłana do tego adresu URL Webhooka.
settings.add_hook_success=Webhook został dodany.
settings.update_webhook=Zaktualizuj webhook
settings.update_hook_success=Webhook został zaktualizowany.
-settings.delete_webhook=Usuń Webhooka
-settings.recent_deliveries=Ostatnie wywołania
+settings.delete_webhook=Usuń webhooka
+settings.recent_deliveries=Ostatnie dostarczenia
settings.hook_type=Typ hooka
settings.slack_token=Token
settings.slack_domain=Domena
@@ -1921,7 +2028,7 @@ settings.protected_branch=Ochrona gałęzi
settings.protected_branch_can_push=Umożliwić push?
settings.protected_branch_can_push_yes=Możesz wysyłać
settings.protected_branch_can_push_no=Nie możesz wysyłać
-settings.branch_protection=`Ochrona gałęzi dla "%s "`
+settings.branch_protection=Reguły ochrony dla gałęzi "%s "
settings.protect_this_branch=Włącz ochronę gałęzi
settings.protect_this_branch_desc=Zapobiega usunięciu oraz ogranicza wypychanie i scalanie zmian do tej gałęzi.
settings.protect_disable_push=Wyłącz wypychanie
@@ -1931,9 +2038,9 @@ settings.protect_enable_push_desc=Każdy użytkownik z uprawnieniem zapisu będz
settings.protect_whitelist_committers=Wypychanie ograniczone białą listą
settings.protect_whitelist_committers_desc=Tylko dopuszczeni użytkownicy oraz zespoły będą miały możliwość wypychania zmian do tej gałęzi (oprócz wymuszenia wypchnięcia).
settings.protect_whitelist_deploy_keys=Dozwolona lista kluczy wdrożeniowych z uprawnieniem zapisu do push'a.
-settings.protect_whitelist_users=Użytkownicy dopuszczeni do pushowania
+settings.protect_whitelist_users=Użytkownicy dopuszczeni do wypychania
settings.protect_whitelist_search_users=Szukaj użytkowników…
-settings.protect_whitelist_teams=Zespoły dopuszczone do pushowania
+settings.protect_whitelist_teams=Zespoły dopuszczone do wypychania
settings.protect_whitelist_search_teams=Szukaj zespołów…
settings.protect_merge_whitelist_committers=Włącz dopuszczenie scalania
settings.protect_merge_whitelist_committers_desc=Zezwól jedynie dopuszczonym użytkownikom lub zespołom na scalanie Pull Requestów w tej gałęzi.
@@ -1968,13 +2075,13 @@ settings.no_protected_branch=Nie ma chronionych gałęzi.
settings.edit_protected_branch=Zmień
settings.protected_branch_required_approvals_min=Wymagane zatwierdzenia nie mogą mieć wartości ujemnej.
settings.tags=Tagi
-settings.tags.protection=Ochrona Tagów
+settings.tags.protection=Ochrona tagów
settings.tags.protection.pattern=Wzór tagu
settings.tags.protection.allowed=Zezwolone
settings.tags.protection.allowed.users=Dozwoleni użytkownicy
settings.tags.protection.allowed.teams=Dozwolone zespoły
settings.tags.protection.allowed.noone=Brak
-settings.tags.protection.create=Chroń tag
+settings.tags.protection.create=Dodaj regułę
settings.tags.protection.none=Brak chronionych tagów.
settings.bot_token=Token bota
settings.chat_id=ID czatu
@@ -1996,7 +2103,7 @@ settings.lfs_findcommits=Znajdź commity
settings.lfs_lfs_file_no_commits=Nie znaleziono commitów dla tego pliku LFS
settings.lfs_noattribute=Ta ścieżka nie ma atrybutu do zablokowania w domyślnej gałęzi
settings.lfs_delete=Usuń plik LFS z OID %s
-settings.lfs_delete_warning=Usunięcie pliku LFS może spowodować błędy typu 'obiekt nie istnieje' przy checkout'cie. Czy chcesz kontynuować?
+settings.lfs_delete_warning=Usunięcie pliku LFS może spowodować błędy typu 'obiekt nie istnieje' przy checkout'cie. Czy jesteś pewien(-na)?
settings.lfs_findpointerfiles=Znajdź pliki wskaźnika
settings.lfs_locks=Blokady
settings.lfs_invalid_locking_path=Nieprawidłowa ścieżka: %s
@@ -2008,7 +2115,7 @@ settings.lfs_locks_no_locks=Brak blokad
settings.lfs_lock_file_no_exist=Zablokowany plik nie istnieje w domyślnej gałęzi
settings.lfs_force_unlock=Wymuś odblokowanie
settings.lfs_pointers.found=Znaleziono %d wskaźników blob - %d powiązanych, %d niepowiązanych (%d brakujących w magazynie danych)
-settings.lfs_pointers.sha=SHA bloba
+settings.lfs_pointers.sha=Hash bloba
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=W repozytorium
settings.lfs_pointers.exists=Istnieje w magazynie
@@ -2024,8 +2131,8 @@ diff.git-notes=Notatki
diff.data_not_available=Informacje nt. zmian nie są dostępne
diff.options_button=Opcje porównania
diff.show_diff_stats=Pokaż statystyki
-diff.download_patch=Ściągnij plik aktualizacji
-diff.download_diff=Ściągnij plik porównania
+diff.download_patch=Pobierz plik łatki
+diff.download_diff=Pobierz plik zmian
diff.show_split_view=Widok podzielony
diff.show_unified_view=Zunifikowany widok
diff.whitespace_button=Znaki białe
@@ -2051,7 +2158,7 @@ diff.comment.add_single_comment=Dodaj jeden komentarz
diff.comment.add_review_comment=Dodaj komentarz
diff.comment.start_review=Rozpocznij recenzję
diff.comment.reply=Odpowiedz
-diff.review=Recenzuj
+diff.review=Zakończ recenzję
diff.review.header=Dodaj recenzję
diff.review.placeholder=Komentarz recenzji
diff.review.comment=Skomentuj
@@ -2070,7 +2177,7 @@ release.draft=Szkic
release.prerelease=Wersja wstępna
release.stable=Stabilna
release.compare=Porównaj
-release.edit=edytuj
+release.edit=Edytuj
release.ahead.commits=%d commitów
release.ahead.target=do %s od tego wydania
release.source_code=Kod źródłowy
@@ -2079,10 +2186,10 @@ release.edit_subheader=Wydania pozwalają na zorganizowanie wersji projektu.
release.tag_name=Nazwa tagu
release.target=Cel
release.tag_helper=Wybierz istniejący tag lub stwórz nowy.
-release.prerelease_desc=Oznacz jako wczesne wydanie
+release.prerelease_desc=Oznacz jako wersja wstępna
release.prerelease_helper=Oznacz to wydanie jako nieprzeznaczone na użytek produkcyjny.
release.cancel=Anuluj
-release.publish=Publikuj wersję
+release.publish=Publikuj wydanie
release.save_draft=Zapisz szkic
release.edit_release=Zaktualizuj wydanie
release.delete_release=Usuń wydanie
@@ -2098,7 +2205,7 @@ release.tag_already_exist=Ta nazwa tag'a już istnieje.
release.downloads=Pliki do pobrania
release.download_count=Pobrania: %s
release.add_tag_msg=Użyj tytułu i zawartości wydania jako wiadomości znacznika.
-release.add_tag=Utwórz tylko znacznik
+release.add_tag=Utwórz tag
branch.name=Nazwa gałęzi
branch.delete_head=Usuń
@@ -2147,7 +2254,7 @@ settings.protect_patterns = Szablony
default_branch_label = domyślnie
issues.author = Autor
commit.operations = Operacje
-commit.revert = Odwróć
+commit.revert = Przywróć
pull.deleted_branch = (usunięto):%s
diff.vendored = dostarczono
from_comment = (komentarz)
@@ -2161,13 +2268,586 @@ pulls.made_using_agit = AGit
activity.navbar.contributors = Współtwórcy
diff.image.swipe = Przesuń
settings.web_hook_name_feishu_only = Feishu
-escape_control_characters = Escape
+escape_control_characters = Zakoduj
stars = Gwiazdki
generated = Wygenerowano
pulls.cmd_instruction_checkout_title = Kontrola
settings.units.overview = Podsumowanie
+rss.must_be_on_branch = Musisz być na gałęzi by mieć dostęp do kanału RSS.
+admin.manage_flags = Zarządzaj flagami
+admin.enabled_flags = Aktywne flagi dla tego repozytorium:
+admin.update_flags = Zaktualizuj flagi
+admin.failed_to_replace_flags = Zmiana flag repozytorium nie powiodła się
+admin.flags_replaced = Flagi repozytorium zmienione
+new_repo_helper = Repozytorium zawiera wszystkie pliki projektu, włączając historię zmian. Hostujesz już jakieś gdzie-indziej? Migruj repozytorium .
+new_from_template = Użyj szablonu
+new_from_template_description = Możesz wybrać istniejący szablon repozytorium na tej instancji i zastosować jego ustawienia.
+new_advanced = Ustawienia zaawansowane
+new_advanced_expand = Kliknij by rozwinąć
+size_format = %[1]s: %[2]s, %[3]s: %[4]s
+visibility_helper = Ustaw repozytorium jako prywatne
+already_forked = Już utworzyłeś(-aś) fork %s
+fork_to_different_account = Utwórz fork do innego konta
+fork_branch = Gałąź która ma zostać sklonowa do forku
+all_branches = Wszystkie gałęzie
+fork_no_valid_owners = Z tego repozytorium nie można utworzyć forku ponieważ nie posiada poprawnych właścicieli.
+open_with_editor = Otwórz przy pomocy %s
+repo_gitignore_helper_desc = Wybierz które pliki nie będą śledzone z listy szablonowych dla powszechnych języków. Typowe artefakty wygenerowane przed każdy z narzędzi języka są dołączone w .gitignore domyślnie.
+object_format = Format obiektów
+object_format_helper = Format obiektów repozytorium. Nie może zostać zmieniony później. SHA1 jest najbardziej kompatybilny.
+auto_init_description = Zainicjuj historię Git z README oraz opcjonalnie dodaj pliki Licencji oraz .gitignore.
+mirror_interval = Interwał kopii lustrzanej (prawidłowe jednostki czasu to "h", "m", "s"). 0 wyłącza okresową synchronizację. (Minimalny interwał: %s)
+mirror_public_key = Publiczny klucz SSH
+mirror_use_ssh.text = Użyj uwierzytelniania SSH
+mirror_use_ssh.helper = Forgejo będzie wykonywać kopię lustrzaną repozytorium przy użyciu Git przez SSH i utworzy parę kluczy dla ciebie kiedy wybierzesz tę opcję. Musisz najpierw upewnić się, że wygenerowany klucz publiczny jest upoważniony do wypychania na repozytorium docelowe. Nie możesz korzystać z autoryzacji opartej na haśle przy wyborze tej opcji.
+mirror_use_ssh.not_available = Uwierzytelnianie SSH nie jest dostępne.
+mirror_denied_combination = Nie można użyć klucza publicznego i uwierzytelniania na podstawie hasła razem.
+mirror_sync_on_commit = Synchronizuj kiedy commity są wypychane
+mirror_address_desc = Wprowadź wymagane dane uwierzytelniające w seksji Autoryzacja.
+mirror_address_url_invalid = Przekazany URL nie jest poprawny. Musisz zakodować wszystkie komponenty URL poprawnie.
+mirror_address_protocol_invalid = Wprowadzony URL jest nieprawidłowy. Tylko lokacje http(s):// lub git:// mogą zostać użyte do kopii lustrzanych.
+mirror_lfs_desc = Aktywuj kopie lustrzane danych LFS.
+stars_remove_warning = Ta operacja usunie wszystkie otrzymane gwiazdy tego repozytorium.
+blame_prior = Zobacz blame przed tą zmianą
+blame.ignore_revs = Pominięto zmiany w .git-blame-ignore-revs . Kliknij tutaj by ominąć i zobaczyć normalny widok blame.
+blame.ignore_revs.failed = Nie udało się pominąć zmian w .git-blame-ignore-revs .
+author_search_tooltip = Pokazuje maksymalnie 30 użytkowników
+summary_card_alt = Karta podsumowania repozytorium %s
+tree_path_not_found_commit = Ścieża %[1]s nie istnieje w commicie %[2]s
+tree_path_not_found_branch = Ścieżka %[1]s nie istnieje w gałęzi %[2]s
+tree_path_not_found_tag = Ścieża %[1]s nie istnieje w tagu %[2]s
+transfer.no_permission_to_accept = Nie masz uprawnień by zaakceptować ten transfer.
+transfer.no_permission_to_reject = Nie masz uprawnień by odrzucić ten transfer.
+template.git_hooks_tooltip = W tym momencie nie można modyfikować ani usuwać hooków Gita które zostały już dodane. Wybierz tę opcję tylko jeżeli ufasz szablonowi repozytorium.
+archive.title_date = To repozytorium zostało zarchiwizone w %s. Możesz podglądać pliki i sklonować je, ale nie możesz wypychać, otwierać zgłoszeń oraz pull requestów.
+form.name_reserved = Nazwa repozytorium "%s" jest zarezerwowana.
+form.name_pattern_not_allowed = Wzór "%s" nie jest dozwolony w nazwie repozytorium.
+form.string_too_long = Podany ciąg znaków jest dłuższy niż %d znaków.
+migrate_options_mirror_helper = To repozytorium będzie kopią lustrzaną
+migrate_options_lfs_endpoint.placeholder = Jeśli pozostawione puste, endpoint będzie uzyskany z URL clone
+migrate.github_token_desc = Możesz wprowadzić tutaj jeden lub więcej tokenów oddzielonych przecinkiem by przeprowadzić migrację szybciej w związku z ograniczeniem GitHub API. OSTRZEŻENIE: Nadużywanie tej funkcjonalności może naruszyć politykę dostawcy usług i doprowadzić do zablokowania konta.
+migrate.invalid_local_path = Ścieżka lokalna jest niepoprawna. Nie istnieje lub nie jest katalogiem.
+migrate.migrating_failed.error = Nie udało się migrować: %s
+migrate.forgejo.description = Migruj dane z codeberg.org lub innych instancji Forgejo.
+migrate.cancel_migrating_title = Anuluj migrację
+migrate.cancel_migrating_confirm = Czy chcesz anulować tę migrację?
+subscribe.issue.guest.tooltip = Zaloguj się by subskrybować to zgłoszenie.
+subscribe.pull.guest.tooltip = Zaloguj się by subskrybować ten pull request.
+more_operations = Więcej operacji
+cite_this_repo = Cytuj to repozytorium
+broken_message = Dane Git powiązane z tym repozytorium nie mogą zostać odczytane. Skontaktuj się z administratorem tej instacji lub usuń to repozytorium.
+project = Projekty
+n_commit_one = %s commit
+n_commit_few = %s commity
+n_branch_one = %s gałąź
+n_branch_few = %s gałęzie
+n_tag_one = %s tag
+n_tag_few = %s tagi
+n_release_one = %s wydanie
+n_release_few = %s wydań
+file_follow = Podążaj za dowiązaniem
+invisible_runes_header = `Ten plik zawiera niewidoczne znaki Unicode`
+invisible_runes_description = `Ten plik zawiera niewidoczne znaki Unicode które są nierozróżnialne dla ludzi, ale mogą być przetwarzane w inny sposób przez komputer. Jeśli uważasz, że to jest zamierzone, możesz bezpiecznie zignorować to ostrzeżenie. Użyj klawisza Escape by je wyświetlić.`
+ambiguous_runes_header = `Ten plik zawiera niejednoznaczne znaki Unicode`
+ambiguous_runes_description = `Ten plik zawiera znaki Unicode które mogą być pomylone z innymi znakami. Jeśli uważasz, że to jest zamierzone, możesz bezpiecznie zignorować to ostrzeżenie. Użyj klawisza Escape by je wyświetlić.`
+invisible_runes_line = `Ta linia zawiera niewidoczne znaki Unicode`
+ambiguous_runes_line = `Ta linia zawiera niejednoznaczne znaki Unicode`
+ambiguous_character = `%[1]c [U+%04[1]X] może być pomylone z %[2]c [U+%04[2]X]`
+unescape_control_characters = Zdekoduj
+view_git_blame = Zobacz git blame
+executable_file = Plik wykonywalny
+vendored = Dołączone
+commit.contained_in = Ten commit jest zawarty w:
+commit.contained_in_default_branch = Ten commit jest częścią gałęzi domyślnej
+commit.load_referencing_branches_and_tags = Wczytaj gałęzie i tagi odnoszące się do tego commitu
+no_eol.text = Brak znaku końca linii
+no_eol.tooltip = Ten plik nie zawiera na końcowego znaku końca linii.
+editor.add_file = Dodaj plik
+editor.file_delete_success = Plik "%s" został usunięty.
+editor.add_tmpl.filename = nazwa pliku
+editor.add = Dodaj %s
+editor.update = Aktualizuj %s
+editor.delete = Usuń %s
+editor.patch = Zastosuj patch
+editor.fail_to_apply_patch = Nie udało się zastosować patcha "%s"
+editor.new_patch = Nowy patch
+editor.signoff_desc = Dodaj dopisek Signed-off-by w imieniu autora commita na końcu wiadomości commita.
+editor.new_branch_name = Nazwij nową gałąź dla tego commita
+editor.filename_is_invalid = Nazwa pliku jest nieprawidłowa: "%s".
+editor.invalid_commit_mail = Nieprawidłowy mail do utworzenia commita.
+editor.branch_does_not_exist = Gałąź "%s" nie istnieje w tym repozytorium.
+editor.branch_already_exists = Gałąź "%s" już istnieje w tym repozytorium.
+editor.directory_is_a_file = Nazwa katalogu "%s" jest już użyta jako nazwa pliku w tym repozytorium.
+editor.file_is_a_symlink = `"%s" jest dowiązaniem symbolicznym. Dowiązania symboliczne nie mogą być edytowane w edytorze przeglądarkowym`
+editor.filename_is_a_directory = Nazwa pliku "%s" jest już użyta jako nazwa katalogu w tym repozytorium.
+editor.file_editing_no_longer_exists = Edytowany plik, "%s", już nie istnieje w tym repozytorium.
+editor.file_deleting_no_longer_exists = Usuwany plik, "%s", już nie istnieje w tym repozytorium.
+editor.file_already_exists = Plik o nazwie "%s" już istnieje w tym repozytorium.
+editor.commit_id_not_matching = Plik został zmieniony podczas twojej edycji. Utwórz commit na nowej gałęzi, a następnie scal.
+editor.push_out_of_date = To wypchnięcie wygląda na nieaktualne.
+editor.fail_to_update_file = Nie udało się zaktualizować/utworzyć pliku "%s".
+editor.push_rejected_no_message = Zmiana została odrzucona przez serwer bez wiadomości. Proszę sprawdź hooki Git.
+editor.push_rejected = Zmiana została odrzucona przez serwer. Proszę sprawdź hooki Git.
+editor.unable_to_upload_files = Nie udało się wgrać plików do "%s", błąd: %v
+editor.upload_file_is_locked = Plik "%s" jest zablokowany przez %s.
+editor.upload_files_to_dir = Wgraj pliki do "%s"
+editor.cannot_commit_to_protected_branch = Nie można dodać commita do gałęzi chronionej "%s".
+editor.cherry_pick = Cherry-pick %s na:
+editor.revert = Przywróć %s na:
+editor.commit_email = Email commitu
+commits.no_commits = Brak wspólnych commitów. "%s" i "%s" mają zupełnie inne historie.
+commits.nothing_to_compare = Te gałęzie są takie same.
+commits.search.tooltip = Możesz rozpocząć słowa kluczowe z "author:", "committer:","after:", lub "before:", np. "revert author:Alice before:2019-01-13".
+commits.search_branch = Ta gałąź
+commits.browse_further = Przeglądaj dalej
+commits.renamed_from = Zmieniono nazwę z %s
+commits.ssh_key_fingerprint = Odcisk klucza SSH
+commits.view_path = Zobacz w tym punkcie w historii
+commit.revert-header = Przywrócenie: %s
+commit.revert-content = Wybierz gałąź na której wykonać przywrócenie:
+commit.cherry-pick = Cherry-pick
+commit.cherry-pick-header = Cherry-pick: %s
+commit.cherry-pick-content = Wybierz gałąź na której wykonać cherry-pick:
+ext_issues = Zewnętrzne zgłoszenia
+projects.desc = Zarządzaj zgłoszeniami i pullami w panelu projektu.
+projects.create_success = Projekt "%s" został utworzony.
+projects.edit_success = Projekt "%s" został zaktualizowany.
+projects.column.edit = Edytuj kolumnę
+projects.column.new_submit = Utwórz kolumnę
+projects.column.new = Nowa kolumna
+projects.column.set_default = Ustaw jako domyślną
+projects.column.set_default_desc = Ustaw tę kolumnę jako domyślną dla niekategoryzowanych zgłoszeń i pullów
+projects.column.delete = Usuń kolumnę
+projects.column.deletion_desc = Usunięcie kolumny projekty przeniesie wszystkie powiązane zgłoszenia do kolumny domyślnej. Kontynuować?
+projects.column.assigned_to = Przypisane do
+projects.card_type.desc = Podgląd karty
+projects.card_type.images_and_text = Obrazy i tekst
+projects.card_type.text_only = Tylko tekst
+issues.new.assign_to_me = Przypisz do mnie
+issues.edit.already_changed = Nie można zapisać zmian zgłoszenia. Wygląda na to, że zawartość została już zmieniona przez innego użytkownika. Proszę odśwież stronę i spróbuj edytować ponownie by uniknąć nadpisania ich zmian
+issues.choose.ignore_invalid_templates = Nieprawidłowe szablony zostały zignorowane
+issues.choose.invalid_templates = %v nieprawidłowy(-e) szablon(y) znaleziony(-e)
+issues.choose.invalid_config = Konfiguracja zgłoszeń zawiera błędy:
+issues.label_templates.fail_to_load_file = Nie udało się załadować pliku szablonu etykiet "%s": %v
+issues.change_ref_at = `zmienił(a) odniesienie z %s na %s %s`
+issues.remove_ref_at = `usunął(-ęła) odniesienie %s %s`
+issues.add_ref_at = `dodał(a) odniesienie %s %s`
+issues.filter_label_select_no_label = Brak etykiety
+issues.filter_milestone_all = Wszystkie kamienie milowe
+issues.filter_milestone_none = Brak kamieni milowych
+issues.filter_milestone_open = Otwarte kamienie milowe
+issues.filter_milestone_closed = Zamknięte kamienie milowe
+issues.filter_project_all = Wszystkie projekty
+issues.filter_poster_no_select = Wszyscy autorzy
+issues.filter_type.review_requested = Poproszono o recenzję
+issues.filter_type.reviewed_by_you = Recenzowane przez ciebie
+issues.filter_sort.relevance = Trafność
+issues.action_check = Zaznacz/Odznacz
+issues.action_check_all = Zaznacz/Odznacz wszystkie elementy
+pulls.merged_by = przez %[3]s został scalony %[1]s
+pulls.merged_by_fake = przez %[2]s został scalony %[1]s
+issues.closed_by = przez %[3]s został zamknięty %[1]s
+issues.opened_by_fake = otworzony %[1]s przez %[2]s
+issues.closed_by_fake = przez %[2]s został zamknięty %[1]s
+issues.all_title = Wszystkie
+issues.num_comments_1 = %d komentarz
+issues.num_reviews_one = %d recenzja
+issues.num_reviews_few = %d recenzje
+issues.reaction.add = Dodaj reakcję
+issues.reaction.alt_few = %[1]s dodał(a) reakcję %[2]s.
+issues.reaction.alt_many = %[1]s i %[2]d więcej dodali reakcję %[3]s.
+issues.reaction.alt_remove = Usuń reakcję %[1]s z komentarza.
+issues.reaction.alt_add = Dodaj reakcję %[1]s do komentarza.
+issues.context.menu = Menu komentarza
+issues.context.reference_issue = Odniesienie w nowym zgłoszeniu
+issues.no_content = Opis zgłoszenia jest pusty.
+issues.close = Zamknij zgłoszenie
+issues.comment_pull_merged_at = scalił commit %[1]s do %[2]s %[3]s
+issues.comment_manually_pull_merged_at = ręcznie scalił commit %[1]s do %[2]s %[3]s
+issues.author.tooltip.issue = Ten użytkownik jest autorem tego zgłoszenia.
+issues.author.tooltip.pr = Ten użytkownik jest autorem tego pull requesta.
+issues.role.owner_helper = Ten użytkownik jest właścicielem tego repozytorium.
+issues.role.member_helper = Ten użytkownik jest członkiem organizacji która jest właścicielem tego repozytorium.
+issues.role.collaborator_helper = Ten użytkownik został zaproszony do współpracy nad tym repozytorium.
+issues.role.first_time_contributor = Kontrybutor pierwszy raz
+issues.role.first_time_contributor_helper = To jest pierwsza kontrybucja tego użytkownika w tym repozytorium.
+issues.role.contributor = Kontrybutor
+issues.role.contributor_helper = Ten użytkownik już wcześniej dodał commity do tego repozytorium.
+issues.is_stale = Zostały wniesione zmiany do tego pull requesta od momentu tej recenzji
+issues.dismiss_review = Odrzuć recenzję
+issues.dismiss_review_warning = Czy jesteś pewien(-na), że chcesz odrzucić tę recenzję?
+issues.label_exclusive = Wykluczająca
+issues.label_archive = Zarchiwizuj etykietę
+issues.label_archived_filter = Pokaż zarchiwizowane etykiety
+issues.label_archive_tooltip = Zarchiwizowane etykiety są wyłączone domyślnie z sugestii kiedy korzysta się szukania po etykietach.
+issues.label_exclusive_desc = Nazwij etykietę scope/item
by wzajemnie wykluczała się z innymi etykietami scope/
.
+issues.label_exclusive_warning = Wszystkie kolidujące etykiety z zakresem będą usunięte podczas edycji etykiet zgłoszenia lub pull requestu.
+issues.archived_label_description = (Zarchiwizowano) %s
+issues.num_participants_one = %d uczestnik
+issues.unpin_issue = Odepnij zgłoszenie
+issues.max_pinned = Nie możesz przypiąć więcej zgłoszeń
+issues.pin_comment = przypiął to %s
+issues.unpin_comment = odpiął to %s
+issues.delete.title = Usunąć to zgłoszenie?
+issues.delete.text = Czy na pewno chcesz usunąć to zgłoszenie? (Ta akcja permanentnie usunie całą treść. Rozważ zamknięcie zgłoszenia, jeśli zamierzasz pozostawić je zarchiwizowane)
+issues.start_tracking_short = Wystartuj zegar
+issues.tracking_already_started = `Już włączyłeś(-aś) śledzenie czasu na innym zgłoszeniu !`
+issues.stop_tracking = Zatrzymaj zegar
+issues.cancel_tracking_history = `anulował(a) śledzenie czasu %s`
+issues.force_push_codes = `wymusił(a) wypchnięcie %[1]s z %[2]s
do %[4]s
%[6]s`
+issues.due_date_modified = zmienił termin realizacji z %[2]s na %[1]s %[3]s
+issues.dependency.issue_no_dependencies = Brak ustawionych zależności.
+issues.dependency.pr_no_dependencies = Brak ustawionych zależności.
+issues.dependency.no_permission_1 = Nie masz uprawnień do odczytu %d zależności
+issues.dependency.no_permission_n = Nie masz uprawnień do odczytu %d zależności
+issues.dependency.no_permission.can_remove = Nie masz uprawnień do odczytu tej zależności, ale możesz usunąć tę zależność
+issues.dependency.pr_closing_blockedby = Zamknięcie tego pull requesta jest zablokowane przez następujące zgłoszenia
+issues.dependency.issue_closing_blockedby = Zamknięcie tego zgłoszenia jest blokowane przez następujące zgłoszenia
+issues.dependency.issue_batch_close_blocked = Nie można zamknąć wybranych zgłoszeń, ponieważ zgłoszenie #%d nadal ma otwarte zależności
+issues.review.dismissed = odrzucił recenzję %s %s
+issues.review.add_review_requests = poprosił o recenzje od %[1]s %[2]s
+issues.review.remove_review_requests = cofnął prośby o recenzje do %[1]s %[2]s
+issues.review.add_remove_review_requests = poprosił o recenzje od %[1]s i cofnął prośby o recenzje od %[2]s %[3]s
+issues.review.pending.tooltip = Ten komentarz bieżąco nie jest widoczny dla pozostałych użytkownik. By dodać twoje oczekujące komentarze, wybierz "%s" -> "%s/%s/%s" na górze strony.
+issues.review.outdated_description = Treść została zmieniona od momentu kiedy ten komentarz został utworzony
+issues.review.option.show_outdated_comments = Pokaż przedawnione komentarze
+issues.review.option.hide_outdated_comments = Ukryj przedawnione komentarze
+issues.content_history.delete_from_history_confirm = Usunąć z historii?
+issues.reference_link = Odniesienie: %s
+issues.blocked_by_user = Nie możesz utworzyć zgłoszeń w tym repozytorium ponieważ jesteś zablokowany(-a) przez właściciela repozytorium.
+issues.comment.blocked_by_user = Nie możesz utworzyć komentarza do tego zgłoszenia ponieważ jesteś zablokowany(-a) przez właściciela repozytorium lub autora zgłoszenia.
+issues.summary_card_alt = Podsumowanie karty zgłoszenia zatytułowanego "%s" w repozytorium %s
+pulls.view = Zobacz pull request
+pulls.edit.already_changed = Nie można zapisać zmian pull requestu. Wygląda na to, że zawartość została już zmieniona przez innego użytkownika. Proszę odśwież stronę i spróbuj edytować ponownie by uniknąć nadpisania ich zmian
+pulls.sign_in_require = Zaloguj się by utworzyć nowy pull request.
+pulls.allow_edits_from_maintainers = Zezwalaj na zmiany przez opiekunów
+pulls.allow_edits_from_maintainers_desc = Użytkownicy z uprawnieniem zapisu do gałęzi głównej mogą również wypychać do tej gałęzi
+pulls.allow_edits_from_maintainers_err = Aktualizowanie nie powiodło się
+pulls.has_viewed_file = Zobaczone
+pulls.has_changed_since_last_review = Zmiany od twojej ostatniej recenzji
+pulls.viewed_files_label = %[1]d / %[2]d plików zobaczonych
+pulls.expand_files = Rozwiń wszystkie pliki
+pulls.collapse_files = Zwiń wszystkie pliki
+pulls.switch_comparison_type = Zmień rodzaj porównania
+pulls.switch_head_and_base = Zmień head i bazę
+pulls.show_all_commits = Pokaż wszystkie commity
+pulls.show_changes_since_your_last_review = Pokaż zmiany od ostatniej twojej recenzji
+pulls.showing_only_single_commit = Pokazywane tylko zmiany commita %[1]s
+pulls.showing_specified_commit_range = Pokazywane tylko zmiany między %[1]s..%[2]s
+pulls.select_commit_hold_shift_for_range = Wybierz commit. Przytrzymaj shift i kliknij by wybrać zakres
+pulls.review_only_possible_for_full_diff = Recenzja jest tylko możliwe przy wyświetlaniu pełnych zmian
+pulls.filter_changes_by_commit = Filtruj commitem
+pulls.nothing_to_compare_have_tag = Wybrana gałąź/tag są takie same.
+pulls.has_pull_request = `Pull request między tymi gałęziami już istnieje: %[2]s#%[3]d `
+pulls.merged_success = Pull request scalony pomyślnie i zamknięty
+pulls.closed = Pull request zamknięty
+pulls.merged_info_text = Gałąź %s może teraz zostać usunięta.
+pulls.cannot_merge_work_in_progress = Ten pull request jest oznaczony jako praca w toku.
+pulls.ready_for_review = Gotów do recenzji?
+pulls.is_ancestor = Ta gałąź jest już częścią gałęzi docelowej. Nie ma nic do scalenia.
+pulls.is_empty = Zmiany na tej gałęzi są już częścią gałęzi docelowej. Commit będzie pusty.
+pulls.blocked_by_approvals = Ten pull request nie ma wystarczająco zatwierdzeń. %d z %d zatwierdzeń udzielonych.
+pulls.blocked_by_rejection = Ten pull request ma prośbę o zmiany od oficjalnego recenzenty.
+pulls.blocked_by_official_review_requests = Ten pull request jest zablokowany ponieważ nie posiada zatwierdzenia od jednego lub więcej oficjalnych recenzentów.
+pulls.blocked_by_outdated_branch = Ten pull request jest zablokowany ponieważ jest przedawniony.
+pulls.blocked_by_changed_protected_files_1 = Ten pull request jest zablokowany ponieważ wprowadza zmiany do chronionego pliku:
+pulls.blocked_by_changed_protected_files_n = Ten pull request jest zablokowany ponieważ wprowadza zmiany do chronionych plików:
+pulls.wrong_commit_id = Identyfikator commitu musi być identyfikatorem commitu na gałęzi docelowej
+pulls.blocked_by_user = Nie możesz utworzyć pull requesta w tym repozytorium ponieważ jesteś zablokowany(-a) przez właściciela repozytorium.
+pulls.merge_pull_request = Utwórz commit scalający
+pulls.rebase_merge_pull_request = Zmiana bazy, potem fast-forward
+pulls.rebase_merge_commit_pull_request = Zmiana bazy, potem utwórz commit scalający
+pulls.squash_merge_pull_request = Utwórz squash commit
+pulls.fast_forward_only_merge_pull_request = Tylko fast-forward
+pulls.merge_commit_id = Identyfikator commita scalającego
+pulls.head_out_of_date = Scalanie nie powiodło się: W trakcie generowanie scalania, head został zaktualizowany. Wskazówka: Spróbuj ponownie.
+pulls.has_merged = Niepowodzenie: Pull request został scalony, nie możesz scalić ponownie lub zmienić gałęzi docelowej.
+pulls.push_rejected = Wypchnięcie nie powiodło się: Wypchnięcie zostało odrzucone. Sprawdź hooki Git dla tego repozytorium.
+pulls.push_rejected_no_message = Wypchnięcie nie powiodło się: Wypchnięcie zostało odrzucone, ale nie otrzymano zdalnej wiadomości. Sprawdź hooki Git dla tego repozytorium.=
+pulls.status_checks_hide_all = Ukryj wszystkie kontrole
+pulls.status_checks_show_all = Pokaż wszystkie kontrole
+pulls.close = Zamknij pull request
+pulls.commit_ref_at = `odniósł się do tego pull requesta z commita %[2]s `
+pulls.cmd_instruction_hint = Zobacz instrukcje wiersza poleceń
+pulls.cmd_instruction_checkout_desc = Ze swojego repozytorium projektu, utwórz nową gałąź i przetestuj zmiany.
+pulls.cmd_instruction_merge_title = Scal
+pulls.cmd_instruction_merge_desc = Scal zmiany i zaktualizuj na Forgejo.
+pulls.cmd_instruction_merge_warning = Ostrzeżenie: Ustawienie "Autodetekcja ręcznego scalenia" nie zostało włączone dla tego repozytorium, będziesz musiał oznaczyć ten pull request jako ręcznie scalony.
+pulls.clear_merge_message = Wyczyść wiadomość scalenia
+pulls.clear_merge_message_hint = Wyczyszczenie wiadomości scalenia usunie tylko treść wiadomości commitu pozostawiając wygenerowane przez git dopiski takie jak "Co-Authored-By ...".
+pulls.reopen_failed.head_branch = Pull request nie może zostać ponownie otworzony, ponieważ head gałęzi już nie istnieje.
+pulls.reopen_failed.base_branch = Pull request nie może zostać ponownie otworzony, ponieważ baza gałęzi już nie istnieje.
+pulls.agit_explanation = Utworzone przy użyciu procesu pracy AGit. AGit pozwala współpracownikom proponować zmiany używając "git push" bez potrzeby tworzenia forku lub nowej gałęzi.
+pulls.auto_merge_button_when_succeed = (Kiedy wszystkie weryfikacje odniosą sukces)
+pulls.auto_merge_when_succeed = Automatycznie scal kiedy wszystkie weryfikacje odniosą sukces
+pulls.auto_merge_newly_scheduled = Pull request został zaplanowany do scalenia kiedy wszystkie weryfikacje odniosą sukces.
+pulls.auto_merge_has_pending_schedule = %[1]s zaplanował by ten pull request został automatycznie scalony kiedy wszystkie weryfikacje odniosą sukces %[2]s.
+pulls.auto_merge_cancel_schedule = Anuluj automatyczne scalenie
+pulls.auto_merge_not_scheduled = Ten pull request nie jest zaplanowany do automatycznego scalenia.
+pulls.auto_merge_canceled_schedule = Automatyczne scalenie było anulowane dla tego pull requestu.
+pulls.auto_merge_newly_scheduled_comment = `zaplanował(a) ten pull request do automatycznego scalenia kiedy wszystkie weryfikacje odniosą sukces %[1]s`
+pulls.auto_merge_canceled_schedule_comment = `anulował(a) automatyczne scalenie tego pull requestu kiedy wszystkie weryfikacje odniosą sukces %[1]s`
+pulls.delete_after_merge.head_branch.is_default = Head gałęzi który chcesz usunąć jest gałęzią domyślną i nie może zostać usunięty.
+pulls.delete_after_merge.head_branch.is_protected = Head gałęzi który chcesz usunąć jest gałęzią chronioną i nie może zostać usunięty.
+pulls.delete_after_merge.head_branch.insufficient_branch = Nie masz uprawnień by usunąć head gałęzi.
+pulls.delete.title = Usunąć ten pull request?
+pulls.delete.text = Czy na pewno chcesz usunąć ten pull request? (Ta akcja permanentnie usunie całą treść. Zamiast tego rozważ jego zamknięcie, jeżeli masz zamiar zostawić go zarchiwizowanego)
+pulls.recently_pushed_new_branches = Wypchnąłeś(-ęłaś) na gałąź %[1]s %[2]s
+comments.edit.already_changed = Nie można zapisać zmian komentarza. Wygląda na to, że zawartość została już zmieniona przez innego użytkownika. Proszę odśwież stronę i spróbuj edytować ponownie by uniknąć nadpisania ich zmian
+milestones.update_ago = Zaktualizowano %s
+milestones.new_subheader = Kamienie milowe mogą pomóc organizować zgłoszenia i śledzić ich postęp.
+milestones.create_success = Kamień milowy "%s" został utworzony.
+milestones.edit_success = Kamień milowy "%s" został zaktualizowany.
+milestones.filter_sort.name = Nazwa
+milestones.filter_sort.earliest_due_data = Najbliższy termin realizacji
+milestones.filter_sort.latest_due_date = Najdalszy termin realizacji
+signing.will_sign = Ten commit zostanie podpisany kluczem "%s".
+signing.wont_sign.error = Wystąpił błąd podczas sprawdzenia czy commit mógł zostać podpisany.
+signing.wont_sign.nokey = Ta instancja nie posiada klucza do podpisania tego commita.
+signing.wont_sign.never = Commity nie są nigdy podpisywane.
+signing.wont_sign.always = Commity są zawsze podpisywane.
+signing.wont_sign.pubkey = Ten commit nie będzie podpisany ponieważ nie posiadasz żadnego klucza publicznego powiązanego z twoim kontem.
+signing.wont_sign.twofa = Musisz mieć włączone uwierzytelnianie dwuskładnikowe by móc podpisywać commity.
+signing.wont_sign.parentsigned = Ten commit nie będzie podpisany ponieważ commit rodzic nie jest podpisany.
+signing.wont_sign.basesigned = To scalenie nie będzie podpisane ponieważ commit bazowy nie jest podpisany.
+signing.wont_sign.headsigned = To scalenie nie będzie podpisane ponieważ head commit nie jest podpisany.
+signing.wont_sign.commitssigned = To scalenie nie będzie podpisane ponieważ wszystkie powiązane commity nie są podpisane.
+signing.wont_sign.approved = To scalenie nie będzie podpisane ponieważ pull request nie został zatwierdzony.
+signing.wont_sign.not_signed_in = Nie jesteś zalogowany(-a).
+ext_wiki = Zewnętrzna Wiki
+wiki.page_title = Tytuł strony
+wiki.page_content = Treść strony
+wiki.delete_page_notice_1 = Usunięcie strony wiki "%s" nie może zostać cofnięte. Kontynuować?
+wiki.reserved_page = Strona wiki o nazwie "%s" jest zarezerwowana.
+wiki.page_name_desc = Wprowadź nazwę dla tej strony Wiki. Niektóre ze specjalnych nazw to: "Home", "_Sidebar" i "_Footer".
+wiki.original_git_entry_tooltip = Zobacz oryginalny plik Git zamiast korzystać z przyjaznych linków.
+wiki.search = Szukaj na wiki
+wiki.no_search_results = Brak wyników
+activity.navbar.pulse = Puls
+activity.navbar.code_frequency = Częstotliwość kodu
+activity.navbar.recent_commits = Ostatnie commity
+activity.title.issues_closed_from = %s zamknięte przez %s
+activity.published_prerelease_label = Wersja Wstępna
+activity.published_tag_label = Tag
+activity.commit = Aktywność commitów
+contributors.contribution_type.filter_label = Rodzaj kontrybucji:
+contributors.contribution_type.additions = Dodania
+contributors.contribution_type.deletions = Usunięcia
+settings.federation_settings = Ustawienia Federacji
+settings.federation_apapiurl = URL federacji tego repozytorium. Skopiuj i wklej do Ustawień Federacji innego repozytorium jako URL Śledzonego Repozytorium.
+settings.federation_following_repos = URLe Podążanych Repozytoriów. Rozdzielone ";", bez znaków białych.
+settings.federation_not_enabled = Federacja nie jest włączona na twojej instancji.
+settings.mirror_settings.docs = Skonfiguruj swoje repozytorium by automatycznie synchronizowało commity, tagi i gałęzie z innym repozytorium.
+settings.mirror_settings.docs.disabled_pull_mirror.instructions = Ustaw swój projekt żeby automatycznie wypychał commity, tagi i gałęzie do innego repozytorium. Kopie lustrzane typu pull zostały wyłączone przez twojego administratora strony.
+settings.mirror_settings.docs.disabled_push_mirror.instructions = Skonfiguruj swój projekt żeby automatycznie pullował commity, tagi i gałęzie z innego repozytorium.
+settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = W tym momencie, ta akcja może zostać wykonana tylko poprzez menu "Nowa Migracja". Po więcej informacji, proszę sprawdź:
+settings.mirror_settings.docs.disabled_push_mirror.info = Wypychające kopie lustrzane zostały wyłączone przez twojego administratora strony.
+settings.mirror_settings.docs.no_new_mirrors = Twoje repozytorium wykonuje kopie lustrzane do lub z innego repozytorium. Proszę miej na uwadze, że nie możesz utworzyć nowych kopii lustrzanych w tym momencie.
+settings.mirror_settings.docs.can_still_use = Mimo, że nie możesz modyfikować istniejących kopii lustrzanych lub utworzyć nowych, nadal możesz korzystać z bieżącej kopii lustrzanej.
+settings.mirror_settings.docs.pull_mirror_instructions = By skonfigurować kopię lustrzaną typu pull, proszę sprawdź:
+settings.mirror_settings.docs.more_information_if_disabled = Możesz dowiedzieć się więcej o wypychających i pobierających kopiach lustrzanych tutaj:
+settings.mirror_settings.docs.doc_link_title = W jaki sposób mogę utworzyć kopie lustrzane repozytoriów?
+settings.mirror_settings.docs.doc_link_pull_section = sekcja "Pulling from a remote repository" w dokumentacji.
+settings.mirror_settings.docs.pulling_remote_title = Pobieranie ze zdalnego repozytorium
+settings.mirror_settings.pushed_repository = Wypchnięte repozytorium
+settings.mirror_settings.push_mirror.add = Dodaj wypychającą kopię lustrzaną
+settings.mirror_settings.push_mirror.edit_sync_time = Edytuj interwał synchronizacji kopii lustrzanej
+settings.mirror_settings.push_mirror.none_ssh = Brak
+settings.units.units = Jednostki
+settings.units.add_more = Włącz więcej
+settings.mirror_settings.push_mirror.copy_public_key = Skopiuj klucz publiczny
+settings.pull_mirror_sync_in_progress = W tym momencie zmiany są pobierane z repozytorium zdalnego %s.
+settings.pull_mirror_sync_quota_exceeded = Limit przekroczony, zmiany niepobrane.
+settings.push_mirror_sync_in_progress = W tym momencie zmiany są wypychane do repozytorium zdalnego %s.
+settings.update_mirror_settings = Aktualizuj ustawienia kopii lustrzanej
+settings.branches.switch_default_branch = Zmień domyślną gałąź
+settings.branches.add_new_rule = Dodaj nową regułę
+settings.wiki_globally_editable = Pozwól każdemu edytować wiki
+settings.tracker_issue_style.regexp = Wyrażenie Regularne
+settings.tracker_issue_style.regexp_pattern = Wzór Wyrażenia Regularnego
+settings.tracker_issue_style.regexp_pattern_desc = Pierwsza odnaleziona grupa będzie użyta zamiast {index}
.
+settings.pulls.enable_autodetect_manual_merge = Włącz automatyczne wykrycie ręcznego scalenia (Uwaga: W niektórych specjalnych przypadkach wykrycie będzie nieprawidłowe)
+settings.pulls.allow_rebase_update = Włącz aktualizowanie gałęzi pull requesta przez zmianę bazy
+settings.default_update_style_desc = Domyślny styl aktualizacji użyty do aktualizowania pull requestów które są w tyle za gałęzią główną.
+settings.pulls.default_delete_branch_after_merge = Usuń domyślnie gałąź pull requesta po scaleniu
+settings.pulls.default_allow_edits_from_maintainers = Pozwól domyślnie na edycje przez opiekunów
+settings.releases_desc = Włącz wydania repozytorium
+settings.packages_desc = Włącz rejestr pakietów repozytorium
+settings.actions_desc = Włącz zintegrowane procesy CI/CD z Forgejo Actions
+settings.admin_code_indexer = Indekser kodu
+settings.admin_stats_indexer = Indekser statystyk kodu
+settings.admin_indexer_commit_sha = Ostatni zaindeksowany commit
+settings.reindex_button = Dodaj do kolejki ponownego indeksowania
+settings.reindex_requested = Ponowne indeksowanie zażądane
+settings.new_owner_blocked_doer = Zostałeś(-aś) zablokowany przez nowego właściciela.
+settings.transfer.button = Przenieś właścicielstwo
+settings.transfer.modal.title = Przenieś właścicielstwo
+settings.transfer_abort_success = Transfer repozytorium do %s pomyślnie anulowany.
+settings.enter_repo_name = Wprowadź właściciela i nazwę repozytorium dokładnie jak pokazane:
+settings.confirmation_string = Ciąg potwierdzający
+settings.transfer_quota_exceeded = Nowy właściciel (%s) przekracza limit. Repozytorium nie zostało przekazane.
+settings.trust_model.committer.desc = Prawidłowe podpisy będą oznaczone jako "zaufane" tylko jeśli pasują do autora commitu, w innym wypadku będą oznaczone jako "niedopasowane". To zmusza Forgejo do bycia autorem commita dla podpisanych commitów, z rzeczywistym autorem commita oznaczonym w dopiskach Co-authored-by: i Co-commited-by: w commicie. Domyślny klucz Forgejo musi pasować do Użytkownika w bazie danych.
+settings.trust_model.collaboratorcommitter = Współpracownik+Commitujący
+settings.trust_model.collaboratorcommitter.long = Współpracownik+Commitujący: Ufaj podpisom współpracownik które pasują do commitującego
+settings.trust_model.collaboratorcommitter.desc = Prawidłowe podpisy współpracowników tego repozytorium będą oznaczone jako "zaufane" tylko jeśli pasują do autora commitu, w innym wypadku będą oznaczone jako "niedopasowane". To zmusza Forgejo do bycia autorem commita dla podpisanych commitów, z rzeczywistym autorem commita oznaczonym w dopiskach Co-authored-by: i Co-commited-by: w commicie. Domyślny klucz Forgejo musi pasować do Użytkownika w bazie danych.
+settings.wiki_rename_branch_main = Normalizuj nazwę gałęzi Wiki
+settings.wiki_rename_branch_main_desc = Zmień gałąź używaną wewnętrznie przez Wiki jako "%s". Ta zmiana jest permanentna i nie może zostać cofnięta.
+settings.wiki_rename_branch_main_notices_1 = Ta operacja NIE MOŻE zostać cofnięta.
+settings.wiki_rename_branch_main_notices_2 = To permanentnie zmieni nazwę wewnętrznej gałęzi wiki dla repozytorium %s. Istniejące checkouty będą musiały zostać zaktualizowane.
+settings.wiki_branch_rename_success = Gałąź wiki dla repozytorium została znormalizowana pomyślnie.
+settings.wiki_branch_rename_failure = Nie udało się znormalizować nazwy gałęzi wiki dla repozytorium.
+settings.confirm_wiki_branch_rename = Zmień gałąź wiki
+settings.update_settings_no_unit = Repozytorium powinno pozwalać na jakąkolwiek interakcję.
+settings.add_collaborator_owner = Nie można dodać właściciela jako współpracownika.
+settings.add_collaborator_blocked_our = Nie można dodać współpracownika, ponieważ właściciel repozytorium go zablokował.
+settings.add_collaborator_blocked_them = Nie można dodać współpracownika, ponieważ zablokował on właściciela repozytorium.
+settings.add_webhook.invalid_path = Ścieżka nie może zawierać części która jest "." lub ".." lub pustym ciągiem znaków. Nie może rozpoczynać się i kończyć ukośnikiem.
+settings.webhook.test_delivery_desc_disabled = By przetestować webhook z przykładowym wydarzeniem, aktywuj go.
+settings.webhook.replay.description = Uruchom ponownie ten webhook.
+settings.webhook.replay.description_disabled = By uruchomić ponownie ten webhook, aktywuj go.
+settings.webhook.delivery.success = Wydarzenie zostało dodane do kolejki doręczeń. Może to zająć kilka sekund zanim pojawi się w historii doręczeń.
+settings.githooks_desc = Hooki Git są częścią samego Git. Możesz edytować pliki hooków poniżej by skonfigurować własne operacje.
+settings.discord_icon_url.exceeds_max_length = URL ikony musi mieć mniej lub równo 2048 znaków
+settings.event_wiki_desc = Strona wiki została utworzona, zmieniono jej nazwę, edytowano lub usunięto.
+settings.event_pull_request_review_request = Prośby o recenzję
+settings.event_pull_request_review_request_desc = Recenzja pull requesta została poproszona lub prośba o recenzję została usunięta.
+settings.event_pull_request_approvals = Zatwierdzenia pull requesta
+settings.event_pull_request_merge = Scalenie pull requesta
+settings.event_pull_request_enforcement = Egzekwowanie
+settings.event_package_desc = Pakiet utworzony lub usunięty w repozytorium.
+settings.branch_filter_desc = Biała lista gałęzi na wydarzenia wypchnięcia, tworzenie gałęzi i usuwanie gałęzi, określone wzorem glob. Jeżeli puste lub *
, raportowane będą wydarzenia wszystkich gałęzi. Sprawdź składnię w dokumentacji %[2]s . Przykłady: master
, {master,release*}
.
+settings.authorization_header = Nagłówek autoryzacji
+settings.authorization_header_desc = Zostanie dołączony jako nagłówek autoryzacji dla żądań kiedy będzie dostępny. Przykłady: %s.
+settings.add_web_hook_desc = Zintegruj %s ze swoim repozytorium.
+settings.graphql_url = URL GraphQL
+settings.web_hook_name_msteams = Microsoft Teams
+settings.web_hook_name_feishu = Feishu / Lark Suite
+settings.web_hook_name_larksuite_only = Lark Suite
+settings.web_hook_name_wechatwork = WeCom (Wechat Work)
+settings.packagist_username = Nazwa użytkownika Packagist
+settings.packagist_api_token = Token API
+settings.packagist_package_url = URL pakietu Packagist
+settings.web_hook_name_sourcehut_builds = Buildy SourceHut
+settings.sourcehut_builds.manifest_path = Ścieżka manifestu budowy
+settings.sourcehut_builds.visibility = Widoczność pracy
+settings.sourcehut_builds.secrets = Sekrety
+settings.sourcehut_builds.secrets_helper = Uprawnij pracę do budowania sekretów (wymaga przyznania SECRETS:RO)
+settings.sourcehut_builds.access_token_helper = Token dostępu który ma uprawnienie JOBS:RW. Wygeneruj token builds.sr.ht lub token builds.sr.ht z dostępem do sekretów na meta.sr.ht.
+settings.add_key_success = Klucz wdrożenia "%s" został dodany.
+settings.protected_branch.save_rule = Zapisz regułę
+settings.protected_branch.delete_rule = Usuń regułę
+settings.protect_new_rule = Dodaj nową regułę ochrony gałęzi
+settings.protect_enable_merge = Włącz scalanie
+settings.protect_enable_merge_desc = Ktokolwiek z uprawnieniem zapisu będzie mógł scalić pull requesta do tej gałęzi.
+settings.protect_status_check_patterns = Wzory weryfikacji stanu
+settings.protect_status_check_patterns_desc = Wprowadź wzory do określenia które weryfikacje muszą przejść zanim gałęzie zostaną scalone do gałęzi która pasuje do reguły. Każda linia określa jeden wzór. Wzory nie mogą być puste.
+settings.protect_invalid_status_check_pattern = Nieprawidłowy wzór weryfikacji stanu: "%s".
+settings.protect_no_valid_status_check_patterns = Brak prawidłowych wzorów weryfikacji stanu.
+settings.ignore_stale_approvals = Ignoruj przestarzałe zatwierdzenia
+settings.ignore_stale_approvals_desc = Nie licz zatwierdzeń które zostały wykonane na starszych commitach (przestarzałe recenzje) do ilości zatwierdzeń które dany pull request posiada. Nie ma znaczenia gdy przestarzałe recenzje są już odrzucone.
+settings.protect_branch_name_pattern = Wzór nazwy gałęzi chronionej
+settings.protect_branch_name_pattern_desc = Wzory nazwy gałęzi chronionej. Zobacz składnię wzorów w dokumentacji . Przykłady: main, release/**
+settings.protect_protected_file_patterns = Chronione wzory plików (oddzielone przy użyciu średnika ";")
+settings.protect_protected_file_patterns_desc = Chronione pliki nie mogą zostać zmienione bezpośrednio nawet jeśli użytkownik ma prawa do dodawania, edytowania, lub usuwania plików w tej gałęzi. Kilka wzorów może być oddzielone przy użyciu średnika (";"). Zobacz składnię wzorów w dokumentacji %[2]s . Przykłady: .drone.yml
, /docs/**/*.txt
.
+settings.protect_unprotected_file_patterns = Niechronione wzory plików (oddzielone przy użyciu średnika ";")
+settings.protect_unprotected_file_patterns_desc = Niechronione pliki które mogą zostać zmienione bezpośrednio jeśli użytkownik jest uprawniony do zapisu, pomijając ograniczenie wypchnięć. Kilka wzorów może być oddzielone przy użyciu średnika (";"). Zobacz składnię wzorów w dokumentacji %[2]s . Przykłady: .drone.yml
, /docs/**/*.txt
.
+settings.update_protect_branch_success = Ochrona gałęzi dla reguły "%s" została zaktualizowana.
+settings.remove_protected_branch_success = Ochrona gałęzi dla reguły "%s" została usunięta.
+settings.remove_protected_branch_failed = Usunięcie reguły ochrony gałęzi "%s" nie powiodło się.
+settings.block_on_official_review_requests = Blokuj scalanie przy oficjalnych prośbach o recenzje
+settings.enforce_on_admins = Wymuś tę regułę dla administratorów repozytorium
+settings.enforce_on_admins_desc = Administratorzy repozytorium nie mogą ominąć tej reguły.
+settings.merge_style_desc = Style scalania
+settings.protected_branch_required_rule_name = Wymagana nazwa reguły
+settings.protected_branch_duplicate_rule_name = Już istnieje reguła dla tego zbioru gałęzi
+settings.tags.protection.pattern.description = Możesz użyć pojedynczej nazwy, wzór glob lub wyrażenia regularnego by określić kilka tagów. Przeczytaj więcej w przewodniku chronionych tagów .
+settings.thread_id = ID wątku
+settings.archive.text = Zarchiwizowanie tego repo sprawi, że będzie ono w całości tylko do odczytu. Będzie ukryte z pulpitu. Nikt (nawet ty!) nie będzie mógł utworzyć nowych commitów, lub otworzyć jakichkolwiek zgłoszeń lub pull requestów.
+settings.archive.mirrors_unavailable = Kopie lustrzane nie są dostępne dla zarchiwizowanych repozytoriów.
+settings.unarchive.button = Odarchiwizuj repo
+settings.unarchive.header = Odarchiwizuj to repo
+settings.unarchive.text = Odarchiwizowanie repo przywróci możliwość otrzymywania commitów i wypchnięć, jak i również nowych zgłoszeń i pull requestów.
+settings.unarchive.success = Repo zostało odarchiwizowane pomyślnie.
+settings.unarchive.error = Wystąpił błąd podczas próby odarchiwizowania repo. Zobacz więcej szczegółów w logach.
+settings.rename_branch_failed_protected = Nie można zmienić nazwy gałęzi %s ponieważ jest ona gałęzią chronioną.
+settings.rename_branch_failed_exist = Nie można zmienić nazwy gałęzi ponieważ gałąź docelowa %s już istnieje.
+settings.rename_branch_failed_not_exist = Nie można zmienić nazwy gałęzi %s ponieważ taka gałąź nie istnieje.
+settings.rename_branch_success = Zmiana nazwy gałęzi z %s na %s zakończona pomyślnie.
+settings.rename_branch = Zmień nazwę gałęzi
+diff.git-notes.add = Dodaj notatkę
+diff.git-notes.remove-header = Usuń notatkę
+diff.git-notes.remove-body = Ta notatka zostanie usunięta.
+diff.file_suppressed_line_too_long = Diff pliku wstrzymany ponieważ jedna lub więcej linii jest za długa
+diff.too_many_files = Niektóre pliki nie są pokazane ponieważ zbyt wiele plików zostało zmienionych w tym diffie
+diff.show_more = Pokaż więcej
+diff.load = Wczytaj diff
+diff.comment.add_line_comment = Dodaj komentarz do linii
+diff.review.self_reject = Autorzy pull requestów nie mogą poprosić o zmiany na ich własnym pull requeście
+diff.review.self_approve = Autorzy pull requestów nie mogą zatwierdzić ich własnych pull requestów
+diff.image.side_by_side = Obok siebie
+diff.has_escaped = Ta linia ma ukryte znaki Unicode
+diff.show_file_tree = Pokaż drzewo plików
+diff.hide_file_tree = Ukryj drzewo plików
+release.tag_helper_new = Nowy tag. Ten tag będzie utworzony z wydania docelowego.
+release.tag_helper_existing = Istniejący tag.
+release.title = Tytuł wydania
+release.title_empty = Tytuł nie może być pusty.
+release.message = Opisz to wydanie
+release.deletion_desc = Usunięcie wydania tylko usuwa je z Forgejo. Nie wpłynie ono na tag Git, zawartości twojego repozytorium lub jego historii. Kontynuować?
+release.download_count_one = %s pobranie
+release.download_count_few = %s pobrania
+release.hide_archive_links = Ukryj automatycznie wygenerowane archiwa
+release.hide_archive_links_helper = Ukryj automatycznie wygenerowane archiwa kodu źródłowego dla tego wydania. Dla przykładu, jeśli wgrywasz swoje własne.
+release.releases_for = Wydania dla %s
+release.tags_for = Tagi dla %s
+release.system_generated = Ten załącznik jest automatycznie wygenerowany.
+release.type_attachment = Załącznik
+release.type_external_asset = Zewnętrzny zasób
+release.asset_name = Nazwa zasobu
+release.asset_external_url = Zewnętrzny URL
+release.add_external_asset = Dodaj zewnętrzny zasób
+release.invalid_external_url = Nieprawidłowy zewnętrzny URL: "%s"
+release.summary_card_alt = Karta podsumowania wydania zatytułowanego "%s" w repozytorium %s
+branch.already_exists = Gałąź o nazwie "%s" już istnieje.
+branch.delete = Usuń gałąź "%s"
+branch.delete_desc = Usunięcie gałęzi jest permanentne. Mimo, że usunięta gałąź może istnieć przez krótki czas zanim zostanie rzeczywiście usunięta, ta operacja NIE MOŻE zostać cofnięta w większości przypadków. Kontynuować?
+branch.deletion_success = Gałąź "%s" została usunięta.
+branch.deletion_failed = Nie udało się usunąć gałęzi "%s".
+branch.delete_branch_has_new_commits = Gałąź "%s" nie może zostać usunięta ponieważ nowe commity zostały dodane po scaleniu.
+branch.create_from = z "%s"
+branch.create_success = Gałąź "%s" została utworzona.
+branch.branch_already_exists = Gałąź "%s" już istnieje w repozytorium.
+branch.branch_name_conflict = Nazwa gałęzi "%s" koliduje z już istniejącą gałęzią "%s".
+branch.tag_collision = Gałąź "%s" nie może zostać utworzona, ponieważ tag z tą samą nazwą już istnieje w tym repozytorium.
+branch.restore_success = Gałąź "%s" została przywrócona.
+branch.restore_failed = Nie udało się przywrócić gałęzi "%s".
+branch.protected_deletion_failed = Gałąź "%s" jest chroniona. Nie może zostać usunięta.
+branch.default_deletion_failed = Gałąź "%s" jest domyślną gałęzią. Nie może zostać usunięta.
+branch.restore = Przywróć gałąź "%s"
+branch.download = Pobierz gałąź "%s"
+branch.rename = Zmień nazwę gałęzi "%s"
+branch.warning_rename_default_branch = Zmieniasz nazwę domyślnej gałęzi.
+branch.rename_branch_to = Zmień nazwę gałęzi "%s" na:
+branch.new_branch_from = Utwórz nową gałąź z "%s"
+branch.renamed = Nazwa gałęzi %s została zmieniona na %s.
+tag.create_tag_operation = Utwórz tag
+tag.confirm_create_tag = Utwórz tag
+tag.create_tag_from = Utwórz nowy tag z "%s"
+tag.create_success = Tag "%s" został utworzony.
+topic.format_prompt = Tematy muszą zaczynać się od litery lub liczby, mogą zawierać myślniki ("-") i kropki ("."), mogą być długie do 35 znaków. Litery muszą być małe.
+find_file.go_to_file = Szukaj pliku
+find_file.no_matching = Nie znaleziono pasujących plików
+error.broken_git_hook = Hooki Git tego repozytorium zdają się być zepsute. Proszę sprawdź jak je naprawić w dokumentacji , a następnie wypchnij parę commitów by odświeżyć stan.
+
[graphs]
+component_loading = Wczytywanie %s...
+component_loading_failed = Nie można wczytać %s
+component_loading_info = To może trochę zająć…
+component_failed_to_load = Wydarzył się niespodziewany błąd.
+code_frequency.what = częstotliwość kodu
+contributors.what = kontrybucje
+recent_commits.what = ostatnie commity
[org]
org_name_holder=Nazwa organizacji
@@ -2222,21 +2902,21 @@ settings.labels_desc=Dodaj etykiety, które mogą być używane w zgłoszeniach
members.membership_visibility=Widoczność członkostwa:
members.public=Widoczny
-members.public_helper=ukryj
+members.public_helper=Ukryj
members.private=Ukryty
-members.private_helper=pokaż
-members.member_role=Rola:
+members.private_helper=Pokaż
+members.member_role=Rola członka:
members.owner=Właściciel
members.member=Członek
members.remove=Usuń
members.leave=Opuść
-members.leave.detail=Opuścić %s?
+members.leave.detail=Czy jesteś pewien(-na), że chcesz opuścić organizację "%s"?
members.invite_desc=Dodaj nowego członka do %s:
members.invite_now=Zaproś teraz
teams.join=Dołącz
teams.leave=Opuść
-teams.leave.detail=Opuścić %s?
+teams.leave.detail=Czy jesteś pewien(-na), że chcesz opuścić zespół "%s"?
teams.can_create_org_repo=Tworzenie repozytoriów
teams.can_create_org_repo_helper=Członkowie mogą tworzyć nowe repozytoria w organizacji. Twórca otrzyma uprawnienia administracyjne do nowego repozytorium.
teams.read_access=Przeczytane
@@ -2256,7 +2936,7 @@ teams.delete_team_desc=Usunięcie zespołu wycofa dostęp do repozytorium jego c
teams.delete_team_success=Zespół został usunięty.
teams.read_permission_desc=Ten zespół udziela dostępu z odczytem : członkowie mogą wyświetlać i klonować repozytoria zespołu.
teams.write_permission_desc=Ten zespół udziela dostępu z zapisem : członkowie mogą wyświetlać i wypychać zmiany do repozytoriów zespołu.
-teams.admin_permission_desc=Ten zespół udziela dostępu administratora : członkowie mogą wyświetlać i wypychać zmiany oraz dodawać współpracowników do repozytoriów zespołu.
+teams.admin_permission_desc=Ten zespół udziela dostępu Administratora : członkowie mogą wyświetlać i wypychać zmiany oraz dodawać współpracowników do repozytoriów zespołu.
teams.create_repo_permission_desc=Dodatkowo, ten zespół otrzyma uprawnienie Tworzenie repozytoriów : jego członkowie mogą tworzyć nowe repozytoria w organizacji.
teams.repositories=Repozytoria zespołu
teams.search_repo_placeholder=Szukaj repozytorium…
@@ -2277,6 +2957,25 @@ teams.all_repositories_admin_permission_desc=Ten zespół nadaje uprawnienia %s w organizacji %s .
+teams.invite.by = Zaproszony(-a) przez %s
+teams.invite.description = Proszę kliknij przycisk poniżej by dołączyć do zespołu.
+
[admin]
dashboard=Pulpit
users=Konta użytkownika
@@ -2328,8 +3027,8 @@ dashboard.resync_all_hooks=Ponownie synchronizuj hooki pre-receive, update i pos
dashboard.reinit_missing_repos=Ponownie zainicjalizuj wszystkie brakujące repozytoria Git, dla których istnieją rekordy
dashboard.sync_external_users=Synchronizuj zewnętrzne dane użytkownika
dashboard.cleanup_hook_task_table=Oczyść tabelę hook_task
-dashboard.server_uptime=Uptime serwera
-dashboard.current_goroutine=Bieżące Goroutines
+dashboard.server_uptime=Czas pracy serwera
+dashboard.current_goroutine=Bieżące goroutines
dashboard.current_memory_usage=Bieżące użycie pamięci
dashboard.total_memory_allocated=Całkowita przydzielona pamięć
dashboard.memory_obtained=Pamięć uzyskana
@@ -2361,7 +3060,7 @@ dashboard.delete_old_actions=Usuń wszystkie stare akcje z bazy danych
dashboard.delete_old_actions.started=Usuwanie wszystkich starych akcji z bazy danych rozpoczęte.
users.user_manage_panel=Zarządzanie kontami użytkowników
-users.new_account=Nowy użytkownik
+users.new_account=Utwórz konto użytkownika
users.name=Nazwa użytkownika
users.full_name=Imię i nazwisko
users.activated=Aktywny
@@ -2371,7 +3070,7 @@ users.2fa=2FA
users.repos=Repozytoria
users.created=Utworzony
users.last_login=Ostatnie logowanie
-users.never_login=Nigdy nie zalogował(-a) się
+users.never_login=Nigdy nie zalogował(a) się
users.send_register_notify=Wyślij użytkownikowi powiadomienie o rejestracji
users.edit=Edytuj
users.auth_source=Źródło uwierzytelniania
@@ -2382,12 +3081,12 @@ users.update_profile_success=Konto użytkownika zostało zaktualizowane.
users.edit_account=Edytuj konto użytkownika
users.max_repo_creation=Maksymalna ilość repozytoriów
users.max_repo_creation_desc=(Wpisz -1, aby użyć domyślnego globalnego limitu.)
-users.is_activated=Konto użytkownika jest aktywne
-users.prohibit_login=Wyłącz logowanie
-users.is_admin=Jest administratorem
-users.is_restricted=Jest ograniczone
+users.is_activated=Aktywne konto
+users.prohibit_login=Zawieszone konto
+users.is_admin=Konto administratora
+users.is_restricted=Ograniczone konto
users.allow_git_hook=Może tworzyć hooki Gita
-users.allow_git_hook_tooltip=Git Hook'i są wykonywane jako użytkownik systemu operacyjnego obsługujący Forgejo i będą miały taki sam poziom dostępu jak host. W rezultacie użytkownicy z tym specjalnym przywilejem Git Hook mogą uzyskać dostęp i modyfikować wszystkie repozytoria Forgejo oraz bazę danych używaną przez Forgejo. W związku z tym są oni również w stanie zdobyć uprawnienia administratora Forgejo.
+users.allow_git_hook_tooltip=Hooki Git są wykonywane jako użytkownik systemu operacyjnego obsługujący Forgejo i będą miały taki sam poziom dostępu jak host. W rezultacie użytkownicy z tym specjalnym przywilejem Git hook mogą uzyskać dostęp i modyfikować wszystkie repozytoria Forgejo oraz bazę danych używaną przez Forgejo. W związku z tym są oni również w stanie zdobyć uprawnienia administratora Forgejo.
users.allow_import_local=Może importować lokalne repozytoria
users.allow_create_organization=Może tworzyć organizacje
users.update_profile=Zaktualizuj konto użytkownika
@@ -2412,7 +3111,7 @@ emails.not_updated=Nie udało się zaktualizować żądanego adresu e-mail: %v
emails.duplicate_active=Ten e-mail jest już aktywny dla innego użytkownika.
emails.change_email_header=Aktualizuj właściwości adresu e-mail
-orgs.org_manage_panel=Zarządzanie organizacją
+orgs.org_manage_panel=Zarządzanie organizacjami
orgs.name=Nazwa
orgs.teams=Zespoły
orgs.members=Członkowie
@@ -2436,11 +3135,11 @@ packages.type=Typ
packages.repository=Repozytorium
packages.size=Rozmiar
-defaulthooks=Domyślne Webhooki
+defaulthooks=Domyślne webhooki
defaulthooks.add_webhook=Dodaj domyślny Webhook
defaulthooks.update_webhook=Zaktualizuj domyślny Webhook
-systemhooks=Webhooki Systemowe
+systemhooks=Webhooki systemowe
systemhooks.add_webhook=Dodaj Webhook Systemowy
systemhooks.update_webhook=Aktualizuj Webhook Systemowy
@@ -2465,7 +3164,7 @@ auths.attribute_username=Atrybut nazwy użytkownika
auths.attribute_username_placeholder=Pozostaw puste, aby użyć nazwy użytkownika wprowadzonej w Forgejo.
auths.attribute_name=Atrybut imienia
auths.attribute_surname=Atrybut nazwiska
-auths.attribute_mail=Atrybut adresu e-mail
+auths.attribute_mail=Atrybut adresu email
auths.attribute_ssh_public_key=Atrybut publicznego klucza SSH
auths.attributes_in_bind=Pobierz atrybuty w kontekście Bind DN
auths.allow_deactivate_all=Zezwól na pusty wynik wyszukiwania, aby zdezaktywować wszystkich użytkowników
@@ -2474,7 +3173,7 @@ auths.search_page_size=Rozmiar strony
auths.filter=Filtr użytkownika
auths.admin_filter=Filtr administratora
auths.restricted_filter=Filtr ograniczenia
-auths.restricted_filter_helper=Pozostaw puste, aby nie ustawiać żadnych użytkowników jako ograniczonych. Użyj gwiazdki ('*'), aby ustawić wszystkich użytkowników, którzy nie pasują do Filtra Administratora jako ograniczonych.
+auths.restricted_filter_helper=Pozostaw puste, aby nie ustawiać żadnych użytkowników jako ograniczonych. Użyj gwiazdki ('*'), aby ustawić wszystkich użytkowników, którzy nie pasują do filtra Administratora jako ograniczonych.
auths.ms_ad_sa=Atrybuty wyszukiwania MS AD
auths.smtp_auth=Typ uwierzytelnienia SMTP
auths.smtphost=Serwer SMTP
@@ -2484,7 +3183,7 @@ auths.allowed_domains_helper=Pozostaw puste, aby zezwolić na wszystkie domeny.
auths.skip_tls_verify=Pomiń weryfikację protokołu TLS
auths.disable_helo=Wyłącz HELO
auths.pam_service_name=Nazwa usługi PAM
-auths.pam_email_domain=Domena e-mail PAM (opcjonalna)
+auths.pam_email_domain=Domena email PAM (opcjonalna)
auths.oauth2_provider=Dostawca OAuth2
auths.oauth2_icon_url=Adres URL Ikony
auths.oauth2_clientID=ID klienta (klucz)
@@ -2534,9 +3233,9 @@ auths.deletion_success=Źródło uwierzytelniania zostało usunięte.
auths.login_source_of_type_exist=Źródło uwierzytelniania tego typu już istnieje.
config.server_config=Konfiguracja serwera
-config.app_name=Tytuł strony
+config.app_name=Tytuł instancji
config.app_ver=Wersja Forgejo
-config.app_url=Podstawowy adres URL Forgejo
+config.app_url=Podstawowy adres URL
config.custom_conf=Ścieżka do pliku konfiguracyjnego
config.custom_file_root_path=Ścieżka główna plików niestandardowych
config.offline_mode=Tryb lokalny
@@ -2584,16 +3283,16 @@ config.enable_openid_signup=Włącz samodzielną rejestrację za pomocą OpenID
config.enable_openid_signin=Włącz logowanie za pomocą OpenID
config.show_registration_button=Pokazuj przycisk rejestracji
config.require_sign_in_view=Wymagaj zalogowania w celu wyświetlania stron
-config.mail_notify=Włącz powiadomienia e-mail
+config.mail_notify=Włącz powiadomienia email
config.enable_captcha=Włącz CAPTCHA
config.active_code_lives=Ważność kodów aktywacyjnych
config.reset_password_code_lives=Czas wygaśnięcia kodu przywracania konta
-config.default_keep_email_private=Domyślne ukrywanie adresów e-mail
+config.default_keep_email_private=Domyślne ukrywanie adresów email
config.default_allow_create_organization=Domyślnie zezwalaj na tworzenie organizacji
config.enable_timetracking=Włącz śledzenie czasu
config.default_enable_timetracking=Domyślnie włącz śledzenie czasu
config.default_allow_only_contributors_to_track_time=Zezwalaj wyłącznie współpracownikom na śledzenie czasu
-config.no_reply_address=Ukryta domena e-mail
+config.no_reply_address=Ukryta domena email
config.default_visibility_organization=Domyślna widoczność dla nowych organizacji
config.default_enable_dependencies=Domyślne włączanie zależności zgłoszeń
@@ -2634,19 +3333,19 @@ config.cookie_life_time=Czas ważności ciasteczka
config.picture_config=Konfiguracja obrazu i awataru
config.picture_service=Usługa obrazów
config.disable_gravatar=Wyłącz Gravatar
-config.enable_federated_avatar=Włącz sfederowane awatary
+config.enable_federated_avatar=Włącz federowane awatary
config.git_config=Konfiguracja Git
-config.git_disable_diff_highlight=Wyłączyć wyróżnianie składni diff
-config.git_max_diff_lines=Maksymalna liczba linii diff (dla pojedynczego pliku)
-config.git_max_diff_line_characters=Maksymalna liczba znaków diff (dla pojedynczego pliku)
-config.git_max_diff_files=Maksymalna liczba plików diff (które zostaną wyświetlone)
+config.git_disable_diff_highlight=Wyłącz wyróżnianie składni diff
+config.git_max_diff_lines=Maksymalna liczba linii diff na plik
+config.git_max_diff_line_characters=Maksymalna liczba znaków diff na linię
+config.git_max_diff_files=Maksymalna liczba plików diff
config.git_gc_args=Argumenty GC
config.git_migrate_timeout=Limit czasu migracji
config.git_mirror_timeout=Limit czasu aktualizacji kopii lustrzanej
config.git_clone_timeout=Limit czasu operacji klonowania
config.git_pull_timeout=Limit czasu dla operacji pull
-config.git_gc_timeout=Limit czasu usuwania śmieci
+config.git_gc_timeout=Limit czasu operacji GC
config.log_config=Konfiguracja dziennika
config.disabled_logger=Wyłączone
@@ -2675,8 +3374,8 @@ monitor.queue.name=Nazwa
monitor.queue.type=Typ
monitor.queue.exemplar=Przykładowy typ
monitor.queue.numberworkers=Liczba procesów pracujących
-monitor.queue.maxnumberworkers=Maksymalna liczba procesów pracujących
-monitor.queue.settings.title=Ustawienia Puli
+monitor.queue.maxnumberworkers=Maksymalna Liczba procesów pracujących
+monitor.queue.settings.title=Ustawienia puli
monitor.queue.settings.maxnumberworkers=Maksymalna liczba procesów pracujących
monitor.queue.settings.maxnumberworkers.placeholder=Obecnie %[1]d
monitor.queue.settings.maxnumberworkers.error=Maksymalna liczba procesów pracujących musi być liczbą
@@ -2684,7 +3383,7 @@ monitor.queue.settings.submit=Aktualizuj ustawienia
monitor.queue.settings.changed=Zaktualizowano ustawienia
notices.system_notice_list=Powiadomienia systemu
-notices.view_detail_header=Pokaż szczegóły powiadomienia
+notices.view_detail_header=Szczegóły powiadomienia
notices.select_all=Wybierz wszystkie
notices.deselect_all=Odznacz wszystkie
notices.inverse_selection=Odwróć wybór
@@ -2715,6 +3414,56 @@ config_summary = Podsumowanie
config_settings = Ustawienia
+identity_access = Tożsamość i dostęp
+assets = Zasoby kodu
+settings = Ustawienia administratora
+dashboard.new_version_hint = Forgejo %s jest już dostępne, w tej chwili korzystasz z %s. Sprawdź szczegóły na blogu .
+dashboard.task.cancelled = Zadanie: %[1]s anulowane: %[3]s
+dashboard.cron.cancelled = Cron: %[1]s anulowany: %[3]s
+dashboard.sync_repo_branches = Synchronizuj pominięte gałęzie z danych Git do bazy danych
+dashboard.sync_repo_tags = Synchronizuj tagi z danych Git do bazy danych
+dashboard.cleanup_packages = Wyczyść przedawnione pakiety
+dashboard.cleanup_actions = Wyczyść przedawnione logi i artefakty z akcji
+dashboard.delete_old_system_notices = Usuń wszystkie stare powiadomienia systemowe z bazy danych
+dashboard.gc_lfs = Wywołaj GC na metaobiektach LFS
+dashboard.stop_zombie_tasks = Zatrzymaj zadania zombi akcji
+dashboard.stop_endless_tasks = Zatrzymaj niekończące się zadania akcji
+dashboard.cancel_abandoned_jobs = Anuluj porzucone prace akcji
+dashboard.sync_branch.started = Synchronizacja gałęzi rozpoczęta
+dashboard.sync_tag.started = Synchronizacja tagu rozpoczęta
+dashboard.rebuild_issue_indexer = Przebuduj indekser zgłoszeń
+users.reserved = Zarezerwowane
+users.new_success = Konto użytkownika "%s" zostało utworzone.
+users.activated.description = Zakończenie weryfikacji email. Właściciel nieaktywowanego konta nie będzie mógł się zalogować dopóki weryfikacja email nie została zakończona.
+users.block.description = Zablokuj użytkownikowi możliwości interakcji z tym serwisem przez jego konto i zabroń logowania się.
+users.admin.description = Nadaj temu użytkownikowi pełen dostęp do wszystkich funkcji administracyjnych dostępnych przez interfejs przeglądarkowy lub API.
+users.restricted.description = Zezwól tylko na interakcje z repozytoriami i organizacjami do których ten użytkownik został dodany jako współpracownik. To uniemożliwia dostęp do publicznych repozytoriów na tej instancji.
+users.local_import.description = Zezwól na importowanie repozytoriów z lokalnego systemu plików serwera. To może być problemem zabezpieczeń.
+users.organization_creation.description = Zezwól na tworzenie nowych organizacji.
+users.cannot_delete_self = Nie możesz usunąć sam(a) siebie
+users.purge = Pozbądź się użytkownika
+users.purge_help = Wymusza usunięcie użytkownika razem z jakimikolwiek repozytoriami, organizacjami, oraz pakietami których ten użytkownik jest właścicielem. Wszystkie komentarze i zgłoszenia przez tego użytkownika również zostaną usunięte.
+users.still_own_packages = Ten użytkownik nadal jest właścicielem jednego lub więcej pakietów, usuń najpierw te pakiety.
+users.list_status_filter.not_admin = Nie administrator
+users.list_status_filter.not_restricted = Nie ograniczony
+users.list_status_filter.is_prohibit_login = Zabroń logowania
+users.list_status_filter.not_prohibit_login = Zezwól na logowanie
+users.list_status_filter.is_2fa_enabled = 2FA włączone
+users.list_status_filter.not_2fa_enabled = 2FA wyłączone
+users.details = Szczegóły użytkownika
+emails.change_email_text = Czy jesteś pewien(-na), że chcesz zaktualizować ten adres email?
+emails.delete = Usuń Email
+emails.delete_desc = Czy jesteś pewien(-na), że chcesz usunąć ten adres email?
+emails.deletion_success = Adres email został usunięty.
+emails.delete_primary_email_error = Nie możesz usunąć głównego adresu email.
+repos.lfs_size = Wielkość LFS
+packages.package_manage_panel = Zarządzaj pakietami
+packages.total_size = Wielkość całkowita: %s
+packages.unreferenced_size = Nieodniesiona wielkość: %s
+packages.cleanup = Wyczyść przedawnione dane
+packages.cleanup.success = Pomyślnie wyczyszczono przedawnione dane
+defaulthooks.desc = Webhooki automatycznie wykonują żądania HTTP POST do serwera kiedy pewne wydarzenia Forgejo zostają wywołane. Webhooki zdefiniowane tutaj są domyślne i będą kopiowane do wszystkich nowych repozytoriów. Przeczytaj więcej w przewoniku webhooków .
+
[action]
create_repo=tworzy repozytorium %s
rename_repo=zmienia nazwę repozytorium %[1]s
na %[3]s
@@ -2771,8 +3520,8 @@ error.extract_sign=Nie udało się wyłuskać podpisu
error.generate_hash=Nie udało się wygenerować skrótu dla commitu
error.no_committer_account=Brak konta powiązanego z adresem e-mail autora
error.no_gpg_keys_found=Nie znaleziono w bazie danych klucza dla tego podpisu
-error.not_signed_commit=Commit nie podpisany
-error.failed_retrieval_gpg_keys=Nie udało się odzyskać żadnego klucza powiązanego z kontem autora
+error.not_signed_commit=Commit niepodpisany
+error.failed_retrieval_gpg_keys=Nie udało się uzyskać żadnego klucza powiązanego z kontem autora
error.probable_bad_signature=OSTRZEŻENIE! Pomimo istnienia klucza z takim ID w bazie, nie weryfikuje on tego commita! Ten commit jest PODEJRZANY.
error.probable_bad_default_signature=OSTRZEŻENIE! Pomimo, że domyślny klucz posiada to ID, nie weryfikuje on tego commita! Ten commit jest PODEJRZANY.
@@ -2814,9 +3563,24 @@ container.labels.value = Wartość
npm.dependencies = Zależności
rpm.repository.architectures = Architektury
+owner.settings.chef.keypair.description = Para kluczy jest konieczna do uwierzytelnienia do rejestru Chef. Jeżeli wygenerowałeś(-aś) parę kluczy wcześniej, generowanie nowej pary kluczy porzuci starą parę kluczy.
+
[secrets]
secrets = Sekrety
+description = Sekrety będą przekazane pewnym akcjom, nie mogą być odczytane inaczej.
+none = Nie ma jeszcze sekretów.
+creation = Dodaj Sekret
+creation.name_placeholder = wielkość liter nie ma znaczenia, tylko znaki alfanumeryczne i znak podkreślenia, nie może zaczynać się od GITEA_ lub GITHUB_
+creation.value_placeholder = Wprowadź dowolną treść. Białe znaki na początku i końcu będą pominięte.
+creation.success = Secret "%s" został dodany.
+creation.failed = Dodanie sekretu nie powiodło się.
+deletion = Usuń sekret
+deletion.description = Usunięcie sekretu jest permanentne i nie może zostać cofnięte. Kontynuować?
+deletion.success = Sekret został usunięty.
+deletion.failed = Nie udało się usunąć sekretu.
+management = Zarządzaj sekretami
+
[actions]
runners.name=Nazwa
runners.owner_type=Typ
@@ -2850,7 +3614,53 @@ status.blocked = Zablokowano
+actions = Akcje
+runners = Runnery
+runners.runner_manage_panel = Zarządzaj runnerami
+runners.new = Utwórz nowy runner
+runners.new_notice = Jak uruchomić runner
+runners.last_online = Ostatni czas online
+runners.runner_title = Runner
+runners.task_list = Ostatnie zadania w tym runnerze
+runners.task_list.no_tasks = Nie ma jeszcze zadań.
+runners.edit_runner = Edytuj Runnera
+runners.update_runner = Aktualizuj zmiany
+runners.update_runner_success = Runner zaktualizowany pomyślnie
+runners.update_runner_failed = Nie udało się zaktualizować runnera
+runners.delete_runner = Usuń ten runner
+runners.delete_runner_success = Runner usunięty pomyślnie
+runners.delete_runner_failed = Nie udało się usunąć runnera
+runners.delete_runner_header = Potwierdź usunięcie tego runnera
+runners.delete_runner_notice = Jeżeli zadanie nadal jest wykonywane przez ten runner, zostanie ono zakończone i oznaczone jako niepowodzenie. Może to przerwać proces pracy.
+runners.none = Brak dostępnych runnerów
+runners.reset_registration_token = Resetuj token rejestracji
+runners.reset_registration_token_success = Rejestracja tokenu resetu runnera pomyślna
+runs.no_matching_online_runner_helper = Brak pasujących runnerów online z etykietą: %s
+runs.no_results = Brak pasujących wyników.
+runs.no_workflows.help_write_access = Nie wiesz jak zacząć z Forgejo Actions? Sprawdź szybki start w dokumentacji użytkownika i napisz swój pierwszy proces pracy, a następnie skonfiguruj runnera Forgejo by wykonywał twoje zadania.
+runs.no_workflows.help_no_write_access = By dowiedzieć się o Forgejo Actions, zobacz dokumentację .
+runs.empty_commit_message = (pusta wiadomość commita)
+runs.expire_log_message = Logi zostały oczyszczone ponieważ były za stare.
+variables.management = Zarządzaj zmiennymi
+variables.creation = Dodaj zmienną
+variables.none = Nie ma jeszcze zmiennych.
+variables.deletion = Usuń zmienną
+variables.deletion.description = Usunięcie zmiennej jest permanentne i nie może zostać cofnięte. Kontynuować?
+variables.description = Zmienne będą przekazane pewnym akcjom, nie mogą być odczytane inaczej.
+variables.id_not_exist = Zmienna o ID %d nie istnieje.
+variables.edit = Edytuj Zmienną
+variables.deletion.failed = Nie udało się usunąć zmiennej.
+variables.deletion.success = Zmienna została usunięta.
+variables.creation.failed = Nie udało się dodać zmiennej.
+variables.creation.success = Zmienna "%s" została dodana.
+variables.update.failed = Nie udało się zmienić zmiennej.
+variables.update.success = Zmienna została zmieniona.
+
[projects]
+deleted.display_name = Projekt usunięty
+type-1.display_name = Projekt osobisty
+type-2.display_name = Projekt repozytorium
+type-3.display_name = Projekt organizacji
[git.filemode]
symbolic_link=Dowiązanie symboliczne
@@ -2860,6 +3670,9 @@ directory = Katalog
+changed_filemode = %[1]s → %[2]s
+normal_file = Zwykły plik
+
[search]
search = Wyszukaj...
type_tooltip = Typ wyszukiwania
@@ -2885,8 +3698,36 @@ milestone_kind = Wyszukaj kamienie milowe...
union_tooltip = Uwzględnij wyniki pasujące do dowolnego słowa kluczowego oddzielonego spacjami
exact = Dokładnie
exact_tooltip = Uwzględniaj tylko wyniki pasujące do wyszukiwanego hasła
-issue_kind = Wyszukaj problemy...
+issue_kind = Wyszukaj zgłoszenia...
pull_kind = Wyszukaj pull requesty...
union = Unia
regexp = RegExp
regexp_tooltip = Interpretuj wyszukiwane hasło jako wyrażenie regularne
+
+[repo.permissions]
+code.read = Odczyt: Dostęp i klonowanie kodu repozytorium.
+code.write = Zapis: Wypychanie do repozytorium, tworzenie gałęzi i tagów.
+issues.read = Odczyt: Odczyt i tworzenie zgłoszeń i komentarzy.
+issues.write = Zapis: Zamykanie zgłoszeń i zarządzanie metadanymi takimi jak etykiety, kamienie milowe, osoby przypisane, terminy i zależności.
+pulls.read = Odczyt: Czytanie i tworzenie pull requestów.
+pulls.write = Zapis: Zamykanie pull requestów i zarządzanie metadanymi takimi jak etykiety, kamienie milowe, osoby przypisane, terminy i zależności.
+releases.read = Odczyt: Czytanie i pobieranie wydań.
+releases.write = Zapis: Publikowanie, edycja i usuwanie wydań oraz ich zasobów.
+wiki.read = Odczyt: Czytanie zintegrowanej wiki oraz jej historii.
+wiki.write = Zapis: Tworzenie, edycja i usuwanie stron ze zintegrowanej wiki.
+projects.read = Odczyt: Dostęp do plansz projektu repozytorium.
+projects.write = Zapis: Tworzenie projektów i kolumn oraz ich edycja.
+packages.read = Odczyt: Podgląd i pobieranie pakietów przypisanych do repozytorium.
+packages.write = Zapis: Publikowanie i usuwanie pakietów przypisanych do repozytorium.
+actions.read = Odczyt: Podgląd zintegrowanych procesów CI/CD i ich logów.
+actions.write = Zapis: Ręczne wywołanie, restart, anulowanie lub zatwierdzenie oczekujących procesów CI/CD.
+ext_issues = Dostęp do linku kierującego do zewnętrznego dziennika zgłoszeń. Uprawnienia są zarządzane zewnętrznie.
+ext_wiki = Dostęp do linku kierującego do zewnętrznej wiki. Uprawnienia są zarządzane zewnętrznie.
+
+[markup]
+filepreview.line = Linia %[1]d w %[2]s
+filepreview.lines = Linie %[1]d do %[2]d w %[3]s
+filepreview.truncated = Podgląd został przycięty
+
+[translation_meta]
+test = Litwo, Ojczyzno moja! ty jesteś jak zdrowie; ile cię trzeba cenić, ten tylko się dowie, kto cię stracił. Dziś piękność twą w całej ozdobie widzę i opisuję, bo tęsknię po tobie.
diff --git a/options/locale/locale_pt-BR.ini b/options/locale/locale_pt-BR.ini
index 2a6aea6b60..78a871f0d0 100644
--- a/options/locale/locale_pt-BR.ini
+++ b/options/locale/locale_pt-BR.ini
@@ -682,6 +682,8 @@ Description = Descrição
unset_password = O usuário de login não definiu a senha.
+email_domain_is_not_allowed = O domínio do endereço de email da conta %s está em conflito com EMAIL_DOMAIN_ALLOWLIST ou EMAIL_DOMAIN_BLOCKLIST. Certifique-se de que você colocou o endereço de email correto.
+
[user]
change_avatar=Altere seu avatar...
joined_on=Inscreveu-se em %s
@@ -748,7 +750,7 @@ webauthn=Chaves de segurança
public_profile=Perfil público
biography_placeholder=Conte um pouco sobre você! (Markdown é suportado)
location_placeholder=Compartilhe sua localização aproximada com outras pessoas
-profile_desc=Controle como o seu perfil é exibido para outros usuários. Seu endereço de e-mail principal será usado para notificações, recuperação de senha e operações do Git baseadas na Web.
+profile_desc=Sobre você
password_username_disabled=Usuários não-locais não podem alterar seus nomes de usuário. Por favor contate o administrador do site para mais informações.
full_name=Nome completo
website=Site
@@ -813,7 +815,7 @@ manage_emails=Gerenciar endereços de e-mail
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.
+theme_desc=Este tema será usado para a interface web quando você fizer login.
primary=Principal
activated=Ativado
requires_activation=Requer ativação
@@ -839,7 +841,7 @@ add_email_success=O novo endereço de e-mail foi adicionado.
email_preference_set_success=Preferência de e-mail definida com sucesso.
add_openid_success=O novo endereço de OpenID foi adicionado.
keep_email_private=Ocultar endereço de e-mail
-keep_email_private_popup=Isso ocultará seu endereço de e-mail do seu perfil. Ele não será mais o padrão para commits feitos pela interface web, como envios de arquivos e modificações, e não será usado para commits de merge. Em vez disso, um endereço especial %s pode ser usado para associar commits com a sua conta. Note que modificar esta opção não irá afetar commits já existentes.
+keep_email_private_popup=Seu endereço de email não será exibido no seu perfil e não será o padrão para commits feitos pela interface web, como envios de arquivos, modificações e commits de merge. Em vez disso, um endereço especial %s pode ser usado para associar commits com a sua conta. Esta opção não irá afetar commits já existentes.
openid_desc=OpenID permite delegar autenticação para um provedor externo.
manage_ssh_keys=Gerenciar chaves SSH
@@ -1055,6 +1057,9 @@ update_hints_success = As dicas foram atualizadas.
keep_activity_private.description = A sua atividade pública estará visível apenas para si e para os administradores do servidor.
language.localization_project = Ajude-nos a traduzir Forgejo para o seu idioma! Mais informações .
language.description = Essa língua será salva em sua conta e será usada como padrão após você iniciar a sessão.
+user_block_yourself = Você não pode se bloquear.
+
+pronouns_custom_label = Pronomes personalizados
[repo]
owner=Proprietário
@@ -1094,11 +1099,11 @@ issue_labels=Etiquetas
issue_labels_helper=Selecione um conjunto de etiquetas
license=Licença
license_helper=Selecione um arquivo de licença
-license_helper_desc=Uma licença define o que os outros podem e não podem fazer com o seu código. Não tem certeza qual é a mais adequada para o seu projeto? Veja Escolher uma licença.
+license_helper_desc=Uma licença define o que os outros podem e não podem fazer com o seu código. Não tem certeza qual é a mais adequada para o seu projeto? Veja Escolher uma licença .
readme=LEIA-ME
readme_helper=Selecione um modelo de arquivo README
readme_helper_desc=Aqui você pode escrever uma descrição completa para o seu projeto.
-auto_init=Inicializar o repositório (Adiciona arquivos .gitignore, licença e README)
+auto_init=Inicializar repositório
trust_model_helper=Selecione o modelo de confiança para verificação de assinatura. As opções possíveis são:
trust_model_helper_collaborator=Colaborador: Confiar em assinaturas de colaboradores
trust_model_helper_committer=Committer: Confiar em assinaturas que correspondem aos committers
@@ -1217,7 +1222,7 @@ migrate.migrating_failed_no_addr=A migração falhou.
migrate.github.description=Migre dados do servidor github.com ou GitHub Enterprise.
migrate.git.description=Migrar um repositório somente de qualquer serviço Git.
migrate.gitlab.description=Migrar dados de gitlab.com ou de outras instâncias do GitLab.
-migrate.gitea.description=Migrar dados de gitea.com ou de outras instâncias do Gitea/Forgejo.
+migrate.gitea.description=Migrar dados de gitea.com ou de outras instâncias do Gitea.
migrate.gogs.description=Migrar dados de notabug.org ou de outras instâncias do Gogs.
migrate.onedev.description=Migrar dados de code.onedev.io ou de outras instâncias do OneDev.
migrate.codebase.description=Migrar dados de codebasehq.com.
@@ -1305,6 +1310,7 @@ view_git_blame=Ver git blame
video_not_supported_in_browser=Seu navegador não tem suporte para a tag "video" do HTML5.
audio_not_supported_in_browser=Seu navegador não tem suporte para a tag "audio" do HTML5.
stored_lfs=Armazenado com Git LFS
+stored_annex=Armazenado com Git Annex
symbolic_link=Link simbólico
executable_file=Arquivo executável
commit_graph=Gráfico de commits
@@ -1328,6 +1334,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
@@ -2440,8 +2447,8 @@ settings.archive.header=Arquivar este repositório
settings.archive.success=O repositório foi arquivado com sucesso.
settings.archive.error=Um erro ocorreu enquanto estava sendo arquivado o repositório. Veja o log para mais detalhes.
settings.archive.error_ismirror=Você não pode arquivar um repositório espelhado.
-settings.archive.branchsettings_unavailable=Configurações do branch não estão disponíveis quando o repositório está arquivado.
-settings.archive.tagsettings_unavailable=As configurações de tag não estão disponíveis se o repositório estiver arquivado.
+settings.archive.branchsettings_unavailable=Configurações de branch não estão disponíveis em repositórios arquivados.
+settings.archive.tagsettings_unavailable=Configurações de tag não estão disponíveis em repositórios arquivados.
settings.update_avatar_success=O avatar do repositório foi atualizado.
settings.lfs=LFS
settings.lfs_filelist=Arquivos LFS armazenados neste repositório
@@ -2617,7 +2624,7 @@ tag.create_tag_from=`Criar nova tag a partir de "%s"`
tag.create_success=Tag "%s" criada.
-topic.manage_topics=Gerenciar Tópicos
+topic.manage_topics=Gerenciar tópicos
topic.done=Feito
topic.count_prompt=Você não pode selecionar mais de 25 tópicos
@@ -2641,7 +2648,7 @@ settings.unarchive.success = O repositório foi desarquivado.
settings.unarchive.button = Desarquivar repositório
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? Migrar repositório
+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? Migrar repositório .
blame.ignore_revs.failed = Falha ao ignorar as revisões em .git-blame-ignore-revs .
migrate.forgejo.description = Migrar dados do codeberg.org ou outras servidores Forgejo.
commits.browse_further = Ver mais
@@ -2726,7 +2733,7 @@ comments.edit.already_changed = Falha ao salvar as alterações ao comentário.
activity.navbar.code_frequency = Frequência de código
settings.protect_status_check_matched = Correspondente
branch.tag_collision = O ramo "%s" não pode ser criado porque já existe uma etiqueta com o mesmo nome no repositório.
-settings.archive.mirrors_unavailable = As réplicas ficarão indisponíveis se o repositório estiver arquivado.
+settings.archive.mirrors_unavailable = Réplicas não estão disponíveis em repositórios arquivados.
release.download_count_one = %s download
settings.mirror_settings.docs.no_new_mirrors = O seu repositório está replicando alterações de ou para outro repositório. Observe que não é possível criar novas réplicas no momento.
settings.mirror_settings.docs.pull_mirror_instructions = Para configurar uma réplica de outro repositório, consulte:
@@ -2847,6 +2854,24 @@ diff.git-notes.remove-body = Esta anotação será removida.
issues.num_reviews_one = %d revisão
issues.summary_card_alt = Cartão de resumo de um issue com o título "%s" no repositório %s
issues.num_reviews_few = %d revisões
+settings.default_update_style_desc = Estilo padrão de atualização usado para atualizar pull requests que estão atrasados em relação ao branch base.
+pulls.sign_in_require = Entre para criar um novo pull request.
+new_from_template = Use um modelo
+new_from_template_description = Você pode selecionar um modelo de repositório nesta instância e aplicar suas configurações.
+new_advanced = Configurações avançadas
+new_advanced_expand = Clique para expandir
+auto_init_description = Inicializar o histórico do Git com um README e opcionalmente adicionar arquivos License e .gitignore.
+
+summary_card_alt = Cartão de resumo do repositório %s
+issues.reaction.add = Adicionar reação
+issues.reaction.alt_few = %[1]s reagiu com %[2]s.
+issues.reaction.alt_many = %[1]s e mais %[2]d reagiram com %[3]s.
+issues.reaction.alt_remove = Remover reação %[1]s deste comentário.
+issues.reaction.alt_add = Adicionar reação %[1]s ao comentário.
+issues.context.menu = Menu de comentário
+release.summary_card_alt = Cartão de resumo de um release intitulado "%s" no repositório %s
+
+editor.commit_email = Email de commit
[graphs]
component_loading = Carregando %s...
@@ -3675,18 +3700,18 @@ chef.install=Para instalar o pacote, execute o seguinte comando:
composer.registry=Configure este registro em seu arquivo ~/.composer/config.json
:
composer.install=Para instalar o pacote usando o Composer, execute o seguinte comando:
composer.dependencies=Dependências
-composer.dependencies.development=Dependências de Desenvolvimento
+composer.dependencies.development=Dependências de desenvolvimento
conan.details.repository=Repositório
conan.registry=Configure este registro pela linha de comando:
conan.install=Para instalar o pacote usando o Conan, execute o seguinte comando:
conda.registry=Configure este registro como um repositório Conda no arquivo .condarc
:
conda.install=Para instalar o pacote usando o Conda, execute o seguinte comando:
-container.details.type=Tipo de Imagem
+container.details.type=Tipo de imagem
container.details.platform=Plataforma
container.pull=Puxe a imagem pela linha de comando:
container.digest=Digest
container.multi_arch=S.O. / Arquitetura
-container.layers=Camadas da Imagem
+container.layers=Camadas da imagem
container.labels=Rótulos
container.labels.key=Chave
container.labels.value=Valor
@@ -3714,9 +3739,9 @@ npm.registry=Configure este registro no arquivo .npmrc
do seu proje
npm.install=Para instalar o pacote usando o npm, execute o seguinte comando:
npm.install2=ou adicione-o ao arquivo package.json:
npm.dependencies=Dependências
-npm.dependencies.development=Dependências de Desenvolvimento
-npm.dependencies.peer=Dependências Peer
-npm.dependencies.optional=Dependências Opcionais
+npm.dependencies.development=Dependências de desenvolvimento
+npm.dependencies.peer=Dependências peer
+npm.dependencies.optional=Dependências opcionais
npm.details.tag=Tag
pub.install=Para instalar o pacote usando Dart, execute o seguinte comando:
pypi.requires=Requer Python
@@ -3729,8 +3754,8 @@ rpm.repository = Informações do repositório
rpm.repository.architectures = Arquiteturas
rubygems.install=Para instalar o pacote usando gem, execute o seguinte comando:
rubygems.install2=ou adicione-o ao Gemfile:
-rubygems.dependencies.runtime=Dependências de Execução
-rubygems.dependencies.development=Dependências de Desenvolvimento
+rubygems.dependencies.runtime=Dependências de tempo de execução
+rubygems.dependencies.development=Dependências de desenvolvimento
rubygems.required.ruby=Requer o Ruby versão
rubygems.required.rubygems=Requer o RubyGem versão
swift.registry=Configure este registro pela linha de comando:
@@ -3777,11 +3802,11 @@ owner.settings.cleanuprules.success.delete=Regra de limpeza foi excluída.
owner.settings.chef.title=Registro Chef
owner.settings.chef.keypair=Gerar par de chaves
rpm.repository.multiple_groups = Este pacote está disponível em vários grupos.
-npm.dependencies.bundle = Dependências empacotadas
+npm.dependencies.bundle = Dependências em bundle
registry.documentation = Para mais informações sobre o registro %s, veja a documentação .
arch.version.replaces = Substitui
arch.version.conflicts = Conflitos
-arch.version.properties = Propriedades de Versão
+arch.version.properties = Propriedades da versão
arch.version.description = Descrição
arch.version.groups = Grupo
arch.version.provides = Fornece
diff --git a/options/locale/locale_pt-PT.ini b/options/locale/locale_pt-PT.ini
index 5e07cfb43e..994f9677da 100644
--- a/options/locale/locale_pt-PT.ini
+++ b/options/locale/locale_pt-PT.ini
@@ -142,7 +142,7 @@ confirm_delete_selected=Confirma a exclusão de todos os itens marcados?
name=Nome
value=Valor
-filter.is_fork = Derivações
+filter.is_fork = Derivado
filter.is_mirror = Réplicas
filter.is_template = Modelos
filter.public = Público
@@ -156,7 +156,7 @@ filter.clear = Retirar filtros
filter.is_archived = Arquivado
filter.not_template = Não modelos
toggle_menu = Comutar menu
-filter = Filtro
+filter = Filtrar
copy_generic = Copiar para a área de transferência
test = Teste
error413 = Você esgotou a sua quota.
@@ -166,6 +166,7 @@ new_org.title = Nova organização
new_repo.link = Novo repositório
new_migrate.link = Nova migração
new_org.link = Nova organização
+copy_path = Copiar caminho
[aria]
navbar=Barra de navegação
@@ -212,7 +213,7 @@ string.desc=Z - A
[error]
occurred=Ocorreu um erro
-report_message=Se acredita de que se trata de um erro do Forgejo, procure, por favor, questões relacionadas no GitHub ou abra uma nova questão, se necessário.
+report_message=Se acredita de que se trata de um erro do Forgejo, procure, por favor, questões relacionadas no Codeberg ou abra uma nova questão, se necessário.
missing_csrf=Pedido inválido: não há código CSRF
invalid_csrf=Pedido inválido: código CSRF inválido
not_found=Não foi possível encontrar o destino.
@@ -681,6 +682,8 @@ FullName = Nome completo
Description = Descrição
Pronouns = Pronomes
+email_domain_is_not_allowed = O domínio do endereço de email %s do utilizador entra em conflito com EMAIL_DOMAIN_ALLOWLIST ou EMAIL_DOMAIN_BLOCKLIST. Certifique-se de que definiu corretamente o endereço de email.
+
[user]
change_avatar=Mude o seu avatar…
joined_on=Inscreveu-se em %s
@@ -747,7 +750,7 @@ webauthn=Autenticação em dois passos (chaves de segurança)
public_profile=Perfil público
biography_placeholder=Diga aos outros um pouco sobre si! (Markdown é suportado)
location_placeholder=Partilhe a sua localização aproximada com outros
-profile_desc=Controle como o seu perfil é apresentado aos outros utilizadores. O seu endereço de email principal será usado para notificações, recuperação de senha e operações Git baseadas na web.
+profile_desc=Sobre si
password_username_disabled=Utilizadores não-locais não podem mudar os seus nomes de utilizador. Entre em contacto com o administrador do sítio saber para mais detalhes.
full_name=Nome completo
website=Sítio web
@@ -812,7 +815,7 @@ manage_emails=Gerir endereços de email
manage_themes=Tema padrão
manage_openid=Endereços OpenID
email_desc=O seu endereço de email principal irá ser usado para notificações, recuperação de senha e, desde que não esteja oculto, operações Git baseados na web.
-theme_desc=Este será o seu tema padrão em todo o sítio.
+theme_desc=Este tema será usado para a interface web quando tiver sessão iniciada.
primary=Principal
activated=Em uso
requires_activation=Tem que ser habilitado
@@ -838,7 +841,7 @@ add_email_success=O novo endereço de email foi adicionado.
email_preference_set_success=As preferências relativas ao email foram definidas com sucesso.
add_openid_success=O novo endereço OpenID foi adicionado.
keep_email_private=Ocultar endereço de email
-keep_email_private_popup=Isto irá ocultar o seu endereço de email no seu perfil. Não será mais o predefinido nos cometimentos feitos através da interface web, tais como carregamentos de ficheiros e edições, e não será usado para cometimentos de integração. Ao invés disso, um endereço especial %s poderá ser usado para associar cometimentos à sua conta. Note que mudar esta opção não irá alterar os cometimentos existentes.
+keep_email_private_popup=O seu endereço de e-mail não será mostrado no seu perfil e não será o predefinido para cometimentos feitos através da interface web, tais como upload de arquivos, edições e cometimentos de integração. Ao invés disso, um endereço especial %s poderá ser usado para vincular cometimentos à sua conta. Esta opção não irá alterar os cometimentos existentes.
openid_desc=O OpenID permite delegar a autenticação num fornecedor externo.
manage_ssh_keys=Gerir chaves SSH
@@ -1055,6 +1058,8 @@ keep_activity_private.description = O seu trabalho público ape
language.description = Este idioma vai ser guardado na sua conta e ser usado como o predefinido depois de iniciar sessão.
language.localization_project = Ajude-nos a traduzir o Forgejo para o seu idioma! Saiba mais .
+pronouns_custom_label = Pronomes personalizados
+
[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? Migre o repositório .
owner=Proprietário(a)
@@ -1096,13 +1101,13 @@ issue_labels=Rótulos
issue_labels_helper=Escolha um conjunto de rótulos
license=Licença
license_helper=Escolha um ficheiro de licença
-license_helper_desc=Uma licença rege o que os outros podem, ou não, fazer com o seu código fonte. Não tem a certeza sobre qual a mais indicada para o seu trabalho? Veja: Escolher uma licença.
+license_helper_desc=Uma licença rege o que os outros podem, ou não, fazer com o seu código fonte. Não tem a certeza sobre qual a mais indicada para o seu trabalho? Veja: Escolher uma licença .
object_format=Formato dos elementos
object_format_helper=Formato dos elementos do repositório. Não poderá ser alterado mais tarde. SHA1 é o mais compatível.
readme=README
readme_helper=Escolha um modelo de ficheiro README
readme_helper_desc=Este é o sítio onde pode escrever uma descrição completa do seu trabalho.
-auto_init=Inicializar repositório (adiciona `.gitignore`, `LICENSE` e `README.md`)
+auto_init=Inicializar repositório
trust_model_helper=Escolha o modelo de confiança para a validação das assinaturas. As opções são:
trust_model_helper_collaborator=Colaborador: Confiar nas assinaturas dos colaboradores
trust_model_helper_committer=Autor do cometimento: Confiar nas assinaturas que correspondem a autores de cometimentos
@@ -1228,7 +1233,7 @@ migrate.migrating_failed_no_addr=A migração falhou.
migrate.github.description=Migrar dados do github.com ou do GitHub Enterprise server.
migrate.git.description=Migrar um repositório somente de qualquer serviço Git.
migrate.gitlab.description=Migrar dados de gitlab.com ou de outras instâncias do GitLab.
-migrate.gitea.description=Migrar dados de gitea.com ou de outras instâncias do Gitea/Forgejo.
+migrate.gitea.description=Migrar dados de gitea.com ou de outras instâncias do Gitea.
migrate.gogs.description=Migrar dados de notabug.org ou de outras instâncias do Gogs.
migrate.onedev.description=Migrar dados de code.onedev.io ou de outras instâncias do OneDev.
migrate.codebase.description=Migrar dados de codebasehq.com.
@@ -1316,6 +1321,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
@@ -1341,6 +1347,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
@@ -2514,9 +2521,9 @@ settings.archive.text=Arquivar o repositório irá torná-lo apenas de leitura.
settings.archive.success=O repositório foi arquivado com sucesso.
settings.archive.error=Ocorreu um erro enquanto decorria o processo de arquivo do repositório. Veja os registo para obter mais detalhes.
settings.archive.error_ismirror=Não pode arquivar um repositório que tenha sido replicado.
-settings.archive.branchsettings_unavailable=As configurações dos ramos não estão disponíveis quando o repositório está arquivado.
-settings.archive.tagsettings_unavailable=As configurações sobre etiquetas não estão disponíveis quando o repositório está arquivado.
-settings.archive.mirrors_unavailable=As réplicas não estão disponíveis se o repositório estiver arquivado.
+settings.archive.branchsettings_unavailable=As configurações dos ramos não estão disponíveis em repositórios arquivados.
+settings.archive.tagsettings_unavailable=As configurações sobre etiquetas não estão disponíveis em repositórios arquivados.
+settings.archive.mirrors_unavailable=As réplicas não estão disponíveis em repositórios arquivados.
settings.unarchive.button=Desarquivar repositório
settings.unarchive.header=Desarquivar este repositório
settings.unarchive.text=Desarquivar o repositório irá restaurar a capacidade de receber cometimentos e envios, assim como novas questões e pedidos de integração.
@@ -2828,7 +2835,7 @@ mirror_use_ssh.text = Utilizar a autenticação SSH
mirror_denied_combination = Não é possível usar a autenticação baseada em chave pública e senha em combinação.
settings.mirror_settings.push_mirror.copy_public_key = Copiar chave pública
settings.mirror_settings.push_mirror.none_ssh = Nenhuma
-settings.protect_new_rule = Criar uma nova regra de salvaguarda do ramo
+settings.protect_new_rule = Criar uma nova regra de proteção de ramo
mirror_use_ssh.helper = O Forgejo irá replicar o repositório via Git sobre SSH e criar um par de chaves para si quando escolher esta opção. Tem que se certificar que a chave pública gerada está autorizada a enviar para o repositório de destino. Não pode usar a autorização baseada numa senha quando escolher isto.
mirror_use_ssh.not_available = A autenticação por SSH não está disponível.
issues.new.assign_to_me = Atribuir a mim
@@ -2844,9 +2851,28 @@ issues.review.add_remove_review_requests = pedidos de revisão de %[1]s e pedido
pulls.delete_after_merge.head_branch.is_default = O ramo de topo que pretende eliminar é o ramo predefinido e não pode ser eliminado.
pulls.delete_after_merge.head_branch.is_protected = O ramo de topo que pretende eliminar é um ramo protegido e não pode ser eliminado.
pulls.delete_after_merge.head_branch.insufficient_branch = Não tem permissão para eliminar o ramo de topo.
-issues.summary_card_alt = Sumário de uma questão com o título "%s" no repositório %s
+issues.summary_card_alt = Cartão de resumo de uma questão com o título "%s" no repositório %s
issues.num_reviews_one = %d revisão
issues.num_reviews_few = %d revisões
+editor.add_tmpl.filename = nome do ficheiro
+
+new_from_template = Utilize um template
+new_from_template_description = Pode selecionar um modelo de repositório existente nesta instância e aplicar as suas definições.
+new_advanced = Configurações avançadas
+new_advanced_expand = Clique para expandir
+auto_init_description = Iniciar o histórico do Git com um README e, opcionalmente, adicione os ficheiros License e .gitignore.
+summary_card_alt = Cartão de resumo do repositório %s
+issues.reaction.add = Adicionar reação
+issues.reaction.alt_few = %[1]s reagiu com %[2]s.
+issues.reaction.alt_many = %[1]s e mais %[2]d reagiram com %[3]s.
+issues.reaction.alt_remove = Remover reação %[1]s deste comentário.
+issues.reaction.alt_add = Adicionar reação %[1]s ao comentário.
+issues.context.menu = Menu de comentário
+pulls.sign_in_require = Inicie sessão para criar um novo pedido de integração.
+settings.default_update_style_desc = Estilo de atualização predefinido utilizado para atualizar pedidos de integração que estão atrasados em relação ao ramo base.
+release.summary_card_alt = Cartão de resumo de um lançamento com o título "%s" no repositório %s
+
+editor.commit_email = Endereço de email do cometimento
[graphs]
component_loading=A carregar %s...
@@ -3167,8 +3193,8 @@ orgs.members=Membros
orgs.new_orga=Nova organização
repos.repo_manage_panel=Gerir repositórios
-repos.unadopted=Repositórios não adoptados
-repos.unadopted.no_more=Não foram encontrados mais repositórios não adoptados
+repos.unadopted=Repositórios não adotados
+repos.unadopted.no_more=Não foram encontrados repositórios não adotados.
repos.owner=Proprietário(a)
repos.name=Nome
repos.private=Privado
@@ -3275,9 +3301,9 @@ auths.oauth2_required_claim_name_helper=Defina este nome para restringir o iníc
auths.oauth2_required_claim_value=Valor de reivindicação obrigatório
auths.oauth2_required_claim_value_helper=Defina este valor para restringir o início de sessão desta fonte a utilizadores que tenham uma reivindicação com este nome e este valor
auths.oauth2_group_claim_name=Reivindicar nome que fornece nomes de grupo para esta fonte. (Opcional)
-auths.oauth2_admin_group=Valor da reivindicação de grupo para utilizadores administradores (opcional — exige a reivindicação de nome acima).
-auths.oauth2_restricted_group=Valor da reivindicação de grupo para utilizadores restritos (opcional — exige a reivindicação de nome acima).
-auths.oauth2_map_group_to_team=Mapear grupos reclamados em equipas da organização (opcional — requer nome de reclamação acima).
+auths.oauth2_admin_group=Valor da reivindicação de grupo para utilizadores administradores. (Opcional — exige a reivindicação de nome acima)
+auths.oauth2_restricted_group=Valor da reivindicação de grupo para utilizadores restritos. (Opcional — exige a reivindicação de nome acima)
+auths.oauth2_map_group_to_team=Mapear grupos reclamados em equipas da organização. (Opcional — requer nome de reclamação acima)
auths.oauth2_map_group_to_team_removal=Remover utilizadores das equipas sincronizadas se esses utilizadores não pertencerem ao grupo correspondente.
auths.enable_auto_register=Habilitar o registo automático
auths.sspi_auto_create_users=Criar utilizadores automaticamente
@@ -3515,7 +3541,7 @@ notices.delete_success=As notificações do sistema foram eliminadas.
self_check.no_problem_found=Nenhum problema encontrado até agora.
self_check.database_collation_mismatch=Supor que a base de dados usa a colação: %s
-self_check.database_collation_case_insensitive=A base de dados está a usar a colação %s, que é insensível à diferença entre maiúsculas e minúsculas. Embora o Gitea possa trabalhar com ela, pode haver alguns casos raros que não funcionem como esperado.
+self_check.database_collation_case_insensitive=A base de dados está a usar a colação %s, que é insensível à diferença entre maiúsculas e minúsculas. Embora o Forgejo possa trabalhar com ela, pode haver alguns casos raros que não funcionem como esperado.
self_check.database_inconsistent_collation_columns=A base de dados está a usar a colação %s, mas estas colunas estão a usar colações diferentes. Isso poderá causar alguns problemas inesperados.
self_check.database_fix_mysql=Para utilizadores do MySQL/MariaDB, pode usar o comando "forgejo doctor convert" para resolver os problemas de colação. Também pode resolver o problema com comandos SQL "ALTER ... COLLATE ..." aplicados manualmente.
config_summary = Resumo
@@ -3664,7 +3690,7 @@ alpine.registry=Configure este registo adicionando o URL no seu ficheiro /
alpine.registry.key=Descarregue a chave RSA pública do registo para dentro da pasta /etc/apk/keys/
para verificar a assinatura do índice:
alpine.registry.info=Escolha $branch e $repository da lista abaixo.
alpine.install=Para instalar o pacote, execute o seguinte comando:
-alpine.repository=Informação do repositório
+alpine.repository=Informações do repositório
alpine.repository.branches=Ramos
alpine.repository.repositories=Repositórios
alpine.repository.architectures=Arquitecturas
@@ -3684,9 +3710,9 @@ conda.install=Para instalar o pacote usando o Conda, execute o seguinte comando:
container.details.type=Tipo de imagem
container.details.platform=Plataforma
container.pull=Puxar a imagem usando a linha de comandos:
-container.digest=Resumo:
+container.digest=Resumo
container.multi_arch=S.O. / Arquit.
-container.layers=Camadas de imagem
+container.layers=Camadas da imagem
container.labels=Rótulos
container.labels.key=Chave
container.labels.value=Valor
@@ -3695,7 +3721,7 @@ cran.install=Para instalar o pacote, execute o seguinte comando:
debian.registry=Configurar este registo usando a linha de comandos:
debian.registry.info=Escolha $distribution e $component da lista abaixo.
debian.install=Para instalar o pacote, execute o seguinte comando:
-debian.repository=Informação do repositório
+debian.repository=Informações do repositório
debian.repository.distributions=Distribuições
debian.repository.components=Componentes
debian.repository.architectures=Arquitecturas
@@ -3725,12 +3751,12 @@ rpm.registry=Configurar este registo usando a linha de comandos:
rpm.distros.redhat=em distribuições baseadas no RedHat
rpm.distros.suse=em distribuições baseadas no SUSE
rpm.install=Para instalar o pacote, execute o seguinte comando:
-rpm.repository=Informação do repositório
+rpm.repository=Informações do repositório
rpm.repository.architectures=Arquitecturas
rpm.repository.multiple_groups=Este pacote está disponível em vários grupos.
rubygems.install=Para instalar o pacote usando o gem, execute o seguinte comando:
rubygems.install2=ou adicione-o ao ficheiro Gemfile
:
-rubygems.dependencies.runtime=Dependências do tempo de execução (runtime)
+rubygems.dependencies.runtime=Dependências em tempo de execução
rubygems.dependencies.development=Dependências de desenvolvimento
rubygems.required.ruby=Requer a versão do Ruby
rubygems.required.rubygems=Requer a versão do RubyGem
@@ -3791,7 +3817,7 @@ arch.version.provides = Fornece
arch.pacman.helper.gpg = Adicionar certificado de confiança para o pacman:
arch.pacman.conf = Adicionar servidor com distribuição e arquitectura relacionadas a /etc/pacman.conf
:
arch.pacman.repo.multi = %s tem a mesma versão em distribuições diferentes.
-arch.version.optdepends = Dependências opcionais
+arch.version.optdepends = Depende opcionalmente
arch.version.depends = Depende de
arch.version.makedepends = Dependências do make
arch.version.groups = Grupo
@@ -3799,6 +3825,7 @@ arch.version.checkdepends = Verificar dependências
arch.version.conflicts = Conflitos
arch.version.backup = Cópia de segurança
arch.version.replaces = Substitui
+container.images.title = Imagens
[secrets]
secrets=Segredos
@@ -3991,8 +4018,8 @@ projects.read = Ler: Aceder aos quadros de planeamento do repositório.
projects.write = Escrever: Criar planeamentos e colunas e editá-las.
packages.read = Ler: Ver e descarregar pacotes atribuídos ao repositório.
packages.write = Escrever: Publicar e eliminar pacotes atribuídos ao repositório.
-actions.read = Ler: Ver canais CI/CD integrados e os seus registos.
-actions.write = Escrever: Despoletar, reiniciar, cancelar ou aprovar manualmente canais CI/CD pendentes.
+actions.read = Ler: Ver sequências CI/CD integrados e os seus registos.
+actions.write = Escrever: Despoletar, reiniciar, cancelar ou aprovar manualmente sequências CI/CD pendentes.
ext_issues = Aceder à ligação para um rastreador de questões externo. As permissões são geridas externamente.
ext_wiki = Aceder à ligação para um wiki externo. As permissões são geridas externamente.
issues.write = Escrever: Fechar questões e gerir metadados, tais como rótulos, etapas, encarregados, datas de vencimento e dependências.
diff --git a/options/locale/locale_ru-RU.ini b/options/locale/locale_ru-RU.ini
index 9fec174ec5..d45a251b21 100644
--- a/options/locale/locale_ru-RU.ini
+++ b/options/locale/locale_ru-RU.ini
@@ -234,7 +234,7 @@ license_desc=Всё это на документацией , прежде чем изменять любые настройки.
+docker_helper=Если вы запускаете Forgejo под Docker, прежде чем изменять любые настройки, пожалуйста, ознакомьтесь с документацией .
require_db_desc=Forgejo требуется MySQL, PostgreSQL, SQLite3 или TiDB (по протоколу MySQL).
db_title=Настройки базы данных
db_type=Тип базы данных
@@ -267,16 +267,16 @@ repo_path=Путь до каталога репозиториев
repo_path_helper=Все удалённые Git репозитории будут сохранены в этом каталоге.
lfs_path=Путь до корневого каталога Git LFS
lfs_path_helper=В этом каталоге будут храниться файлы Git LFS. Оставьте пустым, чтобы отключить LFS.
-run_user=Выполнение под пользователем
+run_user=Работа под пользователем
run_user_helper=Имя пользователя операционной системы, под которым работает Forgejo. Обратите внимание, что этот пользователь должен иметь доступ к корневому пути репозиториев.
domain=Домен сервера
domain_helper=Домен или адрес хоста для сервера.
ssh_port=Порт SSH-сервера
-ssh_port_helper=Номер порта, используемый SSH-сервером. Оставьте пустым для отключения доступа по SSH.
+ssh_port_helper=Номер порта, используемый для входящих подключений по SSH. Оставьте пустым для отключения доступа по SSH.
http_port=Порт HTTP-сервера
http_port_helper=Номер порта, используемый веб-сервером Forgejo.
-app_url=Базовый URL Forgejo
-app_url_helper=Этот параметр влияет на URL для клонирования по HTTP/HTTPS и на некоторые уведомления по эл. почте.
+app_url=Базовый URL
+app_url_helper=Этот параметр влияет на URL клонирования по HTTP/HTTPS и на ссылки в уведомлениях по эл. почте.
log_root_path=Путь журналов
log_root_path_helper=Файлы журнала будут записываться в этот каталог.
@@ -284,9 +284,9 @@ optional_title=Дополнительные настройки
email_title=Настройки эл. почты
smtp_addr=Адрес SMTP
smtp_port=Порт SMTP
-smtp_from=Отправлять письма от
+smtp_from=Отправитель
smtp_from_helper=Адрес эл. почты, который будет использоваться Forgejo. Введите обычный адрес эл. почты или используйте формат "Имя" .
-mailer_user=Логин SMTP
+mailer_user=Имя пользователя SMTP
mailer_password=Пароль SMTP
register_confirm=Требовать подтверждение по эл. почте для регистрации
mail_notify=Уведомления по эл. почте
@@ -316,11 +316,11 @@ confirm_password=Подтверждение пароля
admin_email=Адрес эл. почты
install_btn_confirm=Установить Forgejo
test_git_failed=Не удалось проверить команду «git»: %v
-sqlite3_not_available=Эта версия Forgejo не поддерживает SQLite3. Пожалуйста, загрузите официальную бинарную сборку из %s (не сборку «gobuild»).
+sqlite3_not_available=Эта версия Forgejo не поддерживает SQLite3. Пожалуйста, скачайте официальную сборку из %s (не версию «gobuild»).
invalid_db_setting=Некорректные настройки базы данных: %v
invalid_db_table=Таблица «%s» базы данных некорректна: %v
-invalid_repo_path=Недопустимый путь к корню репозитория: %v
-invalid_app_data_path=Неверный путь к приложению: %v
+invalid_repo_path=Неверный путь к корню репозиториев: %v
+invalid_app_data_path=Неверный путь к данным приложения: %v
run_user_not_match=Текущий пользователь не является пользователем для запуска: %s -> %s
internal_token_failed=Не удалось создать внутренний токен: %v
secret_key_failed=Не удалось создать секретный ключ: %v
@@ -341,7 +341,7 @@ password_algorithm_helper=Задайте алгоритм хеширования
enable_update_checker=Проверка обновлений
env_config_keys=Настройка окружения
env_config_keys_prompt=Следующие переменные окружения также будут применены к вашему конфигурационному файлу:
-enable_update_checker_helper_forgejo = Периодически проверять наличие новых версий Forgejo через DNS-запись TXT на release.forgejo.org.
+enable_update_checker_helper_forgejo = Периодически проверять наличие новых версий Forgejo через «TXT» DNS-запись домена release.forgejo.org.
allow_dots_in_usernames = Разрешить точки в именах пользователей. Это не повлияет на уже созданные учётные записи.
smtp_from_invalid = Адрес для отправки писем некорректен
config_location_hint = Эти настройки конфигурации будут сохранены в:
@@ -360,7 +360,7 @@ my_orgs=Организации
my_mirrors=Мои зеркала
view_home=Показать %s
search_repos=Поиск репозитория…
-filter=Другие фильтры
+filter=Прочие фильтры
filter_by_team_repositories=Фильтровать по репозиториям команды
feed_of=Лента «%s»
@@ -682,18 +682,20 @@ Location = Местоположение
To = Название ветви
+email_domain_is_not_allowed = Домен адреса эл. почты %s не разрешён к использованию. Убедитесь, что он введён правильно или попробуйте другой адрес.
+
[user]
change_avatar=Изменить изображение профиля…
joined_on=Регистрация %s
repositories=Репозитории
activity=Публичная активность
-followers_few=%d подписчики
+followers_few=%d подписчиков
starred=Избранные репозитории
watched=Отслеживаемые репозитории
code=Код
projects=Проекты
overview=Обзор
-following_few=%d подписки
+following_few=%d подписок
follow=Подписаться
unfollow=Отписаться
user_bio=О себе
@@ -748,7 +750,7 @@ webauthn=Двухфакторная аутентификация (ключами
public_profile=Публичный профиль
biography_placeholder=Кратко расскажите о себе другим! (Можно использовать Markdown)
location_placeholder=Пусть все знают, откуда вы
-profile_desc=Как ваш профиль будет отображаться для других пользователей. Ваш основной адрес эл. почты будет использоваться для уведомлений, восстановления пароля и веб-операций с Git.
+profile_desc=Ваш профиль
password_username_disabled=Нелокальным пользователям запрещено изменение их имени пользователя. Для получения более подробной информации обратитесь к администратору сайта.
full_name=Полное имя
website=Веб-сайт
@@ -761,7 +763,7 @@ update_language_success=Язык обновлён.
update_profile_success=Ваш профиль успешно обновлён.
change_username=Ваше имя пользователя было изменено.
change_username_prompt=Обратите внимание: изменение имени пользователя также меняет URL вашей учётной записи.
-change_username_redirect_prompt=Старое имя пользователя будет перенаправлять на новое до тех пор, пока его не займут.
+change_username_redirect_prompt=Старое имя будет перенаправлять на новое до тех пор, пока оно не будет занято.
continue=Далее
cancel=Отмена
language=Язык
@@ -810,7 +812,7 @@ password_change_disabled=Нелокальные учётные записи не
emails=Адреса эл. почты
manage_emails=Управление адресами эл. почты
-manage_themes=Тема по умолчанию
+manage_themes=Тема интерфейса
manage_openid=Адреса OpenID
email_desc=Ваш основной адрес эл. почты будет использоваться для уведомлений, восстановления пароля и, если он не скрыт, для действий с Git в веб-интерфейсе.
theme_desc=Эта тема оформления будет использоваться при входе на сайт под этой учётной записью.
@@ -941,7 +943,7 @@ select_permissions=Выбрать разрешения
permission_no_access=Нет доступа
permission_read=Чтение
permission_write=Чтение и запись
-access_token_desc=Выбранные области действия токена ограничивают авторизацию только соответствующими маршрутами API . Читайте документацию для получения дополнительной информации.
+access_token_desc=Выбранные области действия токена ограничивают его использование до соответствующих маршрутов API . Для получения подробностей ознакомьтесь с документацией .
at_least_one_permission=Необходимо выбрать хотя бы одно разрешение для создания токена
permissions_list=Разрешения:
@@ -949,7 +951,7 @@ manage_oauth2_applications=Управление приложениями OAuth2
edit_oauth2_application=Изменить приложение OAuth2
oauth2_applications_desc=Приложения OAuth2 позволяет стороннему приложению к безопасно аутентифицировать пользователей данной установки Forgejo.
remove_oauth2_application=Удаление приложения OAuth2
-remove_oauth2_application_desc=Удаление приложения OAuth2 отменит доступ ко всем подписанным токенам доступа. Продолжить?
+remove_oauth2_application_desc=Удаление этого приложения отменит доступ ко всем подписанным токенам доступа. Продолжить?
remove_oauth2_application_success=Приложение было успешно удалено.
create_oauth2_application=Создать новое приложение OAuth2
create_oauth2_application_button=Создать приложение
@@ -1040,7 +1042,7 @@ blocked_since = Заблокирован с %s
user_unblock_success = Пользователь разблокирован.
twofa_scratch_token_regenerated = Ваш одноразовый ключ восстановления: %s. Сохраните его в надёжном месте. Больше он показан не будет.
blocked_users = Заблокированные пользователи
-keep_email_private_popup = Ваш адрес эл. почты будет скрыт из профиля. Он больше не будет использоваться по умолчанию для коммитов, сделанных из веб-интерфейса, таких как загрузки и редактирования файлов и не будет использоваться для коммитов запросов на слияние. Вместо него можно будет использовать специальный адрес %s, чтобы присваивать коммиты с вашим аккаунтом. Обратите внимание на то, что изменение данной настройки не повлияет на существующие коммиты.
+keep_email_private_popup = Ваш адрес эл. почты не будет видим в профиле и не будет использован по умолчанию для коммитов из веб-интерфейса, таких как загрузка и редактирование файлов, а также для коммитов слияний. Вместо него для связи коммитов с уч. записью можно использовать специальный адрес %s. Изменение данной настройки не изменит адрес в существующих коммитах.
oauth2_confidential_client = Конфиденциальный клиент. Выберите для приложений, хранящих секрет в тайне, например, для веб-приложений. Не выбирайте для нативных приложений, включая приложения для ПК или смартфонов.
change_password = Изменение пароля
hints = Подсказки
@@ -1051,10 +1053,12 @@ additional_repo_units_hint_description = Показывать подсказку
pronouns_custom = Другие
pronouns = Местоимения
pronouns_unspecified = Не указаны
-language.title = Язык по умолчанию
+language.title = Язык интерфейса
keep_activity_private.description = Ваша публичная активность будет видна только вам и администраторам сервера.
language.description = Выбранный язык будет сохранён в вашей уч. записи и будет использован по умолчанию после входа.
language.localization_project = Помогите с переводом Forgejo на свой язык! Подробнее .
+user_block_yourself = Нельзя заблокировать себя.
+pronouns_custom_label = Другие местоимения
[repo]
owner=Владелец
@@ -1065,11 +1069,11 @@ repo_size=Размер репозитория
size_format = `%[1]s: %[2]s; %[3]s: %[4]s`
template=Шаблон
template_select=Выберите шаблон
-template_helper=Сделать репозиторий шаблоном
+template_helper=Пометить репозиторий как шаблон
template_description=Шаблонные репозитории дают возможность пользователям создавать новые репозитории с той же структурой каталогов, файлами и дополнительными настройками.
visibility=Видимость
-visibility_description=Это увидят только владелец организации или участники при наличии прав.
-visibility_helper=Сделать репозиторий приватным
+visibility_description=Он будет видим только владельцу организации и её участникам при наличии прав.
+visibility_helper=Частный репозиторий
visibility_helper_forced=Администратор сайта настроил параметр видимости новых репозиториев. Репозиторий приватный по умолчанию.
visibility_fork_helper=(Это изменит видимость всех ответвлений.)
clone_helper=Нужна помощь в клонировании? Посетите страницу помощи .
@@ -1091,16 +1095,16 @@ repo_desc=Описание
repo_desc_helper=Добавьте краткое описание (необязательно)
repo_lang=Язык
repo_gitignore_helper=Выберите шаблоны .gitignore
-repo_gitignore_helper_desc=Выберите из списка шаблонов для популярных языков , какие файлы не надо отслеживать. По умолчанию в .gitignore включены типичные артефакты, создаваемые инструментами сборки каждого языка.
+repo_gitignore_helper_desc=Выберите шаблоны из списка для популярных языков. .gitignore определяет, какие файлы не надо отслеживать в проекте. По умолчанию в него включены типичные артефакты, создаваемые инструментами сборки каждого языка.
issue_labels=Метки
issue_labels_helper=Выберите набор меток
license=Лицензия
license_helper=Выберите лицензию
-license_helper_desc=Лицензия определяет, что другие люди могут, а что не могут делать с вашим кодом. Не уверены, какая лицензия подходит для вашего проекта? Смотрите Выберите лицензию .
+license_helper_desc=Лицензия определяет, что другие могут и не могут делать с вашим кодом. Не знаете, какая лицензия подойдёт для вашего проекта? Ознакомьтесь с Выбором лицензии .
readme=README
readme_helper=Выберите шаблон README
readme_helper_desc=Это место, где вы можете написать подробное описание вашего проекта.
-auto_init=Инициализировать репозиторий (Добавляет .gitignore, LICENSE and README)
+auto_init=Инициализировать репозиторий
trust_model_helper=Выберите модель доверия для проверки подписи. Возможные варианты:
trust_model_helper_collaborator=Соучастник: доверять подписям соучастников
trust_model_helper_committer=Автор коммита: доверять подписям, соответствующим авторам коммитов
@@ -1300,6 +1304,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=Граф коммитов
@@ -1323,6 +1328,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=Файл заблокирован
@@ -1719,8 +1725,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_modified=срок выполнения передвинут с %[2]s на %[1]s %[3]s
+issues.due_date_added=добавлен срок выполнения – %s, %s
+issues.due_date_modified=срок выполнения изменён с %[2]s на %[1]s %[3]s
issues.due_date_remove=убран срок выполнения %s %s
issues.due_date_overdue=Просроченные
issues.due_date_invalid=Срок выполнения недействителен или находится за пределами допустимого диапазона. Пожалуйста, используйте формат «гггг-мм-дд».
@@ -2195,9 +2201,9 @@ settings.transfer_perform=Выполнить передачу
settings.transfer_started=Репозиторий ожидает подтверждения передачи от «%s»
settings.transfer_succeed=Репозиторий перенесён.
settings.signing_settings=Настройки проверки подписей
-settings.trust_model=Модель доверия подписи
-settings.trust_model.default=Модель доверия по умолчанию
-settings.trust_model.default.desc=Использовать стандартную модель доверия репозитория для этой установки.
+settings.trust_model=Факторы доверия подписям
+settings.trust_model.default=Фактор доверия по умолчанию
+settings.trust_model.default.desc=Использовать фактор доверия по умолчанию, используемый на этом сервере.
settings.trust_model.collaborator=Соучастник
settings.trust_model.collaborator.long=Соучастник: доверять подписям соучастников
settings.trust_model.collaborator.desc=Действительные подписи соучастников этого репозитория будут помечены как «доверенные» (независимо от того, соответствуют ли они автору коммита). В остальных случаях действительные подписи будут помечены как «недоверенные», если подпись соответствует автору коммита, и «не совпадающие», если нет.
@@ -2648,7 +2654,7 @@ tag.create_tag_from=Создать новый тег из «%s»
tag.create_success=Тег «%s» создан.
-topic.manage_topics=Редактировать тематические метки
+topic.manage_topics=Изменить темы
topic.done=Сохранить
topic.count_prompt=Нельзя выбрать более 25 тем
topic.format_prompt=Темы должны начинаться с буквы или цифры и могут содержать дефисы («-») и точки («.»). Длина темы не должна превышать 35 символов. Все буквы должны быть строчными.
@@ -2742,7 +2748,7 @@ pulls.made_using_agit = AGit
activity.navbar.contributors = Соавторы
activity.navbar.code_frequency = Частота изменений
activity.navbar.recent_commits = Недавние коммиты
-settings.confirmation_string = Подтверждение
+settings.confirmation_string = Строка подтверждения
settings.archive.text = Архивация репозитория сделает всё его содержимое доступным только для чтения. Он будет скрыт с домашнего экрана. Никто (включая вас!) не сможет добавлять коммиты, открывать задачи и запросы слияний.
release.deletion_desc = Удаление выпуска удаляет его только в Forgejo. Это действие не затронет тег в git, содержимое репозитория и его историю. Продолжить?
pulls.agit_explanation = Создано через рабочий поток AGit. С ним можно предлагать изменения, используя команду «git push», без необходимости в создании ответвления или новой ветви.
@@ -2850,6 +2856,24 @@ issues.num_reviews_few = %d рецензий
issues.num_reviews_one = %d рецензия
issues.summary_card_alt = Карточка со сводкой задачи "%s" в репозитории %s
editor.add_tmpl.filename = имя файла
+settings.default_update_style_desc = Стиль обновления отстающих ветвей запросов на слияние по умолчанию.
+pulls.sign_in_require = Войдите , чтобы создать запрос слияния.
+new_from_template = Применить шаблон
+new_from_template_description = Вы можете выбрать любой шаблон репозитория на этом сервере и применить его настройки на этом репозитории.
+new_advanced = Расширенные настройки
+new_advanced_expand = Нажмите, чтобы раскрыть
+auto_init_description = Начать историю коммитов с добавления README и, если надо, лицензии и .gitignore.
+
+summary_card_alt = Карточка со сводкой о репозитории %s
+issues.reaction.add = Добавить реакцию
+issues.reaction.alt_few = Реакция %[2]s от %[1]s.
+issues.reaction.alt_many = Реакция %[3]s от %[1]s и %[2]d других.
+issues.reaction.alt_remove = Убрать реакцию %[1]s с этого комментария.
+issues.reaction.alt_add = Добавить реакцию %[1]s к этому комментарию.
+issues.context.menu = Меню комментария
+release.summary_card_alt = Карточка со сводкой о выпуске «%s» в репозитории %s
+
+editor.commit_email = Эл. почта автора
[graphs]
component_loading_failed = Не удалось загрузить %s
@@ -3315,13 +3339,13 @@ auths.invalid_openIdConnectAutoDiscoveryURL=Неверный URL для авто
config.server_config=Конфигурация сервера
config.app_name=Название сервера
config.app_ver=Версия Forgejo
-config.app_url=Базовый URL Forgejo
+config.app_url=Базовый URL
config.custom_conf=Путь к файлу конфигурации
config.custom_file_root_path=Путь до каталога с файлами для персонализации
config.domain=Домен сервера
config.offline_mode=Локальный режим
config.disable_router_log=Отключение журнала маршрутизатора
-config.run_user=Выполнение под пользователем
+config.run_user=Работа под пользователем
config.run_mode=Режим работы
config.git_version=Версия git
config.app_data_path=Путь к данным приложения
@@ -3676,7 +3700,7 @@ dependency.version=Версия
alpine.registry=Настройте этот реестр, добавив URL в файл /etc/apk/repositories
:
alpine.registry.key=Загрузите публичный ключ RSA реестра в каталог /etc/apk/keys/
для проверки подписи индекса:
alpine.registry.info=Выберите $branch и $repository из списка ниже.
-alpine.install=Чтобы установить пакет, выполните следующую команду:
+alpine.install=Для установки пакета выполните следующую команду:
alpine.repository=О репозитории
alpine.repository.branches=Ветви
alpine.repository.repositories=Репозитории
@@ -3684,13 +3708,13 @@ alpine.repository.architectures=Архитектуры
cargo.registry=Настройте этот реестр в файле конфигурации Cargo (например, ~/.cargo/config.toml
):
cargo.install=Чтобы установить пакет с помощью Cargo, выполните следующую команду:
chef.registry=Настройте этот реестр в своём файле ~/.chef/config.rb
:
-chef.install=Чтобы установить пакет, выполните следующую команду:
+chef.install=Для установки пакета выполните следующую команду:
composer.registry=Настройте этот реестр в файле ~/.composer/config.json
:
composer.install=Чтобы установить пакет с помощью Composer, выполните следующую команду:
composer.dependencies=Зависимости
composer.dependencies.development=Зависимости для разработки
conan.details.repository=Репозиторий
-conan.registry=Настроить реестр из командной строки:
+conan.registry=Добавьте реестр командой:
conan.install=Чтобы установить пакет с помощью Conan, выполните следующую команду:
conda.registry=Пропишите этот реестр в качестве репозитория Conda в своём файле .condarc
:
conda.install=Чтобы установить пакет с помощью Conda, выполните следующую команду:
@@ -3704,23 +3728,23 @@ container.labels=Метки
container.labels.key=Ключ
container.labels.value=Значение
cran.registry=Настройте этот реестр в файле Rprofile.site
:
-cran.install=Чтобы установить пакет, выполните следующую команду:
-debian.registry=Настроить реестр из командной строки:
+cran.install=Для установки пакета выполните следующую команду:
+debian.registry=Добавьте реестр командой:
debian.registry.info=Выберите $distribution и $component из списка ниже.
-debian.install=Чтобы установить пакет, выполните следующую команду:
+debian.install=Для установки пакета выполните следующую команду:
debian.repository=О репозитории
debian.repository.distributions=Дистрибутивы
debian.repository.components=Компоненты
debian.repository.architectures=Архитектуры
generic.download=Скачать пакет из командной строки:
go.install=Установите пакет из командной строки:
-helm.registry=Настроить реестр из командной строки:
-helm.install=Чтобы установить пакет, выполните следующую команду:
+helm.registry=Добавьте реестр командой:
+helm.install=Для установки пакета выполните следующую команду:
maven.registry=Настройте реестр в файле pom.xml
вашего проекта:
maven.install=Чтобы использовать пакет, включите в блок dependencies
в файле pom.xml
следующее:
maven.install2=Выполнить через командную строку:
maven.download=Чтобы скачать зависимость, запустите в командной строке:
-nuget.registry=Настроить реестр из командной строки:
+nuget.registry=Добавьте реестр командой:
nuget.install=Чтобы установить пакет с помощью NuGet, выполните следующую команду:
nuget.dependency.framework=Целевой фреймворк
npm.registry=Настройте реестр в файле .npmrc
вашего проекта:
@@ -3734,10 +3758,10 @@ npm.details.tag=Тег
pub.install=Чтобы установить пакет с помощью Dart, выполните следующую команду:
pypi.requires=Требуется Python
pypi.install=Чтобы установить пакет с помощью pip, выполните следующую команду:
-rpm.registry=Настроить реестр из командной строки:
+rpm.registry=Добавьте реестр командой:
rpm.distros.redhat=на дистрибутивах семейства RedHat
rpm.distros.suse=на дистрибутивах семейства SUSE
-rpm.install=Чтобы установить пакет, выполните следующую команду:
+rpm.install=Для установки пакета выполните следующую команду:
rpm.repository = О репозитории
rpm.repository.architectures = Архитектуры
rubygems.install=Чтобы установить пакет с помощью gem, выполните следующую команду:
@@ -3746,7 +3770,7 @@ rubygems.dependencies.runtime=Зависимости времени выполн
rubygems.dependencies.development=Зависимости для разработки
rubygems.required.ruby=Требуется версия Ruby
rubygems.required.rubygems=Требуется версия RubyGem
-swift.registry=Настроить реестр из командной строки:
+swift.registry=Добавьте реестр командой:
swift.install=Добавьте пакет в свой файл Package.swift
:
swift.install2=и запустите следующую команду:
vagrant.install=Чтобы добавить бокс Vagrant, выполните следующую команду:
@@ -3956,28 +3980,28 @@ fuzzy_tooltip = Включает результаты, достаточно по
type_tooltip = Тип поиска
fuzzy = Приблизительный
match = Точный
-repo_kind = Поиск репозиториев...
-user_kind = Поиск пользователей...
-org_kind = Поиск организаций...
-team_kind = Поиск команд...
-code_kind = Поиск по коду...
-package_kind = Поиск пакетов...
-project_kind = Поиск проектов...
-branch_kind = Поиск ветвей...
-commit_kind = Поиск коммитов...
+repo_kind = Найти репозитории...
+user_kind = Найти пользователей...
+org_kind = Найти организации...
+team_kind = Найти команды...
+code_kind = Найти в коде...
+package_kind = Найти пакеты...
+project_kind = Найти проекты...
+branch_kind = Найти ветви...
+commit_kind = Найти коммиты...
no_results = По запросу ничего не найдено.
-keyword_search_unavailable = Поиск по ключевым словам недоступен. Уточните подробности у администратора.
+keyword_search_unavailable = Поиск по ключевым словам недоступен. Уточните подробности у администратора сервера.
match_tooltip = Включать только результаты, точно соответствующие запросу
-code_search_unavailable = Поиск по коду сейчас недоступен. Уточните подробности у администратора.
-runner_kind = Поиск исполнителей...
-code_search_by_git_grep = Эти результаты получены через «git grep». Результатов может быть больше, если администратор сервера включит индексатор кода.
+code_search_unavailable = Поиск в коде недоступен. Уточните подробности у администратора сервера.
+runner_kind = Найти исполнителей...
+code_search_by_git_grep = Эти результаты получены через «git grep». Результатов может быть больше, если на сервере будет включен индексатор кода.
exact = Точный
exact_tooltip = Включает только результаты, в точности соответствующие запросу
-issue_kind = Поиск задач...
-pull_kind = Поиск слияний...
+issue_kind = Найти задачи...
+pull_kind = Найти слияния...
union_tooltip = Включает результаты с совпавшими ключевыми словами, разделёнными пробелами
union = Обычный
-milestone_kind = Поиск этапов...
+milestone_kind = Найти этапы...
regexp = Регулярное выражение
regexp_tooltip = Интерпретировать поисковый запрос как регулярное выражение
@@ -3988,7 +4012,7 @@ filepreview.lines = Строки с %[1]d по %[2]d в %[3]s
filepreview.truncated = Предпросмотр был обрезан
[translation_meta]
-test = skip-ci routine :)
+test = forgejo :)
[repo.permissions]
code.write = Запись: отправка изменений в репозиторий, создание веток и тегов.
diff --git a/options/locale/locale_si-LK.ini b/options/locale/locale_si-LK.ini
index ac7627ca80..e26bf30ae1 100644
--- a/options/locale/locale_si-LK.ini
+++ b/options/locale/locale_si-LK.ini
@@ -821,7 +821,7 @@ migrate.migrating_failed=%s සිට සංක්රමණය වීම
migrate.migrating_failed_no_addr=සංක්රමණය අසාර්ථකයි.
migrate.git.description=ඕනෑම Git සේවාවකින් පමණක් ගබඩාවක් සංක්රමණය කරන්න.
migrate.gitlab.description=gitlab.com හෝ වෙනත් GitLab අවස්ථා වලින් දත්ත සංක්රමණය කරන්න.
-migrate.gitea.description=Gitea.com හෝ වෙනත් Gitea/Forgejo අවස්ථා වලින් දත්ත සංක්රමණය කරන්න.
+migrate.gitea.description=Gitea.com හෝ වෙනත් Gitea අවස්ථා වලින් දත්ත සංක්රමණය කරන්න.
migrate.gogs.description=notabug.org හෝ වෙනත් Gogs අවස්ථා වලින් දත්ත සංක්රමණය කරන්න.
migrate.onedev.description=code.onedev.io හෝ වෙනත් OnedeV අවස්ථා වලින් දත්ත සංක්රමණය කරන්න.
migrate.gitbucket.description=GitBucket අවස්ථා වලින් දත්ත සංක්රමණය කරන්න.
@@ -889,6 +889,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=ශාඛා තෝරන්න
@@ -906,6 +907,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=ගොනුවට අගුළු ලා ඇත
diff --git a/options/locale/locale_sk-SK.ini b/options/locale/locale_sk-SK.ini
index bd2ce203dd..f714bdf0dc 100644
--- a/options/locale/locale_sk-SK.ini
+++ b/options/locale/locale_sk-SK.ini
@@ -176,7 +176,7 @@ string.desc=Z - A
[error]
occurred=Vyskytla sa chyba
-report_message=Ak si myslíte, že ide o chybu Gitea, vyhľadajte problémy na GitHub-e alebo v prípade potreby otvorte nový problém.
+report_message=Ak si myslíte, že ide o chybu Forgejo, vyhľadajte problémy na Codeberg-e alebo v prípade potreby otvorte nový problém.
missing_csrf=Nesprávna žiadosť: neprítomný CSFR token
invalid_csrf=Nesprávna žiadosť: nesprávny CSFR token
not_found=Nebolo možné nájsť cieľ.
@@ -1010,6 +1010,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
diff --git a/options/locale/locale_sr-SP.ini b/options/locale/locale_sr-SP.ini
index 3021b48781..56c1a7e650 100644
--- a/options/locale/locale_sr-SP.ini
+++ b/options/locale/locale_sr-SP.ini
@@ -62,7 +62,7 @@ federated_avatar_lookup_popup=Омогућите federated avatars lookup да
enable_captcha_popup=Тражи Captcha приликом регистрације корисника.
admin_password=Лозинка
confirm_password=Потврдите лозинку
-install_btn_confirm=Успостави Gitea
+install_btn_confirm=Успостави Forgejo
test_git_failed=Команда 'git' није успела: %v
[home]
diff --git a/options/locale/locale_sv-SE.ini b/options/locale/locale_sv-SE.ini
index 4d460273cc..3e8924f48a 100644
--- a/options/locale/locale_sv-SE.ini
+++ b/options/locale/locale_sv-SE.ini
@@ -130,10 +130,50 @@ download_logs = Ladda ner loggar
go_back = Gå tillbaka
show_log_seconds = Visa sekunder
rerun = Kör om
+filter = Filter
+filter.is_archived = Arkiverade
+filter.clear = Rensa filter
+filter.is_mirror = Speglar
+copy_path = Kopiera sökväg
+unpin = Lossa
+value = Värde
+filter.not_archived = Inte arkiverade
+error413 = Du har använt upp din kvot.
+invalid_data = Ogiltig data: %v
+filter.not_template = Inte mallar
+copy_hash = Kopiera hash
+view = Se
+copy_branch = Kopiera grennamn
+pin = Fäst
+filter.public = Publika
+new_repo.title = Ny utvecklingskatalog
+new_migrate.title = Ny migrering
+new_repo.link = Ny utvecklingskatalog
+new_migrate.link = Ny migrering
+filter.not_mirror = Inte speglar
+filter.is_template = Mallar
+filter.private = Privata
+
+active_stopwatch = Spårning av aktiv tid
+tracked_time_summary = Sammanfattning av spårad tid baserat på filter av ärendelistan
+toggle_menu = Visningsmeny
+webauthn_use_twofa = Använd en tvåfaktorskod från din telefon
+webauthn_error_insecure = WebAuthn stöder endast säkra anslutningar. För testning över HTTP kan du använda "localhost" eller "127.0.0.1"
+webauthn_error_unable_to_process = Servern kunde inte hantera din begäran.
+webauthn_error_duplicated = Säkerhetsnyckeln är inte tillåten för denna begäran. Se till att nyckeln inte redan är registrerad.
+webauthn_error_timeout = Timeout uppnåddes innan din nyckel kan läsas. Vänligen ladda om denna sida och försök igen.
+remove_label_str = Ta bort objektet "%"
+copy_generic = Kopiera till urklipp
+confirm_delete_selected = Bekräfta för att ta bort alla valda objekt?
+filter.is_fork = Förgreningar
+filter.not_fork = Inte gafflar
[aria]
footer.software = Om den här mjukvaran
footer.links = Länkar
+footer = Sidfot
+
+navbar = Navigeringsfält
[heatmap]
contributions_one = bidrag
@@ -155,6 +195,13 @@ buttons.list.unordered.tooltip = Lägg till en punktlista
buttons.list.ordered.tooltip = Lägg till en numrerad lista
buttons.list.task.tooltip = Lägg till en lista med sysslor
buttons.mention.tooltip = Nämn en användare eller ett team
+buttons.ref.tooltip = Hänvisa till ett ärende eller en pull request
+buttons.new_table.tooltip = Lägg till tabell
+table_modal.header = Lägg till tabell
+table_modal.placeholder.header = Sidhuvud
+table_modal.placeholder.content = Innehåll
+table_modal.label.rows = Rader
+table_modal.label.columns = Kolumner
[filter]
string.asc = A - Ö
@@ -163,6 +210,7 @@ string.asc = A - Ö
occurred = Ett fel har inträffat
server_internal = Internt serverfel
network_error = Nätverksfel
+report_message = Om du tror att detta är en Forgejo-bugg, sök efter ärenden på Codeberg eller öppna ett nytt ärende om det behövs.
[startpage]
app_desc=En smidig, självhostad Git-tjänst
@@ -242,14 +290,14 @@ enable_captcha=Aktivera CAPTCHA registrering
enable_captcha.description=Kräv att användare klarar CAPTCHA för att registrera konton.
require_sign_in_view=Kräv inloggning för att visa instansens innehåll
admin_setting.description=Skapandet av ett administratörskonto är frivilligt. Den första användaren som registreras blir automatiskt administratör.
-admin_title=Inställningar för Administratörskonto
-admin_name=Användarnamn för Administratör
+admin_title=Inställningar för administratörskonto
+admin_name=Användarnamn för administratör
admin_password=Lösenord
confirm_password=Bekräfta lösenord
-admin_email=Mejladress
+admin_email=E-postadress
install_btn_confirm=Installera Forgejo
-test_git_failed=Misslyckades att testa 'git' kommando: %v
-sqlite3_not_available=Denna version av Forgejo stödjer ej SQLite3. Ladda ner den officiella binären från %s (inte 'gobuild' versionen).
+test_git_failed=Misslyckades att testa "git" kommando: %v
+sqlite3_not_available=Denna version av Forgejo stödjer inte SQLite3. Ladda ner den officiella binären från %s (inte "gobuild" versionen).
invalid_db_setting=Databasinställningarna är ogiltiga: %v
invalid_repo_path=Utvecklingskatalogens rotsökväg är ogiltig: %v
run_user_not_match=Systemtjänstanvändaren är inte den nuvarande användaren: %s -> %s
@@ -260,10 +308,10 @@ default_keep_email_private=Dölj e-postadresser som standard
default_keep_email_private.description=Dölj e-postadress för nya användarkonton som standard så att den informationen inte omedelbart läcker efter registrering.
default_allow_create_organization=Tillåt skapandet utav organisationer som standard
default_allow_create_organization.description=Tillåt nya användarkonton att skapa organisationer som standard. När detta alternativt ej är aktivt så behöver en administratör tilldela rättigheter att skapa organisationer till nya användare.
-default_enable_timetracking=Aktivera tidredovisning som Standard
+default_enable_timetracking=Aktivera tidredovisning som standard
default_enable_timetracking.description=Aktivera tidsredovisning för nya utvecklingskataloger som standard.
-no_reply_address=Dold mejldomän
-no_reply_address_helper=Domännamn för användare med en dold mailadress. Exempelvis kommer användarnamnet 'joe' att loggas i Git som 'joe@noreply.example.org' om dold maildomän är satt till 'noreply.example.org'.
+no_reply_address=Dold e-postdomän
+no_reply_address_helper=Domännamn för användare med en dold e-postadress. Exempelvis kommer användarnamnet "joe" att loggas i Git som "joe@noreply.example.org" om den dolda e-postdomänen är satt till "noreply.example.org".
require_db_desc = Forgejo kräver MySQL, PostgreSQL, SQLite3 eller TiDB (MySQL-protokoll).
allow_only_external_registration = Tillåt registrering endast via externa tjänster
app_slogan = Instansslogan
@@ -271,19 +319,30 @@ app_slogan_helper = Skriv in din slogan här. Lämna tom för att stänga av.
domain = Serverdomän
domain_helper = Domän eller värdadress för servern.
reinstall_error = Du försöker att installera i en existerande Forgejo-databas
+password_algorithm_helper = Ställ in hashalgoritmen för lösenord. Algoritmer har olika krav och styrka. Argon2-algoritmen är ganska säker men använder mycket minne och kan vara olämplig för små system.
+config_location_hint = Dessa konfigurationsinställningar kommer att sparas i:
+invalid_db_table = Databastabellen "%s" är ogiltig: %v
+secret_key_failed = Misslyckades att generera hemlig nyckel: %v
+allow_dots_in_usernames = Tillåt användare att använda punkter i sina användarnamn. Påverkar inte befintliga användare.
+reinstall_confirm_message = Ominstallation med en befintlig Forgejo-databas kan orsaka flera problem. I de flesta fall bör du använda din befintliga "app.ini" för att köra Forgejo. Om du vet vad du håller på med, bekräfta följande:
+require_sign_in_view.description = Begränsa åtkomst till innehåll till inloggade användare. Gäster kommer endast att kunna besöka autentiseringssidorna.
+invalid_app_data_path = Sökvägen för appdata är ogiltig: %v
+internal_token_failed = Misslyckades att generera intern token: %v
+password_algorithm = Hashalgoritm för lösenord
+invalid_password_algorithm = Ogiltig hashalgoritm för lösenord
[home]
-uname_holder=Användarnamn eller Mejladress
+uname_holder=Användarnamn eller e-postadress
password_holder=Lösenord
-switch_dashboard_context=Växla Visad Instrumentpanel
+switch_dashboard_context=Växla visad instrumentpanel
my_repos=Utvecklingskataloger
show_more_repos=Visa flera utvecklingskataloger…
collaborative_repos=Kollaborativa Utvecklingskataloger
-my_orgs=Mina organisationer
+my_orgs=Organisationer
my_mirrors=Mina speglar
view_home=Visa %s
search_repos=Hitta en utvecklingskatalog…
-filter=Övriga Filter
+filter=Övriga filter
show_archived=Arkiverade
show_both_archived_unarchived=Visar både arkiverade och icke arkiverade
@@ -296,6 +355,7 @@ show_only_private=Visar endast privata
show_only_public=Visar endast publika
issues.in_your_repos=I dina utvecklingskataloger
+filter_by_team_repositories = Filtrera efter lagutvecklingskataloger
[explore]
repos=Utvecklingskataloger
@@ -308,9 +368,13 @@ user_no_results=Inga matchande användare hittades.
org_no_results=Inga matchande organisationer hittades.
code_no_results=Ingen källkod hittades som matchar din sökterm.
code_last_indexed_at=Indexerades senast %s
+stars_one = %d stjärna
+go_to = Gå till
+relevant_repositories = Endast relevanta utvecklingskataloger visas, visa ofiltrerade resultat .
+stars_few = %d stjärnor
[auth]
-create_new_account=Registrera Konto
+create_new_account=Registrera konto
register_helper_msg=Har du redan ett konto? Logga in nu!
social_register_helper_msg=Har du redan ett konto? Länka det nu!
disable_register_prompt=Registrering inaktiverad. Vänligen kontakta din sidadministratör.
@@ -319,18 +383,18 @@ remember_me=Kom ihåg denna enhet
forgot_password_title=Glömt lösenord
forgot_password=Glömt lösenord?
sign_up_now=Behöver du ett konto? Registrera nu.
-confirmation_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till %s . Vänligen kolla din inkorg inom dom kommande %s för att slutföra registreringsprocessen.
+confirmation_mail_sent_prompt=Ett nytt bekräftelsemejl has skickats till %s . För att slutföra registreringsprocessen, vänligen kolla din inkorg inom dom kommande %s. Om e-postadressen är felaktig så kan du logga in och begära att få ett nytt bekräftelsemejlet skickat till en annan e-postadressen.
must_change_password=Ändra ditt lösenord
allow_password_change=Kräv att användaren byter lösenord (rekommenderas)
-reset_password_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till %s . Vänligen kontrollera din inkorg inom de kommande %s för att slutföra återställning av ditt konto.
+reset_password_mail_sent_prompt=Ett nytt bekräftelsemail has skickats till %s . För att slutföra återställning av ditt konto, kontrollera din inkorg och gå till den bifogade länken inom de kommande %s.
active_your_account=Aktivera ditt konto
account_activated=Kontot har aktiverats
-prohibit_login=Inloggning otillåten
+prohibit_login=Kontot är avstängd
resent_limit_prompt=Du har redan begärt ett aktiveringsmejl nyligen. Vänligen vänta 3 minuter och försök igen.
has_unconfirmed_mail=Hej %s, du har en obekräftad epostaddress (%s ). Om du inte har fått ett bekräftelsemail eller behöver ett nytt, klicka på knappen nedan.
resend_mail=Klicka här för att skicka ditt aktiveringsmejl igen
email_not_associate=Denna e-postadress är inte knutet till något konto.
-send_reset_mail=Skicka mail för kontoåterställning
+send_reset_mail=Skicka mejl för kontoåterställning
reset_password=Kontoåterställning
invalid_code=Din bekräftelsekod är ogiltig eller har löpt ut.
reset_password_helper=Återställ konto
@@ -364,6 +428,23 @@ authorize_title=Ge "%s" tillgång till ditt konto?
authorization_failed=Auktorisering misslyckades
sspi_auth_failed=SSPI-autentisering misslyckades
password_pwned_err=Kunde inte slutföra begäran till HaveIBeenPwned
+reset_password_wrong_user = Du är inloggad som %s, men kontoåterställningslänken är avsedd för %s
+invalid_code_forgot_password = Din bekräftelsekod är ogiltig eller har gått ut. Klicka på här för att påbörja en ny session.
+invalid_password = Ditt lösenord matchar inte lösenordet som användes för att skapa kontot.
+openid_signin_desc = Ange din OpenID URI. Till exempel: alice.openid.example.org eller https://openid.example.org/alice.
+sign_in_openid = Fortsätt med OpenID
+hint_login = Har du redan ett konto? Logga in nu!
+change_unconfirmed_email_summary = Ändra e-postadressen som aktiveringsmejl skickas till.
+change_unconfirmed_email_error = Det går inte att ändra e-postadressen: %v
+use_onetime_code = Använde en engångskod
+last_admin = Du kan inte ta bort den sista administratören. Det måste finnas minst en administratör.
+back_to_sign_in = Tillbaka till Logga in
+hint_register = Behöver du ett konto? Registrera ett nu.
+prohibit_login_desc = Ditt konto har blivit avstängt från att interagera med instansen. Kontakta instansadministratören för att återfå tillgång.
+password_pwned = Lösenordet du valde finns på en lista över stulna lösenord som tidigare exponerats i offentliga dataintrång. Försök igen med ett annat lösenord och överväg att ändra detta lösenord på annat håll också.
+
+sign_up_button = Registrera dig.
+sign_up_successful = Kontot skapades. Välkommen!
[mail]
activate_account=Vänligen aktivera ditt konto
@@ -375,6 +456,14 @@ register_notify=Välkommen till %s
reset_password=Återställ ditt konto
register_success=Registreringen lyckades
+password_change.subject = Ditt lösenord har uppdaterats
+password_change.text_1 = Lösenordet för ditt konto ändrades just.
+primary_mail_change.subject = Din primära e-postadress har ändrats
+activate_account.text_1 = Hej %[1]s , tack för att du registrerat dig hos %[2]s!
+reply = eller svara på detta e-postmeddelande direkt
+hi_user_x = Hej %s ,
+admin.new_user.user_info = Användarinformation
+admin.new_user.text = Vänligen klicka här för att hantera denna användare från administratörspanelen.
@@ -412,8 +501,8 @@ SSPISeparatorReplacement=Avgränsare
SSPIDefaultLanguage=Standardspråk
require_error=får inte vara tomt
-alpha_dash_error=` bör endast innehålla alfanumeriska tecken, bindestreck ('-') och understreck ('_').`
-alpha_dash_dot_error=` bör endast innehålla alfanumeriska tecken, bindestreck ('-'), understreck ('_') och punkter ('.').`
+alpha_dash_error=` bör endast innehålla alfanumeriska tecken, bindestreck ("-") och understreck ("_").`
+alpha_dash_dot_error=` bör endast innehålla alfanumeriska tecken, bindestreck ("-"), understreck ("_") och punkter (".").`
git_ref_name_error=måste vara ett för Git välformaterat referensnamn.
size_error=` måste vara av storleken %s`
min_size_error=` måste innehålla minst %s tecken.`
@@ -449,7 +538,7 @@ enterred_invalid_owner_name=Det nya namnet på ägaren är ogiltligt.
enterred_invalid_password=Det angivna lösenordet är felaktigt.
user_not_exist=Användaren finns inte.
team_not_exist=Teamet finns inte.
-last_org_owner=Du kan inte ta bort den sista användaren från 'owners' teamet. Det måste finnas minst en ägare för en organisation.
+last_org_owner=Du kan inte ta bort den sista användaren från "owners" teamet. Det måste finnas minst en ägare för en organisation.
cannot_add_org_to_team=En organisation kan inte läggas till som teammedlem.
invalid_ssh_key=Kunde inte verifiera din SSH-nyckel: %s
@@ -463,9 +552,9 @@ target_branch_not_exist=Målgrenen finns inte.
[user]
change_avatar=Byt din avatar…
repositories=Utvecklingskataloger
-activity=Offentlig Aktivitet
+activity=Offentlig aktivitet
followers_few=%d följare
-starred=Stjärnmärkta Utvecklingskataloger
+starred=Stjärnmärkta utvecklingskataloger
projects=Projekt
overview=Översikt
following_few=%d följer
@@ -481,13 +570,13 @@ account=Konto
password=Lösenord
security=Säkerhet
avatar=Visningsbild
-ssh_gpg_keys=SSH / GPG-nycklar
+ssh_gpg_keys=SSH/GPG-nycklar
social=Sociala konton
applications=Applikationer
-orgs=Hantera Organisationer
+orgs=Organisationer
repos=Utvecklingskataloger
delete=Radera konto
-twofa=Tvåfaktorsautentisering
+twofa=Tvåfaktorsautentisering (TOTP)
account_link=Länkade Konton
organization=Organisationer
@@ -508,16 +597,16 @@ comment_type_group_title=Titel
privacy=Sekretess
keep_activity_private_popup=Gör aktiviteten endast synlig för dig och administratörerna
-lookup_avatar_by_mail=Slå upp avatarer med hjälp utav mejladress
+lookup_avatar_by_mail=Slå upp avatar efter e-postadress
federated_avatar_lookup=Förenad uppslagning av avatar
-enable_custom_avatar=Aktivera Egen Avatar
+enable_custom_avatar=Använd anpassad avatar
choose_new_avatar=Välj ny avatar
-update_avatar=Uppdatera Avatar
-delete_current_avatar=Tag bort aktuell avatar
+update_avatar=Uppdatera avatar
+delete_current_avatar=Ta bort aktuell avatar
uploaded_avatar_not_a_image=Den uppladdade filen är inte en bild.
update_avatar_success=Din avatar har blivit uppdaterad.
-update_password=Ändra Lösenordet
+update_password=Ändra lösenord
old_password=Nuvarande lösenord
new_password=Nytt lösenord
password_incorrect=Det nuvarande lösenordet är felaktigt.
@@ -525,18 +614,18 @@ change_password_success=Ditt lösenord har uppdaterats. Logga in med ditt nya l
password_change_disabled=Externa användare kan inte ändra sitt lösenord genom Forgejos webbgränssnitt.
emails=E-postadresser
-manage_emails=Hantera mejladresser
-manage_themes=Välj standardtema
-manage_openid=Hantera OpenID-adresser
-theme_desc=Detta kommer att vara ditt standardtema på webbplatsen.
+manage_emails=Hantera e-postadresser
+manage_themes=Standardtema
+manage_openid=OpenID-adresser
+theme_desc=Detta tema kommer att användas för webbgränssnittet när du är inloggad.
primary=Primär
activated=Aktiverad
requires_activation=Aktivering krävs
-primary_email=Sätt Som Primär
+primary_email=Gör primär
activate_email=Skicka aktivering
activations_pending=Väntar på aktivering
delete_email=Ta Bort
-email_deletion=Ta Bort mejladress
+email_deletion=Ta bort e-postadress
email_deletion_desc=Mejladressen och relaterad information kommer tas bort från ditt konto. Git-commits med denna mejladress förblir oförändrade. Vill du fortsätta?
email_deletion_success=Mejladressen har tagits bort.
theme_update_success=Ditt tema ändrades.
@@ -544,26 +633,26 @@ theme_update_error=Det valda temat finns inte.
openid_deletion=Ta bort OpenID-adress
openid_deletion_desc=Borttagning av denna OpenID-adress från ditt konto kommer förhindra framtida inloggningar med den. Vill du fortsätta?
openid_deletion_success=OpenID-adressen har tagits bort.
-add_new_email=Lägg till ny mejladress
-add_new_openid=Lägg till ny OpenID URI
-add_email=Lägg till mejladress
+add_new_email=Lägg till ny e-postadress
+add_new_openid=Lägg till ny OpenID-URI
+add_email=Lägg till e-postadress
add_openid=Lägg till OpenID URI
add_email_success=Den nya mejladressen har lagts till.
email_preference_set_success=E-postinställningen har uppdaterats.
add_openid_success=Den nya OpenID-adressen har lagts till.
-keep_email_private=Göm mejladress
+keep_email_private=Göm e-postadress
openid_desc=OpenID låter dig delegera autentiseringen till en extern leverantör.
manage_ssh_keys=Hantera SSH-nycklar
manage_gpg_keys=Hantera GPG-nycklar
add_key=Lägg till nyckel
-ssh_desc=Dessa publika SSH nycklar är associerade med ditt konto. De motsvarande privata nycklarna tillåter full åtkomst till dina utvecklingskataloger.
+ssh_desc=Dessa publika SSH nycklar är associerade med ditt konto. De motsvarande privata nycklarna tillåter full åtkomst till dina utvecklingskataloger. SSH-nycklar som har blivit verifierade kan användas för att verifiera SSH-signerade Git-commiter.
gpg_desc=Dessa publika GPG nycklar är associerade med ditt konto. Håll dina privata nycklar säkra då de tillåter att commits kan verifieras.
ssh_helper=Behöver du hjälp? Kolla in Github's guide för att skapa din egen SSH-nycklar eller lösa vanliga problem som kan uppstå med SSH.
gpg_helper=Behöver du hjälp? Ta en titt på Github's guide om GPG .
add_new_key=Lägg till SSH-nyckel
add_new_gpg_key=Lägg till GPG-nyckel
-key_content_gpg_placeholder=Börjar med '-----BEGIN PGP PUBLIC KEY BLOCK-----'
+key_content_gpg_placeholder=Börjar med "-----BEGIN PGP PUBLIC KEY BLOCK-----"
ssh_key_been_used=Denna SSH-nyckel har redan lagts till på servern.
gpg_key_id_used=En publik GPG-nyckel med samma ID existerar redan.
gpg_key_verify=Verifiera
@@ -595,15 +684,15 @@ ssh_disabled=SSH är inaktiverat
manage_social=Hantera länkade sociala konton
unbind=Koppla från
-manage_access_token=Hantera åtkomst-tokens
-generate_new_token=Generera Nya Tokens
+manage_access_token=Åtkomsttokens
+generate_new_token=Generera ny token
tokens_desc=Dessa tokens tillåter åtkomst till ditt konto via Forgejo API.
token_name=Tokennamn
-generate_token=Generera Token
+generate_token=Generera token
generate_token_success=Din nya token har genererats. Kopiera nu då den inte kommer visas igen.
generate_token_name_duplicate=%s finns redan som programnamn. Välj ett annat.
delete_token=Radera
-access_token_deletion=Ta bort åtkomst token
+access_token_deletion=Ta bort åtkomsttoken
access_token_deletion_cancel_action=Avbryt
access_token_deletion_confirm_action=Radera
delete_token_success=Token har tagits bort. Applikationer som använder den kommer inte längre ha åtkomst till ditt konto.
@@ -628,7 +717,7 @@ oauth2_application_create_description=OAuth2-applikationer ger tredjepartsapplik
authorized_oauth2_applications=Auktoriserade OAuth2-appar
revoke_key=Upphäv
-revoke_oauth2_grant=Upphäv åtkomst
+revoke_oauth2_grant=Dra in åtkomst
revoke_oauth2_grant_description=Återkallning av åtkomst för detta tredjepartsprogram kommer att hindra programmet från att komma åt dina data. Är du säker?
twofa_desc=Tvåfaktorsautentisering förbättrar säkerheten på ditt konto.
@@ -648,27 +737,27 @@ passcode_invalid=Koden är ogiltig. Försök igen.
twofa_enrolled=Tvåfaktorsautentisering har aktiverats för ditt konto. Förvara din skrapkod (%s) på en säker plats eftersom den bara visas en gång!
-manage_account_links=Hantera Länkade Konton
+manage_account_links=Länkade konton
manage_account_links_desc=Dessa externa konton är länkade till ditt Forgejo-konto.
account_links_not_available=Det finns för närvarande inga externa konton länkade till ditt Forgejo-konto.
link_account=Länka konto
-remove_account_link=Ta Bort Länkat Konto
+remove_account_link=Ta bort länkat konto
remove_account_link_desc=Borttagning av länkade konton kommer häva dess åtkomst till ditt Forgejo-konto. Vill du fortsätta?
remove_account_link_success=Det länkade konton har tagits bort.
orgs_none=Du är inte en medlem i någon organisation.
-delete_account=Radera ditt konto
+delete_account=Ta bort ditt konto
delete_prompt=Denna åtgärd kommer ta bort ditt konto permanent. Det KAN INTE ångras.
-confirm_delete_account=Bekräfta Borttagelsen
-delete_account_title=Ta Bort Användarkonto
+confirm_delete_account=Bekräfta borttagelse
+delete_account_title=Ta bort användarkonto
delete_account_desc=Är du säker på att du vill ta bort ditt konto permanent?
-email_notifications.enable=Aktivera notiser via mejl
+email_notifications.enable=Aktivera notiser via e-post
email_notifications.onmention=Endast e-post vid omnämnanden
-email_notifications.disable=Inaktivera notiser via mejl
-email_notifications.submit=Ställ in e-post inställningar
+email_notifications.disable=Inaktivera notiser via e-post
+email_notifications.submit=Ställ in e-postpreferenser
visibility.public=Offentlig
visibility.private=Privat
@@ -686,23 +775,23 @@ template_description=Utvecklingskatalogmallar låter användare skapa nya utveck
visibility=Synligt för
visibility_description=Bara ägaren eller medlemmar i organisationen med rätt rättigheter kommer kunna se det.
visibility_helper_forced=Din tjänstadministratör påtvingar privata utvecklingskataloger.
-visibility_fork_helper=(Ändring av detta kommer påverka alla forkar.)
+visibility_fork_helper=(Att ändra detta kommer att påverka alla forkar.)
clone_helper=Hjälp med kloning? Se hjälp .
-fork_repo=Forka Repo
-fork_from=Forka Från
+fork_repo=Forka utveckligskatalog
+fork_from=Forka från
fork_visibility_helper=Synligheten av en forkad utvecklingskatalog kan inte ändras.
use_template=Välj den här mallen
-generate_repo=Skapa utvecklingskatalog
+generate_repo=Generera utvecklingskatalog
generate_from=Generera från
repo_desc=Beskrivning
repo_lang=Språk
repo_gitignore_helper=Välj .gitignore-mallar
repo_gitignore_helper_desc=Välj vilka filer som inte ska spåras från en lista med mallar för vanliga språk. Typiska artefakter som genereras av varje språk byggverktyg ingår i .gitignore som standard.
-issue_labels=Ärendeetiketter
+issue_labels=Etiketter
issue_labels_helper=Välj en uppsättning av etiketter
license=Licens
license_helper=Välj en licensfil
-license_helper_desc=En licens styr vad andra kan och inte kan göra med din kod. Inte säker på vilken som är rätt för ditt projekt? Se Välj en licens.
+license_helper_desc=En licens styr vad andra kan och inte kan göra med din kod. Inte säker på vilken som är rätt för ditt projekt? Se Välj en licens .
readme=README
readme_helper=Välj en mall för README-filen
readme_helper_desc=Här kan du skriva en fullständig beskrivning för ditt projekt.
@@ -713,8 +802,8 @@ default_branch_helper=Den förvalda grenen är bas-gren för pull requests och k
mirror_prune=Rensa
mirror_prune_desc=Ta bort förlegade fjärrföljande referenser
mirror_interval_invalid=Speglingsintervallen är inte giltig.
-mirror_address=Klona Från URL
-mirror_last_synced=Senaste Synkronisering
+mirror_address=Klona från URL
+mirror_last_synced=Synkroniserad senast
watchers=Observerare
stargazers=Stjärnmärkare
forks=Förgreningar
@@ -735,7 +824,7 @@ desc.internal=Intern
desc.archived=Arkiverade
template.items=Mallobjekt
-template.git_content=Git innehåll (Default branch)
+template.git_content=Git-innehåll (standardgren)
template.git_hooks=Githookar
template.webhooks=Webbhookar
template.topics=Ämnen
@@ -748,7 +837,7 @@ archive.issue.nocomment=Den här utvecklingskatalogen är arkiverad. Du kan inte
archive.pull.nocomment=Den här utvecklingskatalogen är arkiverad. Du kan inte kommentera på pull-förfrågningar.
-migrate_options=Migrationsalternativ
+migrate_options=Migreringsalternativ
migrate_service=Migreringstjänst
migrate_items=Migrationsobjekt
migrate_items_wiki=Wiki
@@ -758,9 +847,9 @@ migrate_items_issues=Ärenden
migrate_items_pullrequests=Pull Requester
migrate_items_merge_requests=Begäran om sammanslagning
migrate_items_releases=Releaser
-migrate_repo=Migrera Repot
-migrate.clone_address=Migrera Eller Klona Från URL
-migrate.clone_address_desc=HTTP(S)- eller Git 'clone' länken för en existerande utvecklingskatalog
+migrate_repo=Migrera utvecklingskatalog
+migrate.clone_address=Migrera eller klona från URL
+migrate.clone_address_desc=HTTP(S)- eller Git "clone" länk för en existerande utvecklingskatalog
migrate.clone_local_path=eller en lokal serversökväg
migrate.permission_denied=Du får inte importera lokala repon.
migrate.failed=Migrering misslyckades: %v
@@ -770,7 +859,7 @@ migrated_from_fake=Migrerad från %[1]s
migrate.migrate=Migrera från %s
migrate.migrating=Migrerar från %s ...
migrate.migrating_failed=Migrering från %s misslyckades.
-migrate.migrating_issues=Migrerar Ärenden
+migrate.migrating_issues=Migrerar ärenden
mirror_from=spegling av
forked_from=forkad från
@@ -784,7 +873,7 @@ watch=Bevaka
unstar=Ta bort stjärnmärkning
star=Stjärnmärk
fork=Förgrening
-download_archive=Ladda Ned Utvecklingskatalogen
+download_archive=Ladda ner utvecklingskatalogen
no_desc=Ingen beskrivning
quick_guide=Snabbguide
@@ -818,31 +907,33 @@ file_view_raw=Visa i råformat
file_permalink=Permalänk
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.
+video_not_supported_in_browser=Din webbläsare stödjer ej HTML5-taggen "video".
+audio_not_supported_in_browser=Din webbläsare stödjer ej HTML5-taggen "audio".
stored_lfs=Sparad med Git LFS
+stored_annex=Sparad med Git Annex
symbolic_link=Symbolisk länk
-commit_graph=Commit-Graf
+commit_graph=Commitgraf
commit_graph.monochrome=Mono
blame=Blame
normal_view=Normal vy
line=rad
lines=rader
-editor.new_file=Ny Fil
-editor.upload_file=Ladda Upp Fil
-editor.edit_file=Redigera Fil
+editor.new_file=Ny fil
+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.edit_this_file=Redigera fil
editor.this_file_locked=Filen är låst
editor.must_be_on_a_branch=Du måste vara på en branch för att göra eller föreslå ändringar i denna fil.
editor.fork_before_edit=Du måste forka denna utvecklingskatalog för att göra eller föreslå förändringar på denna fil.
editor.delete_this_file=Ta bort fil
editor.must_have_write_access=Du måste ha skrivåtkomst för att göra eller föreslå ändringar av denna fil.
editor.name_your_file=Namnge din fil…
-editor.filename_help=Lägg till en katalog genom att skriva dess namn följt utav en slash ('/'). Ta bort katalog genom att sudda i början utav fältet.
+editor.filename_help=Lägg till en katalog genom att skriva dess namn följt utav ett snedstreck ("/"). Ta bort katalog genom att sudda i början utav fältet.
editor.or=eller
editor.cancel_lower=Avbryt
editor.commit_signed_changes=Committa signerade ändringar
@@ -870,7 +961,7 @@ commits.desc=Bläddra i källkodens förändringshistorik.
commits.commits=Incheckningar
commits.search=Sök commits…
commits.find=Sök
-commits.search_all=Alla brancher
+commits.search_all=Alla grenar
commits.author=Upphovsman
commits.message=Meddelande
commits.date=Datum
@@ -879,7 +970,7 @@ commits.newer=Nyare
commits.signed_by=Signerad av
commits.signed_by_untrusted_user=Signerad av opålitlig användare
commits.signed_by_untrusted_user_unmatched=Signerad av opålitlig användare som inte matchar den som committat
-commits.gpg_key_id=GPG-nyckel ID
+commits.gpg_key_id=GPG-nyckel-ID
commitstatus.pending=Väntande
@@ -894,7 +985,7 @@ projects.new=Nytt projekt
projects.deletion=Ta bort projekt
projects.deletion_success=Projektet har tagits bort.
projects.edit=Redigera projekt
-projects.modify=Uppdatera projekt
+projects.modify=Redigera projekt
projects.type.none=Ingen
projects.template.desc=Projektmall
projects.type.uncategorized=Okatergoriserad
@@ -909,10 +1000,10 @@ issues.filter_milestones=Filtrera milstolpe
issues.filter_projects=Filtrera projekt
issues.filter_labels=Filtrera etikett
issues.filter_reviewers=Filtrera granskare
-issues.new=Nytt Ärende
+issues.new=Nytt ärende
issues.new.title_empty=Titeln kan inte vara tom
issues.new.labels=Etiketter
-issues.new.no_label=Ingen Etikett
+issues.new.no_label=Inga etiketter
issues.new.clear_labels=Rensa etiketter
issues.new.projects=Projekt
issues.new.clear_projects=Rensa projekt
@@ -921,26 +1012,26 @@ issues.new.open_projects=Öppna projekt
issues.new.closed_projects=Stängda projekt
issues.new.no_items=Inga objekt
issues.new.milestone=Milsten
-issues.new.no_milestone=Ingen Milsten
+issues.new.no_milestone=Ingen milstolpe
issues.new.clear_milestone=Rensa milstenar
-issues.new.open_milestone=Öppna Milstenar
-issues.new.closed_milestone=Stängda Milstenar
+issues.new.open_milestone=Öppna milstolpar
+issues.new.closed_milestone=Stängda milstolpar
issues.new.assignees=Tilldelade
issues.new.clear_assignees=Rensa tilldelade
-issues.new.no_assignees=Ingen tilldelad
+issues.new.no_assignees=Inga tilldelade
issues.new.no_reviewers=Inga granskare
issues.choose.get_started=Kom igång
issues.choose.open_external_link=Öppna
issues.choose.blank=Standard
issues.choose.blank_about=Skapa ett ärende från standardmall.
-issues.no_ref=Ingen Branch/Tag specificerad
-issues.create=Skapa Ärende
+issues.no_ref=Ingen gren/etikett specificerad
+issues.create=Skapa ärende
issues.new_label=Ny etikett
issues.new_label_placeholder=Etikettsnamn
issues.new_label_desc_placeholder=Beskrivning
-issues.create_label=Skapa Etikett
+issues.create_label=Skapa etikett
issues.label_templates.title=Ladda en fördefinierad uppsättning etiketter
-issues.label_templates.info=Inga etiketter finns ännu. Skapa en etikett med 'Ny etikett' eller använd fördefinierade etiketter:
+issues.label_templates.info=Inga etiketter finns ännu. Skapa en etikett med "Ny etikett" eller använd fördefinierade etiketter:
issues.label_templates.helper=Markera en uppsättning etiketter
issues.label_templates.use=Använd etikettsamling
issues.add_milestone_at=`lade till denna till milstolpe %s %s`
@@ -1000,20 +1091,20 @@ issues.commented_at=`kommenterad %s `
issues.delete_comment_confirm=Är du säker på att du vill ta bort den här kommentaren?
issues.context.copy_link=Kopiera länk
issues.context.quote_reply=Citerat svar
-issues.context.reference_issue=Referens i nytt ärende
+issues.context.reference_issue=Hänvisa till i nytt ärende
issues.context.edit=Redigera
issues.context.delete=Ta bort
-issues.close_comment_issue=Kommentera och stäng
+issues.close_comment_issue=Stäng med kommentar
issues.reopen_issue=Återöppna
-issues.reopen_comment_issue=Kommentera och återöppna
+issues.reopen_comment_issue=Öppna igen med kommentar
issues.create_comment=Kommentera
issues.closed_at=`stängde ärendet %[2]s `
issues.reopened_at=`återöppnade detta ärende %[2]s `
issues.commit_ref_at=`refererade till detta ärende från en incheckning %[2]s `
issues.ref_issue_from=`refererade till detta ärende %[4]s %[2]s `
issues.ref_pull_from=`refererade till denna pull-förfrågan %[4]s %[2]s `
-issues.ref_closing_from=`refererade till en pull-förfrågan %[4]s som kommer att stänga detta ärende %[2]s `
-issues.ref_reopening_from=`refererade till en pull-förfrågan %[4]s som kommer att öppna ärendet på nytt %[2]s `
+issues.ref_closing_from=`hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att stänga det %[2]s `
+issues.ref_reopening_from=`hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att öppna ärendet på nytt %[2]s `
issues.ref_closed_from=`stängde detta ärende %[4]s %[2]s `
issues.ref_reopened_from=`öpnnade detta ärende igen %[4]s %[2]s `
issues.ref_from=`från %[1]s`
@@ -1052,11 +1143,11 @@ issues.lock.unknown_reason=Kan inte låsa ärende utan angiven anledning.
issues.lock_duplicate=Ett ärende kan inte låsas två gånger.
issues.unlock_error=Kan inte låsa upp ett olåst ärende.
issues.lock_with_reason=låst som %s och begränsad konversation till medarbetare %s
-issues.lock_no_reason=låst och begränsat konversation till kollaboratörer %s
+issues.lock_no_reason=låst och begränsat konversation till medarbetare %s
issues.unlock_comment=lås upp denna konversation %s
issues.lock_confirm=Lås
issues.unlock_confirm=Lås upp
-issues.lock.notice_1=- Andra användare kan inte kommentera detta ärende.
+issues.lock.notice_1=- Andra användare kan inte kommentera på detta ärende.
issues.lock.notice_2=- Du och andra kollaboratörer med tillgång till denna utvecklingskatalog kan fortfarande skriva kommentarer som andra kan se.
issues.lock.notice_3=- Du kan alltid låsa upp detta ärende senare.
issues.unlock.notice_1=- Alla kommer kunna kommentera detta ärende en gång till.
@@ -1082,7 +1173,7 @@ issues.del_time_history=`raderade tillbringad tid %s`
issues.add_time_hours=Timmar
issues.add_time_minutes=Minuter
issues.add_time_sum_to_small=Inge tid har angivits.
-issues.time_spent_total=Total Tid Spenderad
+issues.time_spent_total=Total tid spenderad
issues.time_spent_from_all_authors=`Total Tid Spenderad: %s`
issues.due_date=Förfallodatum
issues.invalid_due_date_format=Datumsformatet för förfallodatum måste följa 'yyyy-MM-dd'.
@@ -1099,7 +1190,7 @@ issues.due_date_not_set=Inget förfallodatum satt.
issues.due_date_added=lade till förfallodatumet %s %s
issues.due_date_remove=tog bort förfallodatumet %s %s
issues.due_date_overdue=Försenad
-issues.due_date_invalid=Förfallodatumet är ogiltigt eller utanför gränserna. Använd formatet 'åååå-mm-dd'.
+issues.due_date_invalid=Förfallodatumet är ogiltigt eller utanför gränserna. Använd formatet "åååå-mm-dd".
issues.dependency.title=Beroenden
issues.dependency.add=Lägg till beroende…
issues.dependency.cancel=Avbryt
@@ -1129,10 +1220,10 @@ issues.review.approve=godkände dessa ändringar %s
issues.review.comment=granskad av %s
issues.review.left_comment=lämnade en kommentar
issues.review.content.empty=Du måste skriva en kommentar som anger de önskade ändringarna.
-issues.review.reject=begärda ändringar %s
-issues.review.wait=begärdes för granskning %s
-issues.review.add_review_request=begärde granskning från %s %s
-issues.review.remove_review_request=tog bort granskningsbegäran för %s %s
+issues.review.reject=efterfrågade ändringar %s
+issues.review.wait=efterfrågades för granskning %s
+issues.review.add_review_request=efterfrågade granskning från %[1]s %[2]s
+issues.review.remove_review_request=tog bort granskningsförfrågan för %[1]s %[2]s
issues.review.remove_review_request_self=vägrade att granska %s
issues.review.pending=Väntande
issues.review.review=Granska
@@ -1148,21 +1239,21 @@ issues.content_history.options=Alternativ
pulls.desc=Aktivera pull-förfrågningar och kodgranskning.
-pulls.new=Ny Pull-Förfrågan
-pulls.compare_changes=Ny Pull-Request
+pulls.new=Ny pull-förfrågan
+pulls.compare_changes=Ny pull-förfrågan
pulls.compare_changes_desc=Välj branchen att merga in i, och ifrån.
pulls.compare_base=merga in i
pulls.compare_compare=pulla från
pulls.filter_branch=Filtrera gren
pulls.no_results=Inga resultat hittades.
pulls.nothing_to_compare=Dessa brancher är ekvivalenta. Det finns ingen anledning att skapa en pull-request.
-pulls.create=Skapa Pullförfrågan
+pulls.create=Skapa pull-förfrågan
pulls.title_desc_few=vill sammanfoga %[1]d incheckningar från s[2]s
in i %[3]s
pulls.merged_title_desc_few=sammanfogade %[1]d incheckningar från %[2]s
in i %[3]s
%[4]s
pulls.change_target_branch_at=`ändrade mål-branch från %s till %s %s`
pulls.tab_conversation=Konversation
pulls.tab_commits=Incheckningar
-pulls.tab_files=Ändrade Filer
+pulls.tab_files=Ändrade filer
pulls.reopen_to_merge=Vänligen återöppna denna Pull-förfrågan igen för att utföra sammanfogningen.
pulls.cant_reopen_deleted_branch=Denna pull-förfrågan kan inte öppnas igen eftersom branchen tagits bort.
pulls.merged=Sammanfogat
@@ -1199,12 +1290,12 @@ milestones.no_due_date=Inget förfallodatum
milestones.open=Öppna
milestones.close=Stäng
milestones.completeness=%d%% Slutförd
-milestones.create=Skapa Milstolpe
+milestones.create=Skapa milstolpe
milestones.title=Titel
milestones.desc=Beskrivning
milestones.due_date=Förfallodatum (valfritt)
milestones.clear=Rensa
-milestones.invalid_due_date_format=Förfallodatumsformatet måste vara 'yyyy-MM-dd'.
+milestones.invalid_due_date_format=Förfallodatumsformatet måste vara "åååå-mm-dd".
milestones.edit=Redigera milstolpe
milestones.edit_subheader=Milstolpar organiserar ärenden och följer utvecklingens fortskridande.
milestones.cancel=Avbryt
@@ -1232,7 +1323,7 @@ wiki.default_commit_message=Skriv en anteckning om den här uppdateringen (valfr
wiki.save_page=Spara sidan
wiki.last_commit_info=%s redigerade denna sida %s
wiki.edit_page_button=Redigera
-wiki.new_page_button=Ny Sida
+wiki.new_page_button=Ny sida
wiki.back_to_wiki=Tillbaka till wikisidan
wiki.delete_page_button=Tag bort sida
wiki.page_already_exists=Wiki-sida med samma namn finns redan.
@@ -1249,39 +1340,39 @@ activity.period.quarterly=3 månader
activity.period.semiyearly=6 månader
activity.period.yearly=1 år
activity.overview=Översikt
-activity.active_prs_count_1=%d Aktiv Pull begäran
-activity.active_prs_count_n=%d Aktiva Pull begärelser
+activity.active_prs_count_1=%d aktiv pull-förfrågan
+activity.active_prs_count_n=%d aktiva pull-förfrågningar
activity.merged_prs_count_1=Sammanfogad Pull-förfrågan
activity.merged_prs_count_n=Sammanfogade Pull-förfrågningar
-activity.opened_prs_count_1=Föreslagen Pull begäran
-activity.opened_prs_count_n=Föreslagna Pull-förfrågningar
+activity.opened_prs_count_1=Föreslagen pull-förfrågan
+activity.opened_prs_count_n=Föreslagna pull-förfrågningar
activity.title.user_1=%d användare
activity.title.user_n=%d användare
-activity.title.prs_1=%d Pull-begäran
-activity.title.prs_n=%d Pull begärelser
+activity.title.prs_1=%d pull-förfrågningar
+activity.title.prs_n=%d pull-förfrågningar
activity.title.prs_merged_by=%s sammanfogad av %s
activity.title.prs_opened_by=%s föreslås av %s
activity.merged_prs_label=Sammanfogad
activity.opened_prs_label=Föreslagen
-activity.active_issues_count_1=%d Aktivt ärende
-activity.active_issues_count_n=%d Aktiva ärenden
+activity.active_issues_count_1=%d aktivt ärende
+activity.active_issues_count_n=%d aktiva ärenden
activity.closed_issues_count_1=Stängt ärende
activity.closed_issues_count_n=Stängda ärenden
activity.title.issues_1=%d ärende
-activity.title.issues_n=%d Ärenden
+activity.title.issues_n=%d ärenden
activity.title.issues_created_by=%s skapad av %s
activity.closed_issue_label=Stängd
activity.new_issues_count_1=Nytt ärende
activity.new_issues_count_n=Nya ärenden
activity.new_issue_label=Öppnad
-activity.title.unresolved_conv_1=%d Olöst konversation
-activity.title.unresolved_conv_n=%d Olösta konversationer
+activity.title.unresolved_conv_1=%d olöst konversation
+activity.title.unresolved_conv_n=%d olösta konversationer
activity.unresolved_conv_desc=De nyligen förändrade ärendena och pull-requesterna har inte blivit lösta ännu.
activity.unresolved_conv_label=Öppna
-activity.title.releases_1=%d release
-activity.title.releases_n=%d releaser
+activity.title.releases_1=%d utgåva
+activity.title.releases_n=%d utgåvor
activity.title.releases_published_by=%s publicerad av %s
-activity.published_release_label=Publicerad
+activity.published_release_label=Utgåva
activity.no_git_activity=Det har inte gjorts några commit under den här perioden.
activity.git_stats_exclude_merges=Exkludera merger,
activity.git_stats_author_1=%d författare
@@ -1321,34 +1412,34 @@ settings.mirror_settings=Inställningar för spegling
settings.sync_mirror=Synkronisera nu
settings.site=Webbplats
-settings.update_settings=Uppdatera inställningar
-settings.advanced_settings=Advancerade Inställningar
+settings.update_settings=Spara inställningar
+settings.advanced_settings=Avancerade Inställningar
settings.wiki_desc=Aktivera wiki för utvecklingskatalog
-settings.use_internal_wiki=Använd inbyggd Wiki
-settings.use_external_wiki=Använd extern Wiki
-settings.external_wiki_url=Extern Wiki-URL
+settings.use_internal_wiki=Använd inbyggd wiki
+settings.use_external_wiki=Använd extern wiki
+settings.external_wiki_url=URL till extern wiki
settings.external_wiki_url_error=Den externa wiki-länken är inte giltig.
settings.external_wiki_url_desc=Besökare omdirigeras till den externa wiki-länken när de trycker på wiki-tabben.
settings.issues_desc=Aktivera ärendehantering för utvecklingskatalogen
settings.use_internal_issue_tracker=Använd inbyggt ärendehanteringssystem
settings.use_external_issue_tracker=Använd externt ärendehanteringssystem
-settings.external_tracker_url=URL För Extern Ärendehanterare
+settings.external_tracker_url=URL för externt ärendehanteringssystem
settings.external_tracker_url_error=Länken för ärendehanteringsystemet är inte en giltig länk.
settings.external_tracker_url_desc=Besökare dirigeras om till länken för det externa ärendehanteringssystemet när de trycker på ärende-tabben.
-settings.tracker_url_format=URL-Format För Extern Ärendehanterare
+settings.tracker_url_format=URL-format för externt ärendehanteringssystem
settings.tracker_url_format_error=URL-formatet för den extern ärendehanterare är inte en giltig URL.
-settings.tracker_issue_style=Externt ärendenummersformat
+settings.tracker_issue_style=Externt ärendenummerformat
settings.tracker_issue_style.numeric=Numerisk
settings.tracker_issue_style.alphanumeric=Alfanumerisk
settings.tracker_url_format_desc=Använd variablerna {user}
, {repo}
och {index}
för användarnamn, utvecklingskatalogsnamn och ärenderegister.
settings.enable_timetracker=Aktivera tidsredovisning
-settings.allow_only_contributors_to_track_time=Låt endast medarbetare spåra tidsredovisning
-settings.pulls_desc=Aktivera Pull Requests för utvecklingskatalog
+settings.allow_only_contributors_to_track_time=Låt endast medarbetare spåra tid
+settings.pulls_desc=Aktivera pull-förfrågningar för utvecklingskatalog
settings.pulls.ignore_whitespace=Ignorera blanksteg vid konflikter
settings.admin_settings=Administratörsinställningar
settings.admin_enable_health_check=Aktivera hälsokontroll för utvecklingskataloger (git fsck)
settings.admin_enable_close_issues_via_commit_in_any_branch=Stäng ett ärende via en commit gjord i en icke standard-gren
-settings.danger_zone=Högrisksområde
+settings.danger_zone=Farozon
settings.new_owner_has_same_repo=Den nya ägaren har redan ett repo med det namnet. Vänligen välj ett annat namn.
settings.convert=Konvertera till vanlig utvecklingskatalog
settings.convert_desc=Du kan konvertera denna spegling till en vanlig utvecklingskatalog. Detta kan ej ångras.
@@ -1362,15 +1453,15 @@ settings.transfer_desc=Överför denna utvecklingskatalog till en användare ell
settings.transfer_form_title=Ange utvecklingskatalogens namn för att bekräfta:
settings.transfer_notices_1=- Du kommer förlora åtkomst till denna utvecklingskatalog om du för över den till en individuell användare.
settings.transfer_notices_2=- Du kommer behålla åtkomst till utvecklingskatalogen om du för över den till en organisation som du antingen äger eller är delägare i.
-settings.transfer_owner=Ny Ägare
+settings.transfer_owner=Ny ägare
settings.transfer_succeed=Utvecklingskatalogen har flyttats över.
settings.trust_model.collaborator=Medarbetare
-settings.wiki_delete=Ta bort wiki-data
+settings.wiki_delete=Ta bort wikidata
settings.wiki_delete_desc=Borttagning av utvecklingskatalogens wiki-data är permanent och kan ej ångras.
settings.wiki_delete_notices_1=- Detta kommer permanent ta bort och inaktivera utvecklingskatalogens wiki för %s.
-settings.confirm_wiki_delete=Ta bort wiki-data
+settings.confirm_wiki_delete=Ta bort wikidata
settings.wiki_deletion_success=Utvecklingskatalogens wiki-data har blivit borttaget.
-settings.delete=Ta Bort Detta Repo
+settings.delete=Ta bort denna utvecklingskatalog
settings.delete_desc=Borttagning av en utvecklingskatalog är permanent och kan ej ångras.
settings.delete_notices_1=- Denna åtgärd kan INTE ångras.
settings.delete_notices_2=- Denna åtgärd kommer permanent ta bort utvecklingskatalogen %s inklusive kod, ärenden, kommentarer, wiki-data samt medarbetarinställningar.
@@ -1393,12 +1484,12 @@ settings.teams=Grupper
settings.add_team_duplicate=Teamet har redan utvecklingskatalogen
settings.add_team_success=Teamet har nu tillgång till utvecklingskatalogen.
settings.remove_team_success=Teamets åtkomst till utvecklingskatalogen har tagits bort.
-settings.add_webhook=Lägg Till Webbhook
+settings.add_webhook=Lägg till webbhook
settings.hooks_desc=Webhooks gör automatiskt ett HTTP POST anrop mot en server när vissa Forgejo events triggas. Läs mer om detta i webhooks guiden .
-settings.webhook_deletion=Ta bort Webhook
+settings.webhook_deletion=Ta bort webbhook
settings.webhook_deletion_desc=Borttagning utav en webhook tar även bort dess inställningar och leveranshistorik. Vill du fortsätta?
settings.webhook_deletion_success=Webhooken har blivit borttagen.
-settings.webhook.test_delivery=Testa Leverans
+settings.webhook.test_delivery=Testa leverans
settings.webhook.test_delivery_desc=Testa webhooken genom ett testevent.
settings.webhook.request=Begäran
settings.webhook.response=Svar
@@ -1409,19 +1500,19 @@ settings.githook_edit_desc=Om kroken är inaktiv visas exempelinnehåll. Inaktiv
settings.githook_name=Kroknamn
settings.githook_content=Krokinnehåll
settings.update_githook=Uppdatera krok
-settings.add_webhook_desc=Forgejo kommer skicka ett POST
anrop med en specificerad Content-Type till måladressen. Läs mer om detta i webhook guiden .
+settings.add_webhook_desc=Forgejo kommer skicka ett POST
anrop med en specificerad Content-Type till måladressen. Läs mer om detta i webhook-guiden .
settings.payload_url=Mål-URL
settings.http_method=HTTP-metod
-settings.content_type=POST Content Type
+settings.content_type=POST content type
settings.secret=Hemlighet
settings.slack_username=Användarnamn
settings.slack_icon_url=URL för ikon
settings.discord_username=Användarnamn
settings.discord_icon_url=URL för ikon
settings.event_desc=Trigga vid:
-settings.event_push_only=Push Events
-settings.event_send_everything=Alla events
-settings.event_choose=Anpassade events…
+settings.event_push_only=Push-händelser
+settings.event_send_everything=Alla händelser
+settings.event_choose=Anpassade händelser…
settings.event_header_repository=Händelser i utvecklingskatalogen
settings.event_create=Skapa
settings.event_create_desc=Branch eller tagg skapad.
@@ -1461,19 +1552,19 @@ settings.title=Titel
settings.deploy_key_content=Innehåll
settings.key_been_used=En distributionsnyckel med identiskt innehåller används redan.
settings.key_name_used=En distributionsnyckel med samma namn finns redan.
-settings.deploy_key_deletion=Ta bort distributionsnyckel
+settings.deploy_key_deletion=Ta bort driftsättningsnyckel
settings.deploy_key_deletion_desc=Borttagning utav en distributionsnyckel kommer att återkalla dess åtkomst till utvecklingskatalogen. Vill du fortsätta?
settings.deploy_key_deletion_success=Distributionsnyckeln har blivit borttagen.
settings.branches=Brancher
-settings.protected_branch=Branchskydd
+settings.protected_branch=Grenskydd
settings.protected_branch_can_push=Tillåt push?
settings.protected_branch_can_push_yes=Du kan pusha
settings.protected_branch_can_push_no=Du kan inte pusha
-settings.branch_protection=Branchskydd för '%s '
+settings.branch_protection=Skyddsregler för gren "%s "
settings.protect_this_branch=Aktivera branchskydd
-settings.protect_disable_push=Inaktivera Push
+settings.protect_disable_push=Inaktivera push
settings.protect_disable_push_desc=Inga push-förfrågningar kommer att tillåtas till denna branch.
-settings.protect_enable_push=Aktivera Push
+settings.protect_enable_push=Aktivera push
settings.protect_enable_push_desc=Alla med skrivrättigheter kommer att kunna pusha till denna branch (men inte force-pusha).
settings.protect_whitelist_deploy_keys=Vitlista deploy-nyckar med skrivåtkomst till push.
settings.protect_whitelist_users=Vitlistade användare för pushning
@@ -1490,33 +1581,33 @@ settings.protect_check_status_contexts_list=Statuskontroller funna under senaste
settings.protect_required_approvals=Godkännanden som krävs
settings.protect_approvals_whitelist_users=Vitlistade granskare
settings.protect_approvals_whitelist_teams=Vitlistade team för granskning
-settings.require_signed_commits=Kräv signerade commits
+settings.require_signed_commits=Kräv signerade commiter
settings.require_signed_commits_desc=Avvisa pushar till den här grenen om dom är osignerade eller inte verifierbara.
settings.add_protected_branch=Aktivera skydd
settings.delete_protected_branch=Inaktivera skydd
-settings.protected_branch_deletion=Inaktivera skydd för branch
+settings.protected_branch_deletion=Inaktivera grenskydd
settings.protected_branch_deletion_desc=Genom att inaktivera branchskyddet tillåts användare med skrivrättigheter att pusha till branchen. Vill du fortsätta?
settings.default_branch_desc=Välj en standard branch för Pull Requests och Code Commits:
settings.choose_branch=Välj en branch…
settings.no_protected_branch=Det finns inga skyddade brancher.
settings.edit_protected_branch=Ändra
settings.protected_branch_required_approvals_min=Antal erforderliga godkännanden kan inte vara negativa.
-settings.bot_token=Bot Token
+settings.bot_token=Bottoken
settings.chat_id=Chatt-ID
settings.matrix.room_id=Rum-ID
settings.matrix.message_type=Typ av meddelande
-settings.archive.button=Arkivera förråd
-settings.archive.header=Arkivera detta förråd
+settings.archive.button=Arkivera utvecklingskatalog
+settings.archive.header=Arkivera denna utvecklingskatalog
settings.archive.success=Förrådet arkiverades.
settings.archive.error=Ett fel uppstod när utvecklingskatalogen arkiverades. Se loggen för fler detaljer.
settings.archive.error_ismirror=Du kan inte arkivera ett speglat förråd.
-settings.archive.branchsettings_unavailable=Inställningar för grenar är inte tillgängliga om förrådet arkiverats.
+settings.archive.branchsettings_unavailable=Inställningar för grenar är inte tillgängliga för arkiverade utvecklingskataloger.
settings.update_avatar_success=Utvecklingskatalogens avatar har uppdaterats.
settings.lfs=LFS
settings.lfs_filelist=LFS filer lagrade i denna utvecklingskatalog
settings.lfs_no_lfs_files=Inga LFS filer är lagrade i denna utvecklingskatalog
settings.lfs_findcommits=Hitta commits
-settings.lfs_lfs_file_no_commits=Ingen commit hittad för denna LFS fil
+settings.lfs_lfs_file_no_commits=Ingen commit hittad för denna LFS-fil
settings.lfs_locks=Lås
settings.lfs_invalid_locking_path=Ogiltig sökväg: %s
settings.lfs_invalid_lock_directory=Kan inte låsa katalog: %s
@@ -1525,18 +1616,18 @@ settings.lfs_lock=Lås
settings.lfs_lock_path=Filväg att låsa...
settings.lfs_locks_no_locks=Inga lås
settings.lfs_force_unlock=Tvinga upplåsning
-settings.lfs_pointers.sha=Blob SHA
+settings.lfs_pointers.sha=Blobhash
settings.lfs_pointers.oid=OID
settings.lfs_pointers.inRepo=I utvecklingskatalogen
settings.rename_branch_failed_not_exist=Kan inte byta namn på branchen %s eftersom den inte finns.
-diff.browse_source=Bläddra i källkod
+diff.browse_source=Bläddra källkod
diff.parent=förälder
diff.commit=incheckning
diff.git-notes=Anteckningar
-diff.data_not_available=Diff Content ej tillgänglig
-diff.show_split_view=Delad Vy
-diff.show_unified_view=Unifierad Vy
+diff.data_not_available=Diff-innehåll ej tillgänglig
+diff.show_split_view=Delad vy
+diff.show_unified_view=Unifierad vy
diff.whitespace_button=Blanksteg
diff.whitespace_show_everything=Visa alla ändringar
diff.whitespace_ignore_all_whitespace=Ignorera blanksteg när rader jämförs
@@ -1552,12 +1643,12 @@ diff.file_image_height=Höjd
diff.file_byte_size=Storlek
diff.file_suppressed=Filskillnaden har hållits tillbaka eftersom den är för stor
diff.comment.placeholder=Lämna en kommentar
-diff.comment.markdown_info=Styling med markdown stöds.
+diff.comment.markdown_info=Stilisering med Markdown stöds.
diff.comment.add_single_comment=Lägg till en kommentar
diff.comment.add_review_comment=Lägg till kommentar
diff.comment.start_review=Starta granskning
diff.comment.reply=Svara
-diff.review=Granska
+diff.review=Slutför granskning
diff.review.placeholder=Granskningskommentar
diff.review.comment=Kommentar
diff.review.approve=Godkänn
@@ -1566,12 +1657,12 @@ diff.committed_by=committad av
releases.desc=Följ projektversioner och nerladdningar.
release.releases=Släpp
-release.new_release=Nytt Släpp
+release.new_release=Ny utgåva
release.draft=Utkast
-release.prerelease=Försläpp
+release.prerelease=Förutgåva
release.stable=Stabil
release.compare=Jämför
-release.edit=redigera
+release.edit=Redigera
release.ahead.commits=%d committer
release.ahead.target=till %s sedan denna utgåva
release.source_code=Källkod
@@ -1580,23 +1671,23 @@ release.edit_subheader=Releaser organiserar projektversioner.
release.tag_name=Taggnamn
release.target=Mål
release.tag_helper=Välj en existerande tagg eller skapa en ny tagg.
-release.prerelease_desc=Markera som en Pre-Release
+release.prerelease_desc=Markera som en förutgåva
release.prerelease_helper=Markera denna Release olämpliga för användning i produktion.
release.cancel=Avbryt
-release.publish=Publicera Släpp
-release.save_draft=Spara Utkast
-release.edit_release=Uppdatera Release
-release.delete_release=Ta bort Release
-release.deletion=Ta bort Release
+release.publish=Publicera utgåva
+release.save_draft=Spara utkast
+release.edit_release=Uppdatera utgåva
+release.delete_release=Ta bort utgåva
+release.deletion=Ta bort utgåva
release.deletion_success=Releasen har blivit raderad.
release.tag_name_already_exist=En release med denna tagg existerar redan.
release.tag_name_invalid=Taggnamnet är inte giltigt.
release.downloads=Nedladdningar
release.download_count=Nedladdningar: %s
-branch.name=Branch namn
+branch.name=Grennamn
branch.delete_head=Radera
-branch.delete_html=Radera branch
+branch.delete_html=Ta borg gren
branch.create_branch=Skapa branchen %s
branch.deleted_by=Raderad av %s
@@ -1613,7 +1704,7 @@ settings.enter_repo_name = Ange ägar- och utvecklingskatalog-namnet exakt som d
[org]
org_name_holder=Organisationsnamn
-org_full_name_holder=Organisationens Fullständiga Namn
+org_full_name_holder=Fullständigt organisationsnamn
org_name_helper=Organisationsnamn bör vara korta och enkla att komma ihåg.
create_org=Skapa organisation
repo_updated=Uppdaterad %s
@@ -1621,10 +1712,10 @@ members=Medlemmar
teams=Grupper
lower_members=medlemmar
lower_repositories=utvecklingskataloger
-create_new_team=Nytt Team
-create_team=Skapa Team
+create_new_team=Nytt lag
+create_team=Skapa lag
org_desc=Beskrivning
-team_name=Gruppnamn
+team_name=Lagnamn
team_desc=Beskrivning
team_name_helper=Teamnamn bör vara korta och lätta att komma ihåg.
team_desc_helper=Beskriv syftet eller rollen för teamet.
@@ -1651,7 +1742,7 @@ settings.update_settings=Uppdatera inställningar
settings.update_setting_success=Organisationsinställningarna har uppdaterats.
settings.update_avatar_success=Organisationens avatar har uppdateras.
settings.delete=Tag bort organisation
-settings.delete_account=Tag bort denna organisation
+settings.delete_account=Ta bort denna organisationen
settings.delete_prompt=Organisationen kommer tas bort permanent, och det går INTE att ångra detta!
settings.confirm_delete_account=Bekräfta borttagning
settings.delete_org_title=Ta bort organisation
@@ -1662,9 +1753,9 @@ settings.labels_desc=Lägg till etiketter som kan användas till ärenden för <
members.membership_visibility=Synlighet för medlemskap:
members.public=Synlig
-members.public_helper=gör dold
+members.public_helper=Gör dold
members.private=Dold
-members.private_helper=gör synlig
+members.private_helper=Gör synlig
members.member_role=Medlemsroll:
members.owner=Ägare
members.member=Medlem
@@ -1685,18 +1776,18 @@ teams.admin_access_helper=Medlemmar kan pulla och pusha till teamets utvecklings
teams.no_desc=Detta team har ingen beskrivning
teams.settings=Inställningar
teams.owners_permission_desc=Ägare har full åtkomst till alla utvecklingskataloger och har administratörsåtkomst till organisationen.
-teams.members=Teammedlemmar
+teams.members=Lagmedlemmar
teams.update_settings=Uppdatera inställningar
-teams.delete_team=Ta bort team
-teams.add_team_member=Lägg till teammedlem
-teams.delete_team_title=Ta bort team
+teams.delete_team=Ta bort lag
+teams.add_team_member=Lägg till lagmedlem
+teams.delete_team_title=Ta bort lag
teams.delete_team_desc=Borttagning av ett team återkallar åtkomsten till utvecklingskatalogen för dess medlemmar. Vill du fortsätta?
teams.delete_team_success=Teamet har blivit borttaget.
teams.read_permission_desc=Medlemskap i detta team ger läsrättigheter : medlemmar kan se och klona teamets utvecklingskataloger.
teams.write_permission_desc=Medlemskap i detta team ger skrivrättigheter : medlemmar kan läsa och pusha till teamets utvecklingskataloger.
-teams.admin_permission_desc=Medlemskap i detta team ger administratörsrättigheter : medlemmar kan läsa, pusha och lägga till medarbetare till teamets utvecklingskataloger.
+teams.admin_permission_desc=Medlemskap i detta lag ger administratörsrättigheter : medlemmar kan läsa från, pusha till och lägga till medarbetare till lagets utvecklingskataloger.
teams.create_repo_permission_desc=Vidare så ger detta team Skapa utvecklingskatalog rättigheten: medlemmar can skapa nya utvecklingskataloger i organisationen.
-teams.repositories=Teamförråd
+teams.repositories=Lagets utvecklingskataloger
teams.search_repo_placeholder=Sök utvecklingskatalog…
teams.remove_all_repos_title=Ta bort alla utvecklingskataloger för teamet
teams.remove_all_repos_desc=Detta kommer att ta bort alla utvecklingskataloger från teamet.
@@ -1715,10 +1806,10 @@ teams.all_repositories_admin_permission_desc=Detta team beviljar Admin
[admin]
dashboard=Instrumentpanel
-users=Användarkonto
+users=Användarkonton
organizations=Organisationer
repositories=Utvecklingskataloger
-authentication=Autentiseringskälla
+authentication=Autentiseringskällor
config=Konfiguration
notices=Systemaviseringar
monitor=Övervakning
@@ -1728,7 +1819,7 @@ total=Totalt: %d
dashboard.statistic=Översikt
dashboard.operations=Operationer för underhåll
-dashboard.system_status=Status
+dashboard.system_status=Systemstatus
dashboard.operation_name=Operationsnamn
dashboard.operation_switch=Byt till
dashboard.operation_run=Kör
@@ -1741,19 +1832,19 @@ dashboard.resync_all_hooks=Återsynkronisera pre-recieve, update och post-receiv
dashboard.reinit_missing_repos=Återinitialisera alla saknade utvecklingskataloger som vi känner till
dashboard.sync_external_users=Synkronisera extern användardata
dashboard.server_uptime=Serverns upptid
-dashboard.current_goroutine=Aktuella Goroutiner
-dashboard.current_memory_usage=Nuvarande Minnesanvändning
-dashboard.total_memory_allocated=Total Minnesanvändning
+dashboard.current_goroutine=Aktuella gorutiner
+dashboard.current_memory_usage=Nuvarande minnesanvändning
+dashboard.total_memory_allocated=Total minnesanvändning
dashboard.memory_obtained=Minnesåtgång
dashboard.pointer_lookup_times=Pekaruppslagstider
dashboard.memory_allocate_times=Minneallokeringar
dashboard.memory_free_times=Minnesfrigörelser
-dashboard.current_heap_usage=Nuvarande Heap användning
-dashboard.heap_memory_obtained=Heap-minne som erhållits
-dashboard.heap_memory_idle=Heap-minne som är inaktivt
-dashboard.heap_memory_in_use=Heap-minne som används
-dashboard.heap_memory_released=Heap-minne som har släppts
-dashboard.heap_objects=Heap objekt
+dashboard.current_heap_usage=Nuvarande heapanvändning
+dashboard.heap_memory_obtained=Heapminne som erhållits
+dashboard.heap_memory_idle=Heapminne som är inaktivt
+dashboard.heap_memory_in_use=Heapminne som används
+dashboard.heap_memory_released=Heapminne som har släppts
+dashboard.heap_objects=Heapobjekt
dashboard.bootstrap_stack_usage=Bootstrap Stack-användning
dashboard.stack_memory_obtained=Stackminne som erhålls
dashboard.mspan_structures_usage=MSpan strukturanvändning
@@ -1770,7 +1861,7 @@ dashboard.total_gc_pause=Total tid för pauser vid skräpsamling
dashboard.last_gc_pause=Senaste paus vid skräpsamling
dashboard.gc_times=Skräpsamlingstider
-users.user_manage_panel=Hantering av användarkonton
+users.user_manage_panel=Hantera användarkonton
users.new_account=Skapa användarkonto
users.name=Användarnamn
users.full_name=Fullständigt namn
@@ -1779,8 +1870,8 @@ users.admin=Administratör
users.repos=Utvecklingskataloger
users.created=Skapad
users.last_login=Senaste inloggning
-users.never_login=Aldrig varit inloggad
-users.send_register_notify=Skicka notifiering vid användarregistrering
+users.never_login=Aldrig loggat in
+users.send_register_notify=Notifiera om registrering via e-post
users.edit=Redigera
users.auth_source=Autentiseringskälla
users.local=Lokal
@@ -1790,10 +1881,10 @@ users.update_profile_success=Användarkontot har blivit uppdaterat.
users.edit_account=Redigera användarkontot
users.max_repo_creation=Maximalt antal utvecklingskataloger
users.max_repo_creation_desc=(Ange -1 för att använda global satt gräns.)
-users.is_activated=Användarkontot är aktiverat
-users.prohibit_login=Inaktivera inloggning
-users.is_admin=Är administratör
-users.allow_git_hook=Kan skapa Git hooks
+users.is_activated=Aktiverat konto
+users.prohibit_login=Avstängt konto
+users.is_admin=Administratörkonto
+users.allow_git_hook=Kan skapa Git-hooks
users.allow_import_local=Kan importera lokala utvecklingskataloger
users.allow_create_organization=Kan skapa organisationer
users.update_profile=Uppdatera användarkonto
@@ -1809,15 +1900,15 @@ emails.activated=Aktiverad
emails.filter_sort.email=E-post
emails.filter_sort.email_reverse=E-post (omvänd)
emails.filter_sort.name=Användarnamn
-emails.filter_sort.name_reverse=Användarnamn (omvänd)
+emails.filter_sort.name_reverse=Användarnamn (omvänt)
-orgs.org_manage_panel=Organisationshantering
+orgs.org_manage_panel=Hantera organisationer
orgs.name=Namn
orgs.teams=Team
orgs.members=Medlemmar
orgs.new_orga=Ny organisation
-repos.repo_manage_panel=Utvecklingskatalogshantering
+repos.repo_manage_panel=Hantera utvecklingskataloger
repos.owner=Ägare
repos.name=Namn
repos.private=Privat
@@ -1836,7 +1927,7 @@ packages.size=Storlek
systemhooks=Systemets webbhooks
-auths.auth_manage_panel=Hantering av autentiseringkälla
+auths.auth_manage_panel=Hantera autentiseringkällor
auths.new=Lägg till autensieringskälla
auths.name=Namn
auths.type=Typ
@@ -1850,29 +1941,29 @@ auths.domain=Domän
auths.host=Värd
auths.port=Port
auths.bind_dn=Bind DN
-auths.bind_password=Bind Lösenord
+auths.bind_password=Bind lösenord
auths.user_base=Användarsökbas
auths.user_dn=Användarnas DN
auths.attribute_username=Användarnamnsattribut
auths.attribute_username_placeholder=Lämna tomt om du vill använda det användarnamn som angivits i Forgejo.
auths.attribute_name=Förnamnsattribut
auths.attribute_surname=Efternamnsattribut
-auths.attribute_mail=Mejlattribut
+auths.attribute_mail=E-postattribut
auths.attribute_ssh_public_key=Attribut för offentlig SSH-nyckel
-auths.attributes_in_bind=Hämta attribut ur Bind DN Context
+auths.attributes_in_bind=Hämta attribut ur bind DN context
auths.use_paged_search=Använd paginerad sökning
auths.search_page_size=Sidstorlek
auths.filter=Användarfilter
auths.admin_filter=Administratörsfilter
auths.ms_ad_sa=MS AD sökattribut
-auths.smtp_auth=SMTP Autentiseringstyp
+auths.smtp_auth=SMTP autentiseringstyp
auths.smtphost=SMTP-server
auths.smtpport=SMTP-port
-auths.allowed_domains=Tillåtna Domäner
-auths.allowed_domains_helper=Lämna tomt om du vill tillåta alla domäner. Separera flera domäner med ett kommatecken (',').
-auths.skip_tls_verify=Skippa verifikation av TLS
-auths.pam_service_name=PAM Tjänstnamn
-auths.oauth2_provider=OAuth2 leverantör
+auths.allowed_domains=Tillåtna domäner
+auths.allowed_domains_helper=Lämna tomt om du vill tillåta alla domäner. Separera flera domäner med ett kommatecken (",").
+auths.skip_tls_verify=Skippa TLS-verifikation
+auths.pam_service_name=PAM-tjänstnamn
+auths.oauth2_provider=OAuth2-leverantör
auths.oauth2_clientID=Klient ID (Nyckel)
auths.oauth2_clientSecret=Klienthemlighet
auths.openIdConnectAutoDiscoveryURL=OpenID Connect Auto Discovery länk
@@ -1883,8 +1974,8 @@ auths.oauth2_profileURL=Profil-URL
auths.oauth2_emailURL=E-post URL
auths.enable_auto_register=Aktivera Automatisk Registrering
auths.tips=Tips
-auths.tips.oauth2.general=OAuth2 Autensiering
-auths.tip.oauth2_provider=OAuth2 leverantör
+auths.tips.oauth2.general=OAuth2-autensiering
+auths.tip.oauth2_provider=OAuth2-leverantör
auths.tip.bitbucket=Registrera en ny OAuth konsument på %s
auths.tip.dropbox=Skapa en ny applikation på %s
auths.tip.facebook=Registrera en ny appliaktion på %s och lägg till produkten ”Facebook-inloggning”
@@ -1894,40 +1985,40 @@ auths.tip.google_plus=Erhåll inloggningsuppgifter för OAuth2 från Google API-
auths.tip.openid_connect=Använd OpenID Connect Discovery länken (/.well-known/openid-configuration) för att ange slutpunkterna
auths.tip.twitter=Gå till %s, skapa en applikation och försäkra att alternativet "Allow this application to be used to Sign in with Twitter" är aktiverat
auths.tip.discord=Registrera en ny applikation på %s
-auths.edit=Redigera autensieringskälla
+auths.edit=Redigera autentiseringskälla
auths.activated=Denna autentiseringskälla är aktiverad
auths.update_success=Autentiseringskällan har uppdaterats.
-auths.update=Uppdatera autensieringskälla
+auths.update=Uppdatera autentiseringskälla
auths.delete=Ta bort autentiseringskälla
-auths.delete_auth_title=Tag bort denna autentisering
+auths.delete_auth_title=Tag bort autentiseringskälla
auths.delete_auth_desc=Borttagning av en autensieringskälla förhindrar användare från att använda den för inloggning. Vill du fortsätta?
auths.still_in_used=Autentiseringskällan är fortfarande i bruk. Konvertera eller ta bort alla användare som använder denna autentiseringskälla först.
auths.deletion_success=Autentiseringskällan har tagits bort.
-config.server_config=Server-konfiguration
-config.app_name=Sajtens namn
-config.app_ver=Forgejo Version
-config.app_url=Forgejo Bas-URL
-config.custom_conf=Konfigurationsfil
-config.offline_mode=Offlineläge
-config.disable_router_log=Avaktivera Router Loggning
-config.run_user=Kör som användarnamn
+config.server_config=Serverkonfiguration
+config.app_name=Instansnamn
+config.app_ver=Forgejo-version
+config.app_url=Bas-URL för Forgejo
+config.custom_conf=Sökväg för konfigurationsfil
+config.offline_mode=Lokalt läge
+config.disable_router_log=Inaktivera routerloggning
+config.run_user=Användare att köra som
config.run_mode=Exekveringsläge
-config.git_version=Git version
+config.git_version=Git-version
config.repo_root_path=Rotsökväg för utvecklingskatalog
-config.lfs_root_path=LFS Rotsökväg
+config.lfs_root_path=LFS rotsökväg
config.log_file_root_path=Sökväg för loggar
-config.script_type=Script-typ
-config.reverse_auth_user=Motsatt autentiserings användare
+config.script_type=Skripttyp
+config.reverse_auth_user=Autentiseringsanvändare för omvänd proxy
config.ssh_config=SSH-konfiguration
config.ssh_enabled=Aktiverad
-config.ssh_start_builtin_server=Använd inbyggd Server
+config.ssh_start_builtin_server=Använd inbyggd server
config.ssh_port=Port
config.ssh_listen_port=Lyssningsport
config.ssh_root_path=Rotsökväg
config.ssh_key_test_path=Testsökväg för nyckel
-config.ssh_keygen_path=Sökväg för nyckelgenerator ('ssh-keygen')
+config.ssh_keygen_path=Sökväg för nyckelgenerator ("ssh-keygen")
config.ssh_minimum_key_size_check=Kontroll av minsta tillåtna nyckelstorlek
config.ssh_minimum_key_sizes=Minsta tillåtna nyckelstorlek
@@ -1943,48 +2034,48 @@ config.db_ssl_mode=SSL
config.db_path=Sökväg
config.service_config=Tjänstkonfiguration
-config.register_email_confirm=Kräv mejlbekräftelse för att registrera
+config.register_email_confirm=Kräv e-postbekräftelse för att registrera
config.disable_register=Inaktivera självregistrering
config.enable_openid_signup=Aktivera självregistrering genom OpenID
config.enable_openid_signin=Aktivera OpenID-inloggning
config.show_registration_button=Visa registreringsknapp
-config.require_sign_in_view=Kräv inloggning för att visa sidor
-config.mail_notify=Aktivera Mejlnotifikationer
+config.require_sign_in_view=Kräv inloggning för att visa innehåll
+config.mail_notify=Aktivera e-postnotiser
config.enable_captcha=Aktivera CAPTCHA
-config.active_code_lives=Aktivera livstid för koder
-config.default_keep_email_private=Dölj mejladresser som standard
+config.active_code_lives=Livstid för aktiveringskoder
+config.default_keep_email_private=Dölj e-postadresser som standard
config.default_allow_create_organization=Tillåt skapandet utav organisationer som standard
config.enable_timetracking=Aktivera tidsredovisning
-config.default_enable_timetracking=Aktivera tidredovisning som Standard
-config.default_allow_only_contributors_to_track_time=Låt endast medarbetare spåra tidsredovisning
-config.no_reply_address=Dold mejldomän
+config.default_enable_timetracking=Aktivera tidredovisning som standard
+config.default_allow_only_contributors_to_track_time=Låt endast bidragsgivare spåra tid
+config.no_reply_address=Dold e-postdomän
config.webhook_config=Webbkrokskonfiguration
config.queue_length=Kölängd
config.deliver_timeout=Tidsfrist för leverans
-config.skip_tls_verify=Skippa TLS verifiering
+config.skip_tls_verify=Skippa TLS-verifiering
config.mailer_enabled=Aktiverad
config.mailer_name=Namn
config.mailer_smtp_port=SMTP-port
config.mailer_user=Användare
config.mailer_use_sendmail=Använd Sendmail
-config.mailer_sendmail_path=Sendmail sökväg
+config.mailer_sendmail_path=Sökväg för sendmail
config.mailer_sendmail_args=Extra argument till sendmail
-config.send_test_mail=Skicka testmeddelande
+config.send_test_mail=Skicka testmejl
config.oauth_config=OAuth-konfiguration
config.oauth_enabled=Aktiverad
-config.cache_config=Mellanlagringskonfiguration
-config.cache_adapter=Mellanlagringsadapter
-config.cache_interval=Mellanlagringsintervall
-config.cache_conn=Mellanlagringsanslutning
+config.cache_config=Cachekonfiguration
+config.cache_adapter=Cacheadapter
+config.cache_interval=Cacheintervall
+config.cache_conn=Cacheanslutning
config.session_config=Sessionskonfiguration
config.session_provider=Sessionsleverantör
config.provider_config=Leverantörskonfiguration
-config.cookie_name=Cookie-namn
+config.cookie_name=Cookienamn
config.gc_interval_time=Tidsintervall för skräpsamling
config.session_life_time=Livstid för session
config.https_only=Endast HTTPS
@@ -1993,21 +2084,21 @@ config.cookie_life_time=Livstid för kaka
config.picture_config=Konfiguration för bild och avatar
config.picture_service=Bildtjänst
config.disable_gravatar=Inaktivera Gravatar
-config.enable_federated_avatar=Aktivera Förenad Uppslaging av Profilbilder
+config.enable_federated_avatar=Aktivera federerade avatarer
config.git_config=Git-konfiguration
-config.git_disable_diff_highlight=Inaktivera Diff Syntax Highlight
-config.git_max_diff_lines=Max Diff-rader (per fil)
-config.git_max_diff_line_characters=Max Diff-tecken (per rad)
-config.git_max_diff_files=Max Diff-filer (att visa)
+config.git_disable_diff_highlight=Inaktivera syntaxmarkering i diffar
+config.git_max_diff_lines=Maximalt antal diff-rader per fil
+config.git_max_diff_line_characters=Maximalt antal diff-karaktärer per rad
+config.git_max_diff_files=Maximalt antal diff-filer att visa
config.git_gc_args=Skräpsamlarargument
config.git_migrate_timeout=Migreringstimeout
-config.git_mirror_timeout=Spelgingsuppdateringstimeout
-config.git_clone_timeout=Klonoperationstimeout
-config.git_pull_timeout=Klonoperationstimeout
-config.git_gc_timeout=GC-operationstimeout
+config.git_mirror_timeout=Tidsfrist för spegeluppdatering
+config.git_clone_timeout=Tidsfrist för kloning
+config.git_pull_timeout=Tidsfrist för pull
+config.git_gc_timeout=Tidsfrist för skräpsamling
-config.log_config=Logg-konfiguration
+config.log_config=Loggkonfiguration
config.disabled_logger=Inaktiverad
config.xorm_log_sql=Logga SQL
@@ -2034,12 +2125,12 @@ monitor.queue.settings.submit=Uppdatera inställningar
monitor.queue.settings.changed=Inställningar uppdaterade
notices.system_notice_list=Systemnotiser
-notices.view_detail_header=Visa notisdetaljer
-notices.select_all=Markera Alla
+notices.view_detail_header=Notisdetaljer
+notices.select_all=Markera alla
notices.deselect_all=Avmarkera alla
-notices.inverse_selection=Invertera Markeringar
-notices.delete_selected=Ta Bort Markerade
-notices.delete_all=Ta Bort Alla Notiser
+notices.inverse_selection=Invertera markeringar
+notices.delete_selected=Ta bort markerade
+notices.delete_all=Ta bort alla notiser
notices.type=Typ
notices.type_1=Utvecklingskatalog
notices.type_2=Uppgift
@@ -2048,6 +2139,15 @@ notices.op=Op.
notices.delete_success=Systemnotifikationer har blivit raderade.
+users.reserved = Reserverad
+users.bot = Bott
+users.remote = Fjärråtkomst
+users.2fa = 2FA
+users.is_restricted = Begränsat konto
+users.restricted.description = Tillåt endast interaktion med utvecklingskataloger och organisationer där den här användaren finns tillagd som medarbetare. Det förhindrar tillgång till allmänna utvecklingskataloger i den här instansen.
+self_check.database_inconsistent_collation_columns = Databasen använder kollateringen %s, men dessa kolumner använder felanpassade kollateringar. Det kan komma att orsaka oväntade problem.
+self_check.database_fix_mysql = För MySQL/MariaDB-användare så kan du använda kommandot ”forgejo doctor convert” för att åtgärda problemet med kollateringen, eller så du åtgärda det genom att manuellt använda SQL "ALTER ... COLLATE ...".
+
[action]
create_repo=skapade utvecklingskatalog %s
rename_repo=döpte om utvecklingskalatogen från %[1]s
till %[3]s
@@ -2059,6 +2159,11 @@ compare_commits=Jämför %d commits
compare_commits_general=Jämför commits
mirror_sync_delete=synkade och raderade referens %[2]s
på %[3]s från spegel
+approve_pull_request = `godkände %[3]s#%[2]s `
+create_branch = skapade grenen %[3]s i %[4]s
+starred_repo = stjärnmärkte %[2]s
+watched_repo = började följa %[2]s
+
[tool]
now=nu
future=framtiden
@@ -2145,3 +2250,30 @@ symbolic_link=Symbolisk länk
milestone_kind = Sök milstolpar...
exact = Exakt
exact_tooltip = Inkludera bara resultat som exakt matchar söktermen
+repo_kind = Sök repon...
+user_kind = Sök användare...
+code_kind = Sök kod...
+package_kind = Sök paket...
+runner_kind = Sök exekutorer...
+branch_kind = Sök grenar...
+commit_kind = Sök commiter...
+project_kind = Sök projekt...
+search = Sök...
+type_tooltip = Söktyp
+team_kind = Sök lag...
+org_kind = Sök organisationer...
+issue_kind = Sök ärenden...
+regexp_tooltip = Tolka söktermen som ett reguljärt uttryck
+fuzzy = Ungefärlig
+fuzzy_tooltip = Inkludera resultat som är närliggande till söktermen
+union = Nyckelord
+union_tooltip = Inkludera resultat som matchar något av de med mellanslag sepererade sökorden
+regexp = RegExp
+code_search_unavailable = Kodsökning är för närvarande inte tillgänglig. Vänligen kontakta webbplatsadministratören.
+code_search_by_git_grep = Nuvarande kodsökningsresultat gjordes med "git grep". Det kan finnas bättre resultat om webbplatsadministratören möjliggör indexering av kod.
+no_results = Inga matchande resultat hittades.
+pull_kind = Sök ändringsförslag…
+keyword_search_unavailable = Sökning på nyckelord är för närvarande inte tillgängligt. Vänligen kontakta webbplatsadministratören.
+
+[translation_meta]
+test = Det här är en teststräng. Den visas inte i Forgejo UI men används vid testtillfälle. Vänligen skriv in "ok" för att spara tid (eller en intressant fakta du själv väljer) för att nå upp till 100% komplett :)
diff --git a/options/locale/locale_tr-TR.ini b/options/locale/locale_tr-TR.ini
index e596b05878..58384d93f4 100644
--- a/options/locale/locale_tr-TR.ini
+++ b/options/locale/locale_tr-TR.ini
@@ -17,10 +17,10 @@ page=Sayfa
template=Şablon
language=Dil
notifications=Bildirimler
-active_stopwatch=Etkin Zaman Takibi
+active_stopwatch=Etkin Zaman Takipçisi
tracked_time_summary=Konu listesi süzgeçlerine dayanan takip edilen zamanın özeti
create_new=Oluştur…
-user_profile_and_more=Profil ve Ayarlar…
+user_profile_and_more=Profil ve ayarlar…
signed_in_as=Giriş yapan:
enable_javascript=Bu web sitesinin çalışması için JavaScript gereklidir.
toc=İçindekiler Tablosu
@@ -28,12 +28,12 @@ licenses=Lisanslar
return_to_forgejo=Forgejo'ya Dön
username=Kullanıcı Adı
-email=E-posta Adresi
+email=E-posta adresi
password=Parola
access_token=Erişim Kodu
-re_type=Parolayı Doğrula
+re_type=Parolayı doğrula
captcha=CAPTCHA
-twofa=İki Aşamalı Doğrulama
+twofa=İki aşamalı doğrulama
twofa_scratch=İki aşamalı kazınmış kod
passcode=Şifre
@@ -59,10 +59,10 @@ new_migrate=Yeni Göç
new_mirror=Yeni Yansı
new_fork=Yeni Depo Çatalı
new_org=Yeni Organizasyon
-new_project=Yeni Proje
-new_project_column=Yeni Sütun
+new_project=Yeni proje
+new_project_column=Yeni sütun
manage_org=Organizasyonları Yönet
-admin_panel=Site Yönetimi
+admin_panel=Site yönetimi
account_settings=Hesap Ayarları
settings=Ayarlar
your_profile=Profil
@@ -87,9 +87,9 @@ rerun=Yeniden çalıştır
rerun_all=Tüm görevleri yeniden çalıştır
save=Kaydet
add=Ekle
-add_all=Tümünü Ekle
+add_all=Tümünü ekle
remove=Kaldır
-remove_all=Tümünü Kaldır
+remove_all=Tümünü kaldır
remove_label_str=`"%s" öğesini kaldır`
edit=Düzenle
view=Görüntüle
@@ -118,7 +118,7 @@ go_back=Geri Git
never=Asla
unknown=Bilinmiyor
-rss_feed=RSS Beslemesi
+rss_feed=RSS yayını
pin=Sabitle
unpin=Sabitlemeyi kaldır
@@ -141,17 +141,17 @@ confirm_delete_selected=Tüm seçili öğeleri gerçekten silmek istiyor musunuz
name=İsim
value=Değer
-copy_generic = Kopyala
+copy_generic = Panoya kopyala
filter = Filtrele
filter.not_archived = Arşivlenmemiş
filter.clear = Filtreleri Temizle
filter.is_archived = Arşivlenmiş
filter.is_mirror = Yansılaştırılmış
-filter.is_fork = Çatallanmış
-filter.not_fork = Çatallanmamış
+filter.is_fork = Çatallar
+filter.not_fork = Çatallanmayanlar
filter.not_mirror = Yansılanmamış
filter.is_template = Şablon
-filter.not_template = Şablon değil
+filter.not_template = Şablon olmayan
filter.public = Herkese açık
filter.private = Gizli
more_items = Daha fazla öğe
@@ -166,10 +166,12 @@ toggle_menu = Menüyü aç-kapa
new_migrate.title = Yeni geçiş
new_migrate.link = Yeni geçiş
+copy_path = Dizini kopyala
+
[aria]
-navbar=Gezinti Çubuğu
+navbar=Gezinti çubuğu
footer=Alt Bilgi
-footer.software=Yazılım Hakkında
+footer.software=Bu yazılım hakkında
footer.links=Bağlantılar
[heatmap]
@@ -196,6 +198,13 @@ buttons.switch_to_legacy.tooltip=Eski düzenleyiciyi kullan
buttons.enable_monospace_font=Eşaralıklı yazıtipini etkinleştir
buttons.disable_monospace_font=Eşaralıklı yazıtipini devre dışı bırak
+buttons.new_table.tooltip = Tablo ekle
+table_modal.header = Tablo ekle
+table_modal.placeholder.header = Başlık
+table_modal.placeholder.content = İçerik
+table_modal.label.rows = Satırlar
+table_modal.label.columns = Sütunlar
+
[filter]
string.asc=A - Z
string.desc=Z - A
@@ -224,12 +233,12 @@ install=Kurulum
title=Başlangıç Yapılandırması
docker_helper=Eğer Forgejo'yı Docker içerisinde çalıştırıyorsanız, lütfen herhangi bir değişiklik yapmadan önce belgeleri okuyun.
require_db_desc=Forgejo MySQL, PostgreSQL, SQLite3 veya TiDB (MySQL protokolü) gerektirir.
-db_title=Veritabanı Ayarları
-db_type=Veritabanı Türü
+db_title=Veritabanı ayarları
+db_type=Veritabanı tipi
host=Sunucu
user=Kullanıcı adı
password=Parola
-db_name=Veritabanı Adı
+db_name=Veritabanı adı
db_schema=Şema
db_schema_helper=Veritabanı varsayılanı için boş bırakın ("genel").
ssl_mode=SSL
@@ -248,16 +257,16 @@ err_admin_name_is_reserved=Yönetici Kullanıcı Adı geçersiz, bu kullanıcı
err_admin_name_pattern_not_allowed=Yönetici kullanıcı adı geçersiz, kullanıcı adı ayrılmış bir desenle eşleşiyor
err_admin_name_is_invalid=Yönetici Kullanıcı Adı geçersiz
-general_title=Genel Ayarlar
+general_title=Genel ayarlar
app_name=Site Başlığı
app_name_helper=Şirket adınızı buraya girebilirsiniz.
-repo_path=Depo Kök Yolu
+repo_path=Depo kök dizini
repo_path_helper=Tüm uzak Git depoları bu dizine kaydedilecektir.
-lfs_path=Git LFS Kök Yolu
+lfs_path=Git LFS kök dizini
lfs_path_helper=Git LFS tarafından izlenen dosyalar bu dizinde saklanacaktır. LFS'yi devre dışı bırakmak için boş bırakın.
run_user=Şu Kullanıcı Olarak Çalıştır
run_user_helper=Forgejo'nin çalışacağı işletim sistemi kullanıcı adı. Bu kullanıcının depo kök yoluna erişiminin olması gerektiğini unutmayın.
-domain=Sunucu Alan Adı
+domain=Sunucu alan adı
domain_helper=Sunucu için alan adı veya ana bilgisayar adresi.
ssh_port=SSH Sunucu Portu
ssh_port_helper=SSH sunucusunun dinleyeceği port numarası. Etkisizleştimek için boş bırakın.
@@ -269,15 +278,15 @@ log_root_path=Günlük Dosyaları Yolu
log_root_path_helper=Günlük dosyaları bu dizine kaydedilecektir.
optional_title=İsteğe Bağlı Ayarlar
-email_title=E-posta Ayarları
-smtp_addr=SMTP Sunucusu
-smtp_port=SMTP Portu
+email_title=E-posta ayarları
+smtp_addr=SMTP sunucusu
+smtp_port=SMTP portu
smtp_from=E-posta Gönderen
smtp_from_helper=Forgejo'nın kullanacağı e-posta adresi. Yalın bir e-posta adresi girin veya "İsim" biçimini kullanın.
-mailer_user=SMTP Kullanıcı Adı
-mailer_password=SMTP Parolası
+mailer_user=SMTP kullanıcı adı
+mailer_password=SMTP parolası
register_confirm=Kayıt için E-posta Doğrulaması Gereksin
-mail_notify=E-Posta Bildirimlerini Etkinleştir
+mail_notify=E-Posta bildirimlerini etkinleştir
server_service_title=Sunucu ve Diğer Servis Ayarları
offline_mode=Yerel Kipi Etkinleştir
offline_mode.description=Üçüncü parti içerik teslim ağlarını etkisizleştirin ve bütün kaynakları yerelden sunun.
@@ -297,11 +306,11 @@ enable_captcha.description=Kullanıcının kendi kendine kaydolması için captc
require_sign_in_view=Sayfaları Görüntülemek için Giriş Yapmak Gereksin
require_sign_in_view.description=Sayfa erişimini giriş yapmış kullanıcılarla sınırlandır. Ziyaretçiler sadece oturum açma ve kayıt sayfalarını görecektir.
admin_setting.description=Bir yönetici hesabı açmak isteğe bağlıdır. İlk kayıt olan kullanıcı kendiliğinden yönetici olacaktır.
-admin_title=Yönetici Hesabı Ayarları
-admin_name=Yönetici Kullanıcı Adı
+admin_title=Yönetici hesabı ayarları
+admin_name=Yönetici kullanıcı adı
admin_password=Parola
-confirm_password=Parolayı Doğrula
-admin_email=E-posta Adresi
+confirm_password=Parolayı doğrula
+admin_email=E-posta adresi
install_btn_confirm=Forgejo'u Kur
test_git_failed='git' komut testi başarısız: %v
sqlite3_not_available=Bu Gieta sürümü SQLite3 desteklemiyor. Lütfen %s adresinden resmi çalışır sürümü ('gobuild' sürümünü değil) indirin.
@@ -316,7 +325,7 @@ save_config_failed=%v Yapılandırması kaydedilirken hata oluştu
invalid_admin_setting=Yönetici hesap ayarları geçersiz: %v
invalid_log_root_path=Log dosya yolu geçersiz: %v
default_keep_email_private=E-posta adreslerini varsayılan olarak gizle
-default_keep_email_private.description=Yeni kullanıcı hesaplarının e-posta adreslerini varsayılan olarak gizle.
+default_keep_email_private.description=Kayıt olunduktan hemen sonra bilgi sızıntısı olmaması için yeni kullanıcı hesaplarının e-posta adreslerini varsayılan olarak gizle.
default_allow_create_organization=Varsayılan Olarak Organizasyon Oluşturmaya İzin Ver
default_allow_create_organization.description=Varsayılan olarak yeni kullanıcı hesaplarının organizasyon oluşturmasına izin ver.
default_enable_timetracking=Varsayılan Olarak Zaman Takibini Etkinleştir
@@ -326,7 +335,7 @@ no_reply_address_helper=Gizlenmiş e-posta adresine sahip kullanıcılar için a
password_algorithm=Parola Hash Algoritması
invalid_password_algorithm=Hatalı parola hash algoritması
password_algorithm_helper=Parola hash algoritmasını ayarlayın. Algoritmalar değişen gereksinimlere ve güce sahiptirler. argon2 algoritması iyi özelliklere sahip olmasına rağmen fazla miktarda bellek kullanır ve küçük sistemler için uygun olmayabilir.
-enable_update_checker=Güncelleme Denetleyicisini Etkinleştir
+enable_update_checker=Güncelleme denetleyicisini etkinleştir
env_config_keys=Ortam Yapılandırma
env_config_keys_prompt=Aşağıdaki ortam değişkenleri de yapılandırma dosyanıza eklenecektir:
allow_only_external_registration = Sadece dış hizmetler aracılığıyla kullanıcı kaydına izin ver
@@ -336,7 +345,7 @@ enable_update_checker_helper_forgejo = release.forgejo.org adresindeki TXT DNS k
allow_dots_in_usernames = Kullanıcı isimlerinde noktaya izin ver. Var olan kullanıcıları etkilemez.
[home]
-uname_holder=Kullanıcı Adı veya E-Posta Adresi
+uname_holder=Kullanıcı adı veya e-posta adresi
password_holder=Parola
switch_dashboard_context=Panoya Geçiş Yap
my_repos=Depolar
@@ -389,13 +398,13 @@ forks_one = %d çatal
forks_few = %d çatal
[auth]
-create_new_account=Hesap Oluştur
+create_new_account=Hesap oluştur
register_helper_msg=Bir hesabınız var mı? Şimdi giriş yapın!
social_register_helper_msg=Hesabınız var mı? Hemen bağlayın!
disable_register_prompt=Kayıt işlemi devre dışıdır. Lütfen site yöneticinizle iletişim kurun.
disable_register_mail=Kayıt için e-posta doğrulama devre dışıdır.
manual_activation_only=Etkinleştirmeyi tamamlamak için site yöneticinizle bağlantıya geçin.
-remember_me=Bu Aygıtı hatırla
+remember_me=Bu cihazı hatırla
remember_me.compromised=Oturum açma tokeni artık geçerli değil, bu ele geçirilmiş bir hesaba işaret ediyor olabilir. Lütfen hesabınızda olağandışı faaliyet olup olmadığını denetleyin.
forgot_password_title=Şifremi unuttum
forgot_password=Şifrenizi mi unuttunuz?
@@ -414,7 +423,7 @@ has_unconfirmed_mail=Merhaba %s, doğrulanmamış bir e-posta adresin var (%s
resend_mail=Etkinleştirme e-postasını tekrar almak için buraya tıklayın
email_not_associate=Bu e-posta adresi hiçbir hesap ile ilişkilendirilmemiştir.
send_reset_mail=Hesap Kurtarma E-postası Gönder
-reset_password=Hesap Kurtarma
+reset_password=Hesap kurtarma
invalid_code=Doğrulama kodunuz geçersiz veya süresi dolmuş.
invalid_code_forgot_password=Onay kodunuz hatalı veya süresi geçmiş. Yeni bir oturum başlatmak için buraya tıklayın.
invalid_password=Parolanız hesap oluşturulurken kullanılan parolayla eşleşmiyor.
@@ -428,9 +437,9 @@ use_scratch_code=Bir çizgi kodu kullanınız
twofa_scratch_used=Geçici kodunuzu kullandınız. İki aşamalı ayarlar sayfasına yönlendirildiniz, burada aygıt kaydınızı kaldırabilir veya yeni bir geçici kod oluşturabilirsiniz.
twofa_passcode_incorrect=Şifreniz yanlış. Aygıtınızı yanlış yerleştirdiyseniz, oturum açmak için çizgi kodunuzu kullanın.
twofa_scratch_token_incorrect=Çizgi kodunuz doğru değildir.
-login_userpass=Oturum Aç
+login_userpass=Oturum aç
tab_openid=Açık Kimlik
-oauth_signup_tab=Yeni Hesap Oluştur
+oauth_signup_tab=Yeni hesap oluştur
oauth_signup_title=Yeni Hesabı Tamamla
oauth_signup_submit=Hesabı Tamamla
oauth_signin_tab=Mevcut Hesaba Bağla
@@ -467,6 +476,8 @@ hint_register = Hesaba ihtiyacın var mı? Hemen kaydol.
sign_in_openid = OpenID ile giriş yap
hint_login = Mevcut hesabın var mı? Hemen giriş yap!
+use_onetime_code = Tek kullanımlık kod kullan
+
[mail]
view_it_on=%s üzerinde görüntüle
reply=veya doğrudan bu e-postayı yanıtlayın
@@ -544,6 +555,8 @@ password_change.subject = Parolanız değişti
admin.new_user.user_info = Kullanıcı bilgisi
admin.new_user.text = Lütfen bu kullanıcıyı admin panelinden yönetmek için buraya tıklayın .
+password_change.text_1 = Hesabınızın parolası değişti.
+
[modal]
yes=Evet
no=Hayır
@@ -652,6 +665,9 @@ Location = Konum
Website = Websitesi
+username_error_no_dots = ` sadece alfanumerik karakterler ("0-9","a-z","A-Z"), tire ("-") ve alt tire ("-") içerebilir. Alfanumerik olmayan karakterlerle başlayamaz ve bitemez, ayrıca ardışık alfanumerik olmayan karakterler de kullanılamaz.`
+admin_cannot_delete_self = Yöneticiyken kullanıcınızı silemezsiniz. Lütfen önce yönetici yetkilerinizi kaldırın.
+
[user]
change_avatar=Profil resmini değiştir…
joined_on=%s tarihinde katıldı
@@ -691,6 +707,10 @@ block = Engelle
public_activity.visibility_hint.self_private = Aktiviteniz sadece size ve oluşum yöneticilerine açıktır. Değiştir .
followers_one = %d takipçi
+block_user.detail = Bu kullanıcıyı engellediğinizde:
+block_user.detail_1 = Birbirinizden takipten çıkacak ve birbirinizi takip edemeyeceksiniz.
+block_user.detail_2 = Bu kullanıcı sahip olduğunuz depolar, açtığınız sorunlar ve yaptığınız yorumlar ile etkileşime geçemeyecek.
+
[settings]
profile=Profil
account=Hesap
@@ -1182,7 +1202,7 @@ migrate.migrating_failed_no_addr=Göç başarısız oldu.
migrate.github.description=Github.com veya diğer Github sunucularından veri aktar.
migrate.git.description=Herhangi bir Git hizmetinden sadece bir depoyu aktar.
migrate.gitlab.description=Gitlab.com veya diğer Gitlab sunucularından veri aktar.
-migrate.gitea.description=Gitea.com veya diğer Gitea/Forgejo sunucularından veri aktar.
+migrate.gitea.description=Gitea.com veya diğer Gitea sunucularından veri aktar.
migrate.gogs.description=Notabug.org veya diğer Gogs sunucularından veri aktar.
migrate.onedev.description=Code.onedev.io ve diğer OneDev sunucularından veri aktar.
migrate.codebase.description=Codebasehq.com sitesinden veri aktar.
@@ -1270,6 +1290,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
@@ -1293,6 +1314,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
@@ -1892,7 +1914,7 @@ 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
-pulls.cmd_instruction_merge_desc=Değişiklikleri birleştirin ve Gitea'da güncelleyin.
+pulls.cmd_instruction_merge_desc=Değişiklikleri birleştirin ve Forgejo güncelleyin.
pulls.clear_merge_message=Birleştirme iletilerini temizle
pulls.clear_merge_message_hint=Birleştirme iletisini temizlemek sadece işleme ileti içeriğini kaldırır ama üretilmiş "Co-Authored-By …" gibi git fragmanlarını korur.
@@ -3012,12 +3034,12 @@ packages.size=Boyut
packages.published=Yayınlandı
defaulthooks=Varsayılan Web İstemcileri
-defaulthooks.desc=Web İstemcileri, belirli Gitea olayları tetiklendiğinde otomatik olarak HTTP POST isteklerini sunucuya yapar. Burada tanımlanan Web İstemcileri varsayılandır ve tüm yeni depolara kopyalanır. web istemcileri kılavuzunda daha fazla bilgi edinin.
+defaulthooks.desc=Web İstemcileri, belirli Forgejo olayları tetiklendiğinde otomatik olarak HTTP POST isteklerini sunucuya yapar. Burada tanımlanan Web İstemcileri varsayılandır ve tüm yeni depolara kopyalanır. web istemcileri kılavuzunda daha fazla bilgi edinin.
defaulthooks.add_webhook=Varsayılan Web İstemcisi Ekle
defaulthooks.update_webhook=Varsayılan Web İstemcisini Güncelle
systemhooks=Sistem Web İstemcileri
-systemhooks.desc=Belirli Gitea olayları tetiklendiğinde Web istemcileri otomatik olarak bir sunucuya HTTP POST istekleri yapar. Burada tanımlanan web istemcileri sistemdeki tüm depolar üzerinde çalışır, bu yüzden lütfen bunun olabilecek tüm performans sonuçlarını göz önünde bulundurun. web istemcileri kılavuzunda daha fazla bilgi edinin.
+systemhooks.desc=Belirli Forgejo olayları tetiklendiğinde Web istemcileri otomatik olarak bir sunucuya HTTP POST istekleri yapar. Burada tanımlanan web istemcileri sistemdeki tüm depolar üzerinde çalışır, bu yüzden lütfen bunun olabilecek tüm performans sonuçlarını göz önünde bulundurun. web istemcileri kılavuzunda daha fazla bilgi edinin.
systemhooks.add_webhook=Sistem Web İstemcisi Ekle
systemhooks.update_webhook=Sistem Web İstemcisi Güncelle
@@ -3663,7 +3685,7 @@ need_approval_desc=Değişiklik isteği çatalında iş akışı çalıştırmak
variables=Değişkenler
variables.management=Değişken Yönetimi
-variables.creation=Değişken Ekle
+variables.creation=Değişken ekle
variables.none=Henüz hiçbir değişken yok.
variables.deletion=Değişkeni kaldır
variables.deletion.description=Bir değişkeni kaldırma kalıcıdır ve geri alınamaz. Devam edilsin mi?
@@ -3684,6 +3706,8 @@ type-1.display_name=Kişisel Proje
type-2.display_name=Depo Projesi
type-3.display_name=Organizasyon Projesi
+deleted.display_name = Silinmiş proje
+
[git.filemode]
changed_filemode=%[1]s → %[2]s
directory=Dizin
@@ -3714,3 +3738,6 @@ issue_kind = Sorunları ara...
pull_kind = Birleştirme isteklerini ara...
code_search_by_git_grep = Anlık kod araması sonuçları "git grep" komutu tarafından sağlanmaktadır. Site yöneticisinin kod endekslemesini açması durumunda daha iyi sonuçlar verilmesi mümkün olabilir.
keyword_search_unavailable = Anahtar kelime ile arama şu anda kullanıma açık değildir. Lütfen site yöneticisi ile iletişime geçin.
+fuzzy_tooltip = Arama terimine yakın olan eşleşmeleri dahil et
+union_tooltip = Boşlukla ayrılmış anahtar kelime eşleşmelerini dahil et
+exact_tooltip = Sadece arama terimiyle tam uyuşan sonuçları dahit et.
diff --git a/options/locale/locale_uk-UA.ini b/options/locale/locale_uk-UA.ini
index 57297e4e0f..c306e7db98 100644
--- a/options/locale/locale_uk-UA.ini
+++ b/options/locale/locale_uk-UA.ini
@@ -23,7 +23,7 @@ toc=Зміст
licenses=Ліцензії
return_to_forgejo=Повернутися до Forgejo
-username=Ім'я кристувача
+username=Ім'я користувач_ки
email=Адреса електронної пошти
password=Пароль
access_token=Токен доступу
@@ -143,13 +143,13 @@ filter.clear = Очистити фільтри
filter.is_archived = Архівовано
filter = Фільтри
toggle_menu = Перемкнути видимість меню
-confirm_delete_artifact = Ви впевнені, що хочете видалити артефакт "%s"?
+confirm_delete_artifact = Ви впевнені, що хочете видалити артефакт «%s»?
artifacts = Артефакти
filter.not_archived = Не архівовано
filter.public = Загальнодоступні
filter.private = Приватні
more_items = Більше пунктів
-remove_label_str = Видалити об'єкт "%s"
+remove_label_str = Видалити об'єкт «%s»
new_repo.title = Новий репозиторій
new_migrate.title = Нова міграція
new_org.title = Нова організація
@@ -334,7 +334,7 @@ password_algorithm=Алгоритм хешування пароля
config_location_hint = Ці опції налаштувань будуть збережені в:
env_config_keys = Конфігурація середовища
env_config_keys_prompt = Ці змінні середовища будуть також застосовані до вашого файлу конфігурації:
-invalid_db_table = База даних "%s" недійсна: %v
+invalid_db_table = База даних «%s» недійсна: %v
enable_update_checker = Увімкнути перевірку оновлень
require_db_desc = Forgejo вимагає MySQL, PostgreSQL, SQLite3 чи TiDB (протокол MySQL).
allow_only_external_registration = Дозволити реєстрацію тільки через зовнішні сервіси
@@ -474,6 +474,10 @@ sign_up_successful = Обліковий запис успішно створен
unauthorized_credentials = Хибні або прострочені дані для входу. Спробуйте ще раз або перейдіть до %s по докладнішу інформацію
use_onetime_code = Користати одноразовий код
+oauth.signin.error = Виникла помилка при обробці запиту на авторизацію. Якщо ця помилка буде повторюватись, зверніться до адміністратора сайту.
+authorization_failed_desc = Авторизація не відбулася: виявлено недійсний запит. Будь ласка, зверніться до розробника програми, яку ви намагалися авторизувати.
+password_pwned = Вибраний вами пароль є у списку викрадених паролів , виявлених під час витоків даних. Будь ласка, спробуйте ще раз з іншим паролем. Варто також змінити цей пароль в інших місцях.
+
[mail]
view_it_on=Переглянути на %s
link_not_working_do_paste=Посилання не працює? Спробуйте його скопіювати та вставити у свій браузер.
@@ -555,6 +559,9 @@ totp_enrolled.text_1.has_webauthn = Ви щойно задіяли TOTP для
totp_enrolled.text_1.no_webauthn = Ви щойно задіяли TOTP для свого облікового запису. Всі наступні спроби входу вимагатимуть використання TOTP як засобу двофакторної автентифікації.
+totp_disabled.no_2fa = Не налаштовано жодного засобу двофакторної автентифікації. Це означає, що ви можете входити у свій обліковий запис без необхідності використовувати двофакторну автентифікацію.
+removed_security_key.no_2fa = Не налаштовано жодного засобу двофакторної автентифікації. Це означає, що ви можете входити у свій обліковий запис без необхідності використовувати двофакторну автентифікацію.
+
[modal]
yes=Так
no=Ні
@@ -645,12 +652,31 @@ Pronouns = Займенники
Biography = Про себе
FullName = Повне ім'я
Website = Вебсайт
-url_error = `"%s" є недійсним посиланням.`
+url_error = `«%s» є недійсним посиланням.`
To = Назва гілки
Location = Розташування
AccessToken = Токен доступу
+include_error = ` має містити підрядок «%s».`
+invalid_group_team_map_error = ` призначення недійсне: %s`
+repository_force_private = Увімкнено примусову приватність: приватні репозиторії не можна зробити публічними.
+openid_been_used = Адреса OpenID «%s» вже використовується.
+unset_password = Для користувача не встановлено пароль.
+unsupported_login_type = Цей тип входу не підтримує видалення облікового запису.
+duplicate_invite_to_team = Цього користувача вже запрошено як учасника команди.
+organization_leave_success = Ви успішно покинули організацію %s.
+must_use_public_key = Ключ, який ви надали, є приватним. Будь ласка, нікуди не завантажуйте свій приватний ключ. Використовуйте замість нього публічний ключ.
+unable_verify_ssh_key = Не вдалося перевірити ключ SSH, перевірте його на наявність помилок.
+still_has_org = Ваш обліковий запис є учасником однієї або декількох організацій, спочатку покиньте їх.
+admin_cannot_delete_self = Ви не можете видалити себе, якщо ви є адміністратором. Спочатку зніміть із себе права адміністратора.
+
+email_domain_is_not_allowed = Домен адреси електронної пошти %s конфліктує з EMAIL_DOMAIN_ALLOWLIST або EMAIL_DOMAIN_BLOCKLIST. Перевірте, чи ви правильно вказали адресу електронної пошти.
+
+still_own_repo = Вашому обліковому запису належать один чи більше репозиторіїв. Спершу видаліть або передайте їх.
+org_still_own_repo = Цій організації досі належать один чи більше репозиторіїв. Спершу видаліть або передайте їх.
+required_prefix = Потрібно почати з «%s»
+
[user]
change_avatar=Змінити свій аватар…
repositories=Репозиторії
@@ -687,6 +713,14 @@ following.title.one = Відстежуваний
following.title.few = Відстежувані
+form.name_reserved = Ім'я користувача «%s» зарезервовано.
+form.name_chars_not_allowed = Ім'я користувача «%s» містить неприпустимі символи.
+
+public_activity.visibility_hint.self_public = Вашу діяльність бачитимуть усі, за винятком взаємодій у приватних просторах. Налаштувати .
+public_activity.visibility_hint.self_private = Вашу діяльність бачитимете лише ви й адміністрація сервера. Налаштувати .
+public_activity.visibility_hint.admin_private = Цю дію видно адміністрації, зокрема вам, але користувач_ка бажає залишити її приватною.
+public_activity.visibility_hint.self_private_profile = Вашу діяльність видно лише вам і адміністрації сервера, оскільки ваш профіль приватний. Налаштувати .
+
[settings]
profile=Профіль
account=Обліковий запис
@@ -844,7 +878,7 @@ unbind=Від'єднати
manage_access_token=Токени доступу
generate_new_token=Згенерувати новий токен
tokens_desc=Ці токени надають доступ до вашого облікового запису за допомогою Forgejo API.
-token_name=Ім'я токену
+token_name=Ім'я токена
generate_token=Згенерувати токен
generate_token_success=Ваш новий токен був створений. Скопіюйте його зараз, оскільки він не буде показаний знову.
generate_token_name_duplicate=Назва програми %s вже використовується. Будь ласка, використайте нову.
@@ -861,7 +895,7 @@ oauth2_applications_desc=Програми OAuth2 дають можливість
remove_oauth2_application=Видалити програму OAuth2
remove_oauth2_application_desc=Видалення програми OAuth2 скасовує доступ до всіх підписаних маркерів доступу. Продовжити?
remove_oauth2_application_success=Програму видалено.
-create_oauth2_application=Створити нову програму OAuth2
+create_oauth2_application=Створити новий додаток OAuth2
create_oauth2_application_button=Створити програму
oauth2_application_name=Назва програми
save_application=Зберегти
@@ -879,7 +913,7 @@ revoke_oauth2_grant_description=Скасування доступу для ці
twofa_desc=Двофакторна автентифікація підвищує безпеку вашого облікового запису.
twofa_is_enrolled=Ваш обліковий запис на даний час використовує двофакторну автентифікацію.
-twofa_not_enrolled=Ваш обліковий запис наразі не використовує двофакторну автентифікаціїю.
+twofa_not_enrolled=Ваш обліковий запис наразі не використовує двофакторну автентифікацію.
twofa_disable=Вимкнути двофакторну автентифікацію
twofa_scratch_token_regenerate=Перестворити токен одноразового пароля
twofa_enroll=Увімкнути двофакторну автентифікацію
@@ -930,7 +964,7 @@ hidden_comment_types = Приховані типи коментарів
keep_activity_private = Приховати активність зі сторінки профілю
blocked_users = Заблоковані користувачі
blocked_users_none = Немає заблокованих користувачів.
-profile_desc = Керуйте тим, як ваш профіль відображається іншим користувачам. Ваша основна адреса електронної пошти буде використовуватися для сповіщень, відновлення пароля та операцій з Git через веб-інтерфейс.
+profile_desc = Про себе
retype_new_password = Підтвердіть новий пароль
email_desc = Ваша основна адреса електронної пошти буде використовуватися для сповіщень, відновлення пароля і, за умови, що вона не прихована, для операцій з Git через веб-інтерфейс.
visibility.limited_tooltip = Видимий(а) тільки для авторизованих користувачів
@@ -941,7 +975,7 @@ webauthn_delete_key = Видалити ключ безпеки
webauthn_key_loss_warning = Якщо ви втратите ключ безпеки, то втратите доступ до вашого облікового запису.
webauthn_register_key = Додати ключ безпеки
webauthn_nickname = Псевдонім
-webauthn_desc = Ключі безпеки це апаратні пристрої, що містять криптографічні ключі. Вони можуть використовуватись для двократної автентифікації. Ключі безпеки мають підтримувати стандарт WebAuthn Authenticator .
+webauthn_desc = Ключі безпеки — це апаратні пристрої, що містять криптографічні ключі. Вони можуть використовуватись для двофакторної автентифікації. Ключі безпеки мають підтримувати стандарт WebAuthn Authenticator .
revoke_oauth2_grant_success = Доступ відкликано успішно.
twofa_recovery_tip = Якщо ви втратите ваш пристрій, ви зможете використати одноразовий код відновлення, щоб знову отримати доступ до свого облікового запису.
webauthn_delete_key_desc = Якщо ви видалите ключ безпеки, ви більше не зможете з ним зайти. Продовжити?
@@ -965,6 +999,42 @@ comment_type_group_pull_request_push = Додані коміти
permissions_public_only = Тільки публічні
select_permissions = Виберіть дозволи
permissions_access_all = Усі (публічні, приватні й обмежені)
+create_oauth2_application_success = Ви успішно створили новий додаток OAuth2.
+keep_email_private_popup = Ваша адреса електронної пошти не буде відображатися у вашому профілі і не буде використовуватися за замовчуванням для комітів, зроблених через веб-інтерфейс, таких як завантаження файлів, редагування і об'єднання комітів. Натомість ви можете використовувати спеціальну адресу %s для прив'язки комітів до свого облікового запису. Ця опція не вплине на існуючі коміти.
+
+uid = UID
+pronouns_custom_label = Інші займенники
+uploaded_avatar_is_too_big = Розмір завантаженого файлу (%d КіБ) перевищує максимальний розмір (%d КіБ).
+can_not_add_email_activations_pending = Очікується активація, спробуйте ще раз за кілька хвилин, якщо хочете додати нову адресу електронної пошти.
+verify_gpg_key_success = Ключ GPG «%s» перевірено.
+ssh_invalid_token_signature = Наданий SSH-ключ, підпис або токен не збігаються або токен застарів.
+key_signature_ssh_placeholder = Починається з «-----BEGIN SSH SIGNATURE-----»
+verify_ssh_key_success = Ключ SSH «%s» перевірено.
+add_key_success = Ключ SSH «%s» додано.
+add_gpg_key_success = Ключ GPG «%s» додано.
+added_on = Додано %s
+valid_until_date = Дійсний до %s
+ssh_signonly = SSH наразі вимкнено, тому ці ключі використовуються лише для перевірки підпису комітів.
+repo_and_org_access = Доступ до репозиторію та організації
+permission_no_access = Немає доступу
+permission_write = Читання і запис
+at_least_one_permission = Для створення токена необхідно вибрати хоча б один дозвіл
+repos_none = Ви не є власником жодного репозиторію.
+blocked_since = Заблокований з %s
+
+change_username_redirect_prompt = Старе ім'я користувача буде перенаправленням, поки хтось не присвоїть ім'я собі.
+
+webauthn = Двофакторний вхід (ключі безпеки)
+change_username_prompt = Зауважте, зміна користувацького імені також змінює URL-адресу вашого облікового запису.
+hidden_comment_types_description = Позначені тут типи коментарів не буде показано на сторінках завдань. Наприклад, якщо тут позначена «Мітка», то всі коментарі « додає/вилучає » буде вилучено.
+comment_type_group_deadline = Крайній термін
+comment_type_group_lock = Стан блокування
+keep_activity_private.description = Вашу загальнодоступну діяльність буде видно лише вам і адміністрації сервера.
+oauth2_confidential_client = Конфіденційний клієнт. Оберіть, якщо програма зберігає секрет конфіденційним, наприклад якщо це вебзастосунок. Не обирайте для стільничних і мобільних програм.
+oauth2_redirect_uris = URI-адреси переспрямувань. Пишіть кожну з нового рядка.
+webauthn_alternative_tip = Можливо, ви бажаєте налаштувати додатковий спосіб входу.
+user_unblock_success = Користувач_ку успішно розблоковано.
+user_block_success = Користувач_ку успішно заблоковано.
[repo]
owner=Власник
@@ -1004,7 +1074,7 @@ license_helper_desc=Ліцензія регулює те, що інші можу
readme=README
readme_helper=Виберіть шаблон README
readme_helper_desc=Це місце, де ви можете написати повний опис вашого проєкту.
-auto_init=Ініціалізувати репозиторій (Додає .gitignore, License та README)
+auto_init=Ініціалізувати репозиторій
trust_model_helper=Виберіть модель довіри для підтвердження підпису. Можливі варіанти:
trust_model_helper_collaborator=Співавтор: підписи довіри від співавторів
trust_model_helper_committer=Учасник: довірені підписи участників
@@ -1066,7 +1136,7 @@ template.one_item=Слід обрати хоча б один елемент ша
template.invalid=Слід обрати шаблонний репозиторій
archive.issue.nocomment=Цей репозиторій архівовано. Ви не можете коментувати задачі.
-archive.pull.nocomment=Це архівний репозитарій. Ви не можете коментувати пулл-реквести.
+archive.pull.nocomment=Цей репозиторій архівовано. Ви не можете коментувати запити на злиття.
form.reach_limit_of_creation_1=Ви вже досягли ліміту в %d репозиторіїв.
form.reach_limit_of_creation_n=Ви досягли максимальної кількості %d створених репозиторіїв.
@@ -1088,7 +1158,7 @@ migrate_items_merge_requests=Запити на об'єднання
migrate_items_releases=Релізи
migrate_repo=Перенести репозиторій
migrate.clone_address=Міграція / клонувати з URL-адреси
-migrate.clone_address_desc=URL-адреса HTTP(S) або Git "clone" існуючого репозиторія
+migrate.clone_address_desc=URL-адреса HTTP(S) або Git «clone» існуючого репозиторію
migrate.clone_local_path=або шлях до локального серверу
migrate.permission_denied=Вам не дозволено імпортувати локальні репозиторії.
migrate.permission_denied_blocked=Ви не можете імпортувати з заборонених вузлів, будь ласка, попросіть адміністратора перевірити налаштування ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS.
@@ -1103,7 +1173,7 @@ migrate.migrating_failed=Міграція із %s не вдалася.
migrate.migrating_failed_no_addr=Міграція не вдалася.
migrate.git.description=Перенесення лише репозиторію з будь-якої служби Git.
migrate.gitlab.description=Перенести дані з gitlab.com та інших екземплярів GitLab.
-migrate.gitea.description=Перенести дані з gitea.com та інших екземплярів Gitea/Forgejo.
+migrate.gitea.description=Перенести дані з gitea.com та інших екземплярів Gitea.
migrate.gogs.description=Перенести дані з notabug.org та інших екземплярів Gogs.
migrate.onedev.description=Перенести дані з code.onedev.io та інших екземплярів OneDev.
migrate.codebase.description=Перенести дані з codebasehq.com.
@@ -1173,6 +1243,7 @@ file_copy_permalink=Копіювати постійне посилання
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=Виберіть гілки
@@ -1190,6 +1261,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=Файл заблоковано
@@ -2070,7 +2142,7 @@ settings.lfs_findcommits=Знайти коміти
settings.lfs_lfs_file_no_commits=Не знайдено комітів для цього файлу LFS
settings.lfs_noattribute=Цей шлях не має атрибуту блокування в гілці за замовчуванням
settings.lfs_delete=Видалити файл LFS з OID %s
-settings.lfs_delete_warning=Видалення файлу LFS може спричинити помилки "Об'єкт не існує" під час перевірки. Ви впевнені?
+settings.lfs_delete_warning=Видалення файлу LFS може спричинити помилки «Об'єкт не існує» під час перевірки. Ви впевнені?
settings.lfs_findpointerfiles=Знайти файли-посилання
settings.lfs_locks=Блокування
settings.lfs_invalid_locking_path=Неприпустимий шлях: %s
@@ -2422,6 +2494,25 @@ editor.add_tmpl.filename = назва файлу
settings.unarchive.button = Розархівувати репозиторій
object_format = Формат об'єкта
settings.archive.mirrors_unavailable = Дзеркала недоступні в архівованих репозиторіях.
+pulls.sign_in_require = Увійдіть , щоб створити новий запит на злиття.
+new_advanced_expand = Натисніть, щоб розгорнути
+new_from_template = Використати шаблон
+new_advanced = Додаткові налаштування
+auto_init_description = Почніть історію Git з README і за бажанням додайте файли License та .gitignore.
+new_from_template_description = Можете вибрати наявний шаблон репозиторію на цьому екземплярі і застосувати його налаштування.
+form.string_too_long = Довжина введеного рядка більша за %d символів.
+form.name_reserved = Назву репозиторію «%s» зарезервовано.
+form.name_pattern_not_allowed = Шаблон «%s» не допускається у назві репозиторію.
+
+wiki.reserved_page = Назву вікі-сторінки «%s» зарезервовано.
+settings.wiki_rename_branch_main_desc = Перейменувати внутрішню гілку, яка використовується у вікі, на «%s». Ця зміна є остаточною і її неможливо скасувати.
+
+open_with_editor = Відкрити в %s
+mirror_public_key = Відкритий SSH-ключ
+mirror_use_ssh.text = Входити через SSH
+stars = Зірки
+activity.navbar.pulse = Пульс
+activity.navbar.code_frequency = Частота кодування
[graphs]
contributors.what = внески
@@ -2431,6 +2522,8 @@ component_loading_failed = Не вдалося завантажити %s
recent_commits.what = нещодавні коміти
component_failed_to_load = Сталася несподівана помилка.
+code_frequency.what = частота кодування
+
[org]
org_name_holder=Назва організації
org_full_name_holder=Повна назва організації
@@ -2543,6 +2636,8 @@ follow_blocked_user = Ви не можете стежити за цією орг
teams.invite.description = Щоб приєднатися до команди, натисніть кнопку нижче.
teams.invite.title = Вас запрошено приєднатися до команди %s в організації %s .
+form.name_reserved = Назву організації «%s» зарезервовано.
+
[admin]
dashboard=Панель управління
users=Облікові записи користувачів
@@ -2797,15 +2892,15 @@ auths.tips.oauth2.general=Автентифікація OAuth2
auths.tip.oauth2_provider=Постачальник OAuth2
auths.tip.bitbucket=Створіть OAuth URI на сторінці %s
auths.tip.nextcloud=`Зареєструйте нового споживача OAuth у вашому екземплярі за допомогою наступного меню "Налаштування -> Безпека -> клієнт OAuth 2.0"`
-auths.tip.dropbox=Додайте новий додаток на %s
-auths.tip.facebook=`Створіть новий додаток на %s і додайте модуль "Facebook Login"`
-auths.tip.github=Додайте OAuth додаток на %s
+auths.tip.dropbox=Створіть новий додаток на %s
+auths.tip.facebook=Зареєструйте новий додаток на %s і додайте модуль «Facebook Login»
+auths.tip.github=Зареєструйте новий додаток OAuth на %s
auths.tip.gitlab=Додайте новий додаток на https://gitlab.com/profile/applications
auths.tip.google_plus=Отримайте облікові дані клієнта OAuth2 в консолі Google API на сторінці %s
auths.tip.openid_connect=Використовуйте OpenID Connect Discovery URL (/.well-known/openid-configuration) для автоматичної настройки входу OAuth
auths.tip.twitter=Перейдіть на %s, створіть програму і переконайтеся, що включена опція «Дозволити цю програму для входу в систему за допомогою Twitter»
auths.tip.discord=Зареєструйте новий додаток на %s
-auths.tip.yandex=`Створіть нову програму в %s. Виберіть наступні дозволи з "Yandex. assport API": "Доступ до адреси електронної пошти", "Доступ до аватара" і "Доступ до імені користувача, імені та прізвища, статі"`
+auths.tip.yandex=Створіть новий додаток на %s. Виберіть наступні дозволи з «Yandex.Passport API»: «Доступ до адреси електронної пошти», «Доступ до аватара» і «Доступ до імені користувача, імені та прізвища, статі»
auths.tip.mastodon=Введіть URL спеціального екземпляра для екземпляра mastodon, який ви хочете автентифікувати за допомогою (або використовувати за замовчуванням)
auths.edit=Редагувати джерело автентифікації
auths.activated=Це джерело авторизації активоване
@@ -2830,7 +2925,7 @@ config.disable_router_log=Вимкнути логування роутеру
config.run_user=Користувач, від якого запустити
config.run_mode=Режим виконання
config.git_version=Версія Git
-config.repo_root_path=Кореневий шлях репозиторія
+config.repo_root_path=Шлях до кореня репозиторію
config.lfs_root_path=Кореневий шлях LFS
config.log_file_root_path=Шлях до лог файлу
config.script_type=Тип скрипта
@@ -2953,7 +3048,7 @@ monitor.desc=Опис
monitor.start=Час початку
monitor.execute_time=Час виконання
monitor.process.cancel=Зупинити процес
-monitor.process.cancel_desc=Зупинка процесу може призвести до втрати даних
+monitor.process.cancel_desc=Скасування процесу може призвести до втрати даних
monitor.process.cancel_notices=Зупинити: %s ?
monitor.process.children=Дочірні процеси
@@ -3020,8 +3115,12 @@ monitor.queue.settings.desc = Пули динамічно зростають у
monitor.queue.settings.remove_all_items_done = Усі елементи в черзі видалено.
monitor.queue.settings.remove_all_items = Видалити всі
config.app_slogan = Гасло екземпляра
+auths.tip.gitea = Зареєструйте новий додаток OAuth. Інструкцію можна знайти на %s
+auths.tip.gitlab_new = Зареєструйте новий додаток на %s
+users.reserved = Зарезервовано
+
[action]
create_repo=створив(ла) репозиторій %s
rename_repo=репозиторій перейменовано з %[1]s
на %[3]s
@@ -3131,7 +3230,7 @@ arch.version.groups = Група
conda.install = Аби встановити пакунок, використовуючи Conda, запустіть команду:
cargo.install = Аби встановити пакунок, використовуючи Cargo, запустіть команду:
versions.view_all = Переглянути всі
-generic.download = Завантажте пакунок з командного рядка:
+generic.download = Завантажте пакунок із командного рядка:
details = Подробиці
arch.version.optdepends = Необовʼязково залежить
installation = Установлення
@@ -3172,7 +3271,7 @@ debian.repository = Про репозиторій
debian.repository.distributions = Дистрибутиви
alpine.repository.architectures = Архітектури
arch.version.depends = Залежить
-go.install = Встановити пакунок з командного рядка:
+go.install = Встановити пакунок із командного рядка:
debian.repository.architectures = Архітектури
helm.install = Аби встановити пакунок, запустіть команду:
keywords = Ключові слова
@@ -3193,6 +3292,19 @@ rubygems.dependencies.development = Залежності розробки
npm.dependencies.optional = Необов'язкові залежності
container.images.title = Образи
+settings.delete.description = Видалення пакунка є остаточним і його неможливо скасувати.
+owner.settings.cleanuprules.keep.count.1 = 1 версію на пакунок
+owner.settings.cleanuprules.keep.count.n = %d версій на пакунок
+
+conan.registry = Налаштуйте цей реєстр із командного рядка:
+debian.registry = Налаштуйте цей реєстр із командного рядка:
+debian.registry.info = Виберіть $distribution і $component зі списку нижче.
+helm.registry = Налаштуйте цей реєстр із командного рядка:
+nuget.registry = Налаштуйте цей реєстр із командного рядка:
+rpm.registry = Налаштуйте цей реєстр із командного рядка:
+rpm.repository.multiple_groups = Цей пакунок доступний у кількох групах.
+swift.registry = Налаштуйте цей реєстр із командного рядка:
+
[secrets]
deletion = Видалити секрет
creation.success = Секрет «%s» додано.
@@ -3307,7 +3419,7 @@ milestone_kind = Шукати віхи...
commit_kind = Шукати коментарі...
no_results = Не знайдено відповідних результатів.
keyword_search_unavailable = Пошук за ключовими словами наразі недоступний. Будь ласка, зв'яжіться з адміністратором сайту.
-code_search_by_git_grep = Поточні результати пошуку коду надаються з "git grep". Тут можуть бути кращі результати, якщо адміністратор сайту ввімкнув індексацію коду.
+code_search_by_git_grep = Поточні результати пошуку коду надаються з «git grep». Тут можуть бути кращі результати, якщо адміністратор сайту ввімкнув індексацію коду.
package_kind = Шукати пакунки...
project_kind = Шукати проєкти...
branch_kind = Шукати гілки...
diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini
index 2ae1e4d947..1c152e72a6 100644
--- a/options/locale/locale_zh-CN.ini
+++ b/options/locale/locale_zh-CN.ini
@@ -126,7 +126,7 @@ unpin=取消置顶
artifacts=制品
confirm_delete_artifact=您确定要删除制品“%s”吗?
-archived=已归档
+archived=已存档
concept_system_global=全局
concept_user_individual=个人
@@ -144,8 +144,8 @@ name=名称
value=值
filter = 筛选
filter.clear = 清除筛选条件
-filter.is_archived = 已归档
-filter.not_archived = 未归档
+filter.is_archived = 已存档
+filter.not_archived = 未存档
filter.is_fork = 是派生
filter.not_fork = 不是派生
filter.is_mirror = 是镜像
@@ -199,7 +199,7 @@ buttons.switch_to_legacy.tooltip=使用旧版编辑器
buttons.enable_monospace_font=启用等宽字体
buttons.disable_monospace_font=禁用等宽字体
buttons.unindent.tooltip = 解除一级嵌套条目
-buttons.indent.tooltip = 解除一级嵌套条目
+buttons.indent.tooltip = 嵌套一级条目
table_modal.header = 添加表格
table_modal.placeholder.header = 标题
table_modal.label.columns = 列数
@@ -364,10 +364,10 @@ filter=其他过滤器
filter_by_team_repositories=按团队仓库筛选
feed_of=`"%s"的源`
-show_archived=已归档
-show_both_archived_unarchived=显示已归档和未归档的
-show_only_archived=只显示已归档的
-show_only_unarchived=只显示未归档的
+show_archived=已存档
+show_both_archived_unarchived=显示已存档和未存档的
+show_only_archived=只显示已存档的
+show_only_unarchived=只显示未存档的
show_private=私有库
show_both_private_public=同时显示公开的和私有的
@@ -681,6 +681,8 @@ Description = 描述
Pronouns = 代称
Biography = 简历
+email_domain_is_not_allowed = 用户电子邮箱的域名%s 与EMAIL_DOMAIN_ALLOWLIST或EMAIL_DOMAIN_BLOCKLIST冲突。请确保您正确设置了电子邮件地址。
+
[user]
change_avatar=修改头像…
joined_on=加入于 %s
@@ -747,7 +749,7 @@ webauthn=两步验证(安全密钥)
public_profile=公开信息
biography_placeholder=向他人介绍一下你自己!(支持 Markdown)
location_placeholder=与他人分享你的大概位置
-profile_desc=控制您的个人资料对其他用户的显示方式。您的主要电子邮件地址将用于通知、密码恢复和基于网页界面的 Git 操作。
+profile_desc=关于您
password_username_disabled=不允许非本地用户更改他们的用户名。更多详情请联系您的系统管理员。
full_name=全名
website=个人网站
@@ -838,7 +840,7 @@ add_email_success=新的电子邮件地址已添加。
email_preference_set_success=电子邮件首选项已成功设置。
add_openid_success=新的 OpenID 地址已添加。
keep_email_private=隐藏邮箱地址
-keep_email_private_popup=这将从您的个人资料中隐藏您的电子邮件地址。它将不再是通过 Web 界面创建拉取请求的默认地址,如文件上传和编辑,也不会用于合并提交。相反,可以使用特殊地址 %s 将提交与您的账号相关联。请注意,更改此选项不会影响现有的提交。
+keep_email_private_popup=您的邮件地址不会在个人资料中显示,也不会成为通过网页界面提交的默认地址,例如文件上传、编辑和合并提交。相反,可以使用特殊地址 %s 将提交链接到您的账号。此选项不会影响现有提交。
openid_desc=OpenID 让你可以将认证转发到外部服务。
manage_ssh_keys=管理 SSH 密钥
@@ -898,7 +900,7 @@ ssh_principal_deletion=删除 SSH 证书规则
ssh_key_deletion_desc=删除 SSH 公钥将取消对应的私钥对您的 Forgejo 帐户的访问权限。继续?
gpg_key_deletion_desc=删除 GPG 公钥将无法认知使用对应私钥签名的提交,继续?
ssh_principal_deletion_desc=删除此 SSH 证书规则将取消它对您的账户的访问权限。继续?
-ssh_key_deletion_success=GPG 密钥已被删除。
+ssh_key_deletion_success=SSH 密钥已被删除。
gpg_key_deletion_success=GPG 密钥已被删除。
ssh_principal_deletion_success=此规则删除成功。
added_on=添加于 %s
@@ -1049,11 +1051,13 @@ additional_repo_units_hint_description = 在所有存在未启用的功能的仓
update_hints_success = 提示更改成功。
pronouns_custom = 自定义
pronouns = 代词
-pronouns_unspecified = 不指定
+pronouns_unspecified = 未指定
language.title = 默认语言
keep_activity_private.description = 您的公开活动 将仅对您和实例管理员可见。
language.description = 此语言将保存到您的账号中,并在您登录后用作默认语言。
language.localization_project = 帮助我们将 Forgejo 翻译成您的语言!了解更多 。
+user_block_yourself = 您不能屏蔽自己。
+pronouns_custom_label = 自定义代词
[repo]
new_repo_helper=代码仓库包含了所有的项目文件,包括版本历史记录。已经在其他地方托管了?迁移仓库 。
@@ -1102,7 +1106,7 @@ object_format_helper = 仓库的对象格式,一旦设置无法更改。SHA1
readme=自述
readme_helper=选择自述文件模板
readme_helper_desc=这是您可以为您的项目撰写完整描述的地方。
-auto_init=初始化仓库(添加 .gitignore、许可证和自述文件)
+auto_init=初始化仓库
trust_model_helper=选择签名验证的“信任模型”。可能的选项是:
trust_model_helper_collaborator=协作者:信任协作者的签名
trust_model_helper_committer=提交者:信任与提交者相符的签名
@@ -1142,7 +1146,7 @@ adopt_preexisting_label=收录文件
adopt_preexisting=收录已存在的仓库
adopt_preexisting_content=从 %s 创建仓库
adopt_preexisting_success=从 %s 收录仓库成功
-delete_preexisting_label=刪除
+delete_preexisting_label=删除
delete_preexisting=删除已存在的文件
delete_preexisting_content=删除 %s 中的文件
delete_preexisting_success=删除 %s 中未收录的文件
@@ -1179,10 +1183,10 @@ template.issue_labels=工单标签
template.one_item=必须至少选择一个模板项
template.invalid=必须选择一个模板仓库
-archive.title=该仓库已被归档。您可以查看文件和克隆它,但不能推送、创建工单或合并请求。
-archive.title_date=该仓库已于 %s 归档。您可以查看文件或克隆它,但不能推送、创建工单或合并请求。
-archive.issue.nocomment=此仓库已存档,您不能在此工单添加评论。
-archive.pull.nocomment=此仓库已存档,您不能在此合并请求添加评论。
+archive.title=此仓库已存档。您可以查看文件和克隆仓库,但不能推送、创建工单或合并请求。
+archive.title_date=该仓库已于 %s 存档。您可以查看文件或克隆它,但不能推送、创建工单或合并请求。
+archive.issue.nocomment=此仓库已存档,您不能在工单添加评论。
+archive.pull.nocomment=此仓库已存档,您不能在合并请求添加评论。
form.reach_limit_of_creation_1=你已经达到了 %d 仓库的上限。
form.reach_limit_of_creation_n=你已经达到了 %d 个仓库的上限。
@@ -1227,7 +1231,7 @@ migrate.migrating_failed_no_addr=迁移失败。
migrate.github.description=从 github.com 或 GitHub Enterprise 服务器迁移数据。
migrate.git.description=从任意 Git 服务迁移仓库。
migrate.gitlab.description=从 gitlab.com 或其他 GitLab 实例迁移数据。
-migrate.gitea.description=从 gitea.com 或其他 Gitea/Forgejo 实例迁移数据。
+migrate.gitea.description=从 gitea.com 或其他 Gitea 实例迁移数据。
migrate.gogs.description=从 notabug.org 或其他 Gogs 实例迁移数据。
migrate.onedev.description=从 code.onedev.io 或其他 OneDev 实例迁移数据。
migrate.codebase.description=从 codebasehq.com 迁移数据。
@@ -1315,6 +1319,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 = Vendored
@@ -1340,6 +1345,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=文件已锁定
@@ -1607,21 +1613,21 @@ issues.num_comments=%d 条评论
issues.commented_at=`评论于 %s `
issues.delete_comment_confirm=您确定要删除该条评论吗?
issues.context.copy_link=复制链接
-issues.context.quote_reply=引用回复
+issues.context.quote_reply=回复
issues.context.reference_issue=在新工单中引用
issues.context.edit=编辑
-issues.context.delete=刪除
+issues.context.delete=删除
issues.no_content=没有提供说明。
-issues.close=关闭工单
+issues.close=关闭
issues.comment_pull_merged_at=已合并提交 %[1]s 到 %[2]s %[3]s
issues.comment_manually_pull_merged_at=手动合并提交 %[1]s 到 %[2]s %[3]s
issues.close_comment_issue=评论并关闭
issues.reopen_issue=重新开放
issues.reopen_comment_issue=重新打开评论
issues.create_comment=评论
-issues.closed_at=`于 %[2]s 关闭此工单`
+issues.closed_at=`于%[2]s 关闭此工单`
issues.reopened_at=`重新打开此问题 %[2]s `
-issues.commit_ref_at=`于 %[2]s 在代码提交中引用了该工单`
+issues.commit_ref_at=`于%[2]s 在代码提交中引用了该工单`
issues.ref_issue_from=`引用了工单 %[4]s %[2]s `
issues.ref_pull_from=`引用了合并请求 %[4]s %[2]s `
issues.ref_closing_from=`于 %[2]s 从合并请求 %[4]s引用了此工单,将关闭此工单 `
@@ -1655,7 +1661,7 @@ issues.label_title=标签名称
issues.label_description=标签描述
issues.label_color=标签颜色
issues.label_exclusive=独有
-issues.label_archive=归档标签
+issues.label_archive=存档标签
issues.label_archived_filter=显示存档标签
issues.label_archive_tooltip=在标签搜索时,默认情况下存档标签将被排除在外。
issues.label_exclusive_desc=命名标签为 scope/item
以使其与其他以 scope/
开头的标签互斥。
@@ -1791,7 +1797,7 @@ issues.review.pending=待定
issues.review.pending.tooltip=此评论目前对其他用户不可见。 若要提交您的待定评论,请在页面顶部选择 %s -> %s/%s/%s。
issues.review.review=评审
issues.review.reviewers=评审人
-issues.review.outdated=已过期
+issues.review.outdated=已过时
issues.review.outdated_description=评论发布后内容已经修改
issues.review.option.show_outdated_comments=显示过时的评论
issues.review.option.hide_outdated_comments=隐藏过时的评论
@@ -1933,7 +1939,7 @@ pulls.update_branch_success=分支更新成功
pulls.update_not_allowed=您无权更新分支
pulls.outdated_with_base_branch=此分支相比基础分支已过期
pulls.close=关闭
-pulls.closed_at=`于 %[2]s 关闭此合并请求 `
+pulls.closed_at=`于%[2]s 关闭此合并请求 `
pulls.reopened_at=`重新打开此合并请求 %[2]s `
pulls.cmd_instruction_hint=查看命令行说明
pulls.cmd_instruction_checkout_title=检出
@@ -2053,12 +2059,12 @@ activity.merged_prs_count_1=已合并的合并请求
activity.merged_prs_count_n=已合并的合并请求
activity.opened_prs_count_1=新合并请求
activity.opened_prs_count_n=新合并请求
-activity.title.user_1=%d 用户
-activity.title.user_n=%d 用户
+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=%[2]s 由 %[1]s 合并
-activity.title.prs_opened_by=%[2]s 创建了 %[1]s
+activity.title.prs_merged_by=%[2]s 共合并了 %[1]s
+activity.title.prs_opened_by=%[2]s 共创建了 %[1]s
activity.merged_prs_label=已合并
activity.opened_prs_label=已创建
activity.active_issues_count_1=%d 项活动的工单
@@ -2067,8 +2073,8 @@ activity.closed_issues_count_1=已关闭的工单
activity.closed_issues_count_n=已关闭的工单
activity.title.issues_1=%d 项工单
activity.title.issues_n=%d 项工单
-activity.title.issues_closed_from=%s 从 %s 被关闭
-activity.title.issues_created_by=%[2]s 创建了 %[1]s
+activity.title.issues_closed_from=%[2]s 共关闭了 %[1]s
+activity.title.issues_created_by=%[2]s 共创建了 %[1]s
activity.closed_issue_label=已关闭
activity.new_issues_count_1=新工单
activity.new_issues_count_n=新工单
@@ -2079,29 +2085,29 @@ activity.unresolved_conv_desc=这些最近更新的工单和合并请求还没
activity.unresolved_conv_label=打开
activity.title.releases_1=%d 个版本发布
activity.title.releases_n=%d 个版本发布
-activity.title.releases_published_by=%[2]s 发布了 %[1]s
+activity.title.releases_published_by=%[2]s 共发布了 %[1]s
activity.published_release_label=版本发布
activity.no_git_activity=在此期间没有任何提交活动。
-activity.git_stats_exclude_merges=排除合并,
-activity.git_stats_author_1=%d 作者
-activity.git_stats_author_n=%d 作者
-activity.git_stats_pushed_1=已经推送
-activity.git_stats_pushed_n=已经推送
-activity.git_stats_commit_1=%d 提交
-activity.git_stats_commit_n=%d 提交
+activity.git_stats_exclude_merges=除去合并提交以外,
+activity.git_stats_author_1=%d 名作者
+activity.git_stats_author_n=%d 名作者
+activity.git_stats_pushed_1=总共推送了
+activity.git_stats_pushed_n=总共推送了
+activity.git_stats_commit_1=%d 个提交
+activity.git_stats_commit_n=%d 个提交
activity.git_stats_push_to_branch=到 %s 和
activity.git_stats_push_to_all_branches=到所有分支。
-activity.git_stats_on_default_branch=在 %s 上,
-activity.git_stats_file_1=%d 文件
-activity.git_stats_file_n=%d 文件
-activity.git_stats_files_changed_1=已经改变
-activity.git_stats_files_changed_n=已经改变
-activity.git_stats_additions=而且
-activity.git_stats_addition_1=新增 %d 行
-activity.git_stats_addition_n=新增 %d 行
-activity.git_stats_and_deletions=和
-activity.git_stats_deletion_1=删除 %d 行
-activity.git_stats_deletion_n=删除 %d 行
+activity.git_stats_on_default_branch=在 %s 分支上,
+activity.git_stats_file_1=%d 个文件
+activity.git_stats_file_n=%d 个文件
+activity.git_stats_files_changed_1=被改动
+activity.git_stats_files_changed_n=被改动
+activity.git_stats_additions=,总共
+activity.git_stats_addition_1=新增了 %d 行
+activity.git_stats_addition_n=新增了 %d 行
+activity.git_stats_and_deletions=并有
+activity.git_stats_deletion_1=%d 行被删除
+activity.git_stats_deletion_n=%d 行被删除
contributors.contribution_type.filter_label=贡献类型:
contributors.contribution_type.commits=提交
@@ -2178,7 +2184,7 @@ settings.external_tracker_url=外部工单系统 URL
settings.external_tracker_url_error=外部百科链接无效。
settings.external_tracker_url_desc=当点击工单标签时,访问者将被重定向到外部工单系统的URL。
settings.tracker_url_format=外部工单系统的 URL 格式
-settings.tracker_url_format_error=外部工单追踪器链接无效
+settings.tracker_url_format_error=外部工单追踪器链接无效。
settings.tracker_issue_style=外部工单系统的编号格式
settings.tracker_issue_style.numeric=纯数字形式
settings.tracker_issue_style.alphanumeric=英文字母数字组合形式
@@ -2322,7 +2328,7 @@ settings.event_choose=自定义事件…
settings.event_header_repository=仓库事件
settings.event_create=创建
settings.event_create_desc=创建分支或标签。
-settings.event_delete=刪除
+settings.event_delete=删除
settings.event_delete_desc=分支或标签已删除。
settings.event_fork=派生
settings.event_fork_desc=仓库被派生。
@@ -2505,20 +2511,20 @@ settings.thread_id=线程 ID
settings.matrix.homeserver_url=主服务器网址
settings.matrix.room_id=房间ID
settings.matrix.message_type=消息类型
-settings.archive.button=归档仓库
-settings.archive.header=归档此仓库
-settings.archive.text=归档仓库将使其完全只读。它将在首页隐藏。没有人(甚至你!)能够进行新的提交,或打开工单及合并请求。
-settings.archive.success=仓库已成功归档。
-settings.archive.error=仓库在归档时出现异常。请通过日志获取详细信息。
-settings.archive.error_ismirror=不能归档镜像仓库。
-settings.archive.branchsettings_unavailable=分支设置对已归档的仓库不可用。
-settings.archive.tagsettings_unavailable=标签设置对已归档的仓库不可用。
-settings.archive.mirrors_unavailable = 镜像对已归档的仓库不可用。
-settings.unarchive.button=撤销仓库归档
-settings.unarchive.header=撤销此仓库归档
-settings.unarchive.text=撤销归档将恢复仓库接收提交、推送,以及新工单和合并请求的能力。
-settings.unarchive.success=仓库已成功撤销归档。
-settings.unarchive.error=仓库在取消归档时出现异常。请通过日志获取详细信息。
+settings.archive.button=存档仓库
+settings.archive.header=存档此仓库
+settings.archive.text=存档仓库将使其完全只读。它将在首页隐藏。没有人(甚至你!)能够进行新的提交,或打开工单及合并请求。
+settings.archive.success=仓库已成功存档。
+settings.archive.error=仓库在存档时出现异常。请通过日志获取详细信息。
+settings.archive.error_ismirror=不能存档镜像仓库。
+settings.archive.branchsettings_unavailable=分支设置对已存档的仓库不可用。
+settings.archive.tagsettings_unavailable=标签设置对已存档的仓库不可用。
+settings.archive.mirrors_unavailable = 镜像对已存档的仓库不可用。
+settings.unarchive.button=撤销仓库存档
+settings.unarchive.header=撤销此仓库存档
+settings.unarchive.text=撤销存档将恢复仓库接收提交、推送,以及新工单和合并请求的能力。
+settings.unarchive.success=仓库已成功撤销存档。
+settings.unarchive.error=仓库在取消存档时出现异常。请通过日志获取详细信息。
settings.update_avatar_success=仓库头像已经更新。
settings.lfs=LFS
settings.lfs_filelist=存储在此仓库中的 LFS 文件
@@ -2659,7 +2665,7 @@ release.tags_for=%s 的标签
branch.name=分支名称
branch.already_exists=名为 %s 的分支已存在。
-branch.delete_head=刪除
+branch.delete_head=删除
branch.delete=删除分支 "%s"
branch.delete_html=删除分支
branch.delete_desc=删除分支是永久的。虽然已删除的分支在实际被删除前有可能会短时间存在,但这在大多数情况下无法撤销。是否继续?
@@ -2750,7 +2756,7 @@ pulls.made_using_agit = AGit
activity.navbar.pulse = 动态
activity.navbar.code_frequency = 代码频率
activity.navbar.recent_commits = 近期提交
-pulls.agit_explanation = 该合并请求是用 AGit 创建的。AGit 是一种可以让贡献者直接通过 “git push” 提出更改代码而不需要派生或建立新分支。
+pulls.agit_explanation = 该合并请求是用 AGit 工作流创建的。使用 AGit,贡献者无需派生或创建分支就可以直接通过 “git push” 提出更改代码。
error.broken_git_hook = 该仓库的 Git 钩子似乎已经损坏,请按照 此文档 来修复这些问题,然后推送一些提交来刷新状态。
pulls.merged_title_desc_one = 已将来自 %[2]s
的 %[1]d 提交合并入 %[3]s
%[4]s
commits.search_branch = 此分支
@@ -2767,7 +2773,7 @@ n_tag_one = %s 标签
n_tag_few = %s 标签
editor.commit_id_not_matching = 您在编辑文件时该文件已被更改。请提交到一个新的分支,然后再将这个新的分支合并回当前分支。
issues.num_participants_one = %d 位参与者
-issues.archived_label_description = (已归档)%s
+issues.archived_label_description = (已存档)%s
editor.push_out_of_date = 推送似乎已过期。
settings.enforce_on_admins = 对仓库的管理员适用该规则
settings.enforce_on_admins_desc = 使仓库管理员也须遵守此规则。
@@ -2802,7 +2808,7 @@ issues.edit.already_changed = 无法保存对工单的更改。工单似乎已
pulls.edit.already_changed = 无法保存对合并请求的更改。内容似乎已经被另一个用户修改了,为了防止修改被覆盖,请刷新页面后再次尝试编辑
comments.edit.already_changed = 无法保存对评论的更改。内容似乎已经被另一个用户修改了,为了防止修改被覆盖,请刷新页面后再次尝试编辑
subscribe.issue.guest.tooltip = 登录以订阅工单。
-subscribe.pull.guest.tooltip = 登录以订阅此拉取请求。
+subscribe.pull.guest.tooltip = 登录以订阅此合并请求。
settings.federation_following_repos = 关注的仓库URL地址,多个地址以 “;” 分隔,不需要前后空格。
settings.federation_settings = 邦联设置
settings.federation_apapiurl = 此仓库的邦联URL地址。将其作为关注的仓库URL地址填写到另一个仓库的邦联设置中。
@@ -2849,9 +2855,27 @@ issues.num_reviews_one = %d 评审
issues.num_reviews_few = %d 评审
issues.summary_card_alt = 仓库 %[2]s 中标题为 %[1]s 的工单的摘要卡片
editor.add_tmpl.filename = 文件名
+settings.default_update_style_desc = 用于更新落后于基础分支的合并请求的默认更新样式。
+pulls.sign_in_require = 登录 以创建新的合并请求。
+new_from_template = 使用模板
+new_from_template_description = 您可以选择此实例上现有仓库模板并应用其设置。
+new_advanced = 高级设置
+new_advanced_expand = 单击展开
+auto_init_description = 以一个自述文件、可选的许可证与 .gitignore 文件开始Git历史。
+issues.reaction.add = 添加回应
+issues.reaction.alt_few = %[1]s 回应了 %[2]s。
+issues.reaction.alt_many = %[1]s 和另外 %[2]d 人回应了 %[3]s。
+issues.reaction.alt_remove = 从评论中移除 %[1] 回应。
+issues.context.menu = 评论菜单
+issues.reaction.alt_add = 对评论添加 %[1]s 回应。
+
+summary_card_alt = 仓库 %s 的摘要卡片
+release.summary_card_alt = 仓库 %[2]s 中标题为 %[1]s 的版本发布的摘要卡片
+
+editor.commit_email = 提交电子邮件
[graphs]
-component_loading=正在加载 %s...
+component_loading=正在加载 %s…
component_loading_failed=无法加载 %s
component_loading_info=这可能需要一点…
component_failed_to_load=意外的错误发生了。
@@ -3517,7 +3541,7 @@ notices.op=操作
notices.delete_success=系统通知已被删除。
self_check.no_problem_found=尚未发现问题。
self_check.database_collation_mismatch=期望数据库使用的校验方式:%s
-self_check.database_collation_case_insensitive=数据库正在使用一个校验 %s, 这是一个不敏感的校验. 虽然Gitea可以与它合作,但可能有一些罕见的情况不如预期的那样起作用。
+self_check.database_collation_case_insensitive=数据库正在使用排序规则%s,这是一个不敏感的排序规则。虽然Forgejo可以与其一同工作,但可能有一些罕见的情况存在问题。
self_check.database_inconsistent_collation_columns=数据库正在使用%s的排序规则,但是这些列使用了不匹配的排序规则。这可能会造成一些意外问题。
self_check.database_fix_mysql=对于 MySQL/MariaDB 用户,您可以使用“forgejo doctor convert”命令来修复排序规则问题,或者您也可以手动通过“ALTER ... COLLATE ...” SQL 修复该问题。
auths.tips.gmail_settings = Gmail 设置:
@@ -3807,7 +3831,7 @@ secrets=密钥
description=Secrets 将被传给特定的 Actions,其它情况将不能读取
none=还没有密钥。
creation=添加密钥
-creation.name_placeholder=不区分大小写,字母数字或下划线不能以GITEA_ 或 GITHUB_ 开头。
+creation.name_placeholder=不区分大小写,只能包含英文字母、数字或下划线,不能以 GITEA_ 或 GITHUB_ 开头
creation.value_placeholder=输入任何内容,开头和结尾的空白都会被省略
creation.success=您的密钥 '%s' 添加成功。
creation.failed=添加密钥失败。
@@ -3832,8 +3856,8 @@ status.skipped=已忽略
status.blocked=阻塞中
runners=运行器
-runners.runner_manage_panel=管理 Runners
-runners.new=创建 Runner
+runners.runner_manage_panel=管理运行器
+runners.new=创建新运行器
runners.new_notice=如何启动一个运行器
runners.status=状态
runners.id=ID
@@ -3911,7 +3935,7 @@ variables.update.success=该变量已被编辑。
runs.workflow = 工作流
runs.no_job_without_needs = 工作流必须至少包含一组没有依赖的作业。
runs.no_job = 工作流必须至少包含一个作业
-workflow.dispatch.trigger_found = 此工作流有一个 workflow_dispatch 事件触发。
+workflow.dispatch.trigger_found = 此工作流有 workflow_dispatch 事件触发器。
workflow.dispatch.use_from = 使用工作流
workflow.dispatch.invalid_input_type = 输入类型“%s”无效。
workflow.dispatch.warn_input_limit = 仅显示前 %d 个输入。
@@ -3940,18 +3964,18 @@ submodule=子模块
[search]
keyword_search_unavailable = 关键词搜索目前不可用,请联系站点管理员。
-search = 搜索...
-repo_kind = 搜索仓库...
-user_kind = 搜索用户...
-org_kind = 搜索组织...
-team_kind = 搜索团队...
-code_kind = 搜索代码...
+search = 搜索…
+repo_kind = 搜索仓库…
+user_kind = 搜索用户…
+org_kind = 搜索组织…
+team_kind = 搜索团队…
+code_kind = 搜索代码…
code_search_unavailable = 代码搜索目前不可用,请联系站点管理员。
-package_kind = 搜索软件包...
-project_kind = 搜索项目...
-branch_kind = 搜索分支...
-commit_kind = 搜索提交...
-runner_kind = 搜索Runners...
+package_kind = 搜索软件包…
+project_kind = 搜索项目…
+branch_kind = 搜索分支…
+commit_kind = 搜索提交…
+runner_kind = 搜索运行器…
no_results = 未找到匹配的结果。
type_tooltip = 搜索类型
fuzzy = 模糊
@@ -3960,8 +3984,8 @@ match = 匹配
match_tooltip = 仅包含与搜索词完全匹配的结果
fuzzy_tooltip = 在搜索结果中包含与搜索词相近的项目
exact = 精确
-issue_kind = 搜索工单...
-pull_kind = 搜索合并请求...
+issue_kind = 搜索工单…
+pull_kind = 搜索合并请求…
exact_tooltip = 仅包含与搜索词精确匹配的结果
milestone_kind = 搜索里程碑…
union_tooltip = 包括与任何空格分隔的关键字匹配的结果
diff --git a/options/locale/locale_zh-HK.ini b/options/locale/locale_zh-HK.ini
index e5080e65bb..25dfcdf913 100644
--- a/options/locale/locale_zh-HK.ini
+++ b/options/locale/locale_zh-HK.ini
@@ -472,6 +472,7 @@ file_view_raw=查看原始文件
file_permalink=永久連結
stored_lfs=儲存到到 Git LFS
+stored_annex=儲存到到 Git Annex
editor.preview_changes=預覽更改
editor.or=或
@@ -1132,4 +1133,4 @@ runners.labels = 標籤
[projects]
-[git.filemode]
\ No newline at end of file
+[git.filemode]
diff --git a/options/locale/locale_zh-TW.ini b/options/locale/locale_zh-TW.ini
index 5caafacce1..6506b6726a 100644
--- a/options/locale/locale_zh-TW.ini
+++ b/options/locale/locale_zh-TW.ini
@@ -167,6 +167,8 @@ new_org.link = 新組織
new_repo.title = 新儲存庫
new_migrate.link = 新遷移
+copy_path = 複製路徑
+
[aria]
navbar=導航列
footer=頁尾
@@ -198,6 +200,15 @@ buttons.enable_monospace_font=啟用等寬字型
buttons.disable_monospace_font=停用等寬字型
buttons.switch_to_legacy.tooltip = 使用舊版編輯器
+buttons.indent.tooltip = 使項目縮排一層
+buttons.unindent.tooltip = 使項目取消縮排一層
+buttons.new_table.tooltip = 新增表格
+table_modal.header = 新增表格
+table_modal.placeholder.header = 表頭
+table_modal.placeholder.content = 內容
+table_modal.label.rows = 列
+table_modal.label.columns = 欄
+
[filter]
string.asc=A - Z
string.desc=Z - A
@@ -221,6 +232,8 @@ license=開放原始碼
license_desc=取得 Forgejo !成為一名貢獻者 和我們一起讓 Forgejo 更好,快點加入我們吧!
install_desc = 輕鬆使用您平台的可執行檔 ,使用 Docker 部署 ,抑或是軟體包 。
+platform_desc = Forgejo 已確認可以在 Linux 和 FreeBSD 等自由作業系統和不同的中央處理器架構上運作。選擇你所愛的!
+
[install]
install=安裝頁面
title=初始組態
@@ -246,13 +259,13 @@ err_empty_db_path=SQLite3 資料庫路徑不可以為空。
no_admin_and_disable_registration=您不能夠在未建立管理員帳號的情況下禁止自助註冊。
err_empty_admin_password=管理員密碼不能為空。
err_empty_admin_email=管理員信箱不能為空。
-err_admin_name_is_reserved=無效的管理員帳號名稱,帳號名稱已被保留
+err_admin_name_is_reserved=無效的管理員使用者名稱,使用者名稱已保留
err_admin_name_pattern_not_allowed=無效的管理員帳號名稱,該名稱符合被保留式樣
-err_admin_name_is_invalid=無效的管理員帳號名稱
+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 根目錄
@@ -283,21 +296,21 @@ server_service_title=伺服器和第三方服務設定
offline_mode=啟用本地模式
offline_mode.description=停用第三方內容傳遞網路並在本地提供所有資源。
disable_gravatar=停用 Gravatar
-disable_gravatar.description=停用 Gravatar 和第三方大頭貼服務。若使用者在未本地上傳大頭貼,將使用預設的大頭貼。
+disable_gravatar.description=停用 Gravatar 或其他第三方大頭貼來源。除非使用者將自己的大頭貼上傳至站點,否則將使用預設的大頭貼作為使用者的大頭貼。
federated_avatar_lookup=啟用聯邦式大頭貼
-federated_avatar_lookup.description=啟用 Libravatar 提供的聯邦式大頭貼查詢服務。
+federated_avatar_lookup.description=使用 Libravatar 尋找大頭貼。
disable_registration=停用自助註冊
-disable_registration.description=禁止使用者自助註冊,只有管理員可以新增帳號。
-allow_only_external_registration.description=只允許從外部服務註冊
+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 的自助註冊。
+openid_signup.description=如果啟用了自助註冊,則允許使用者透過 OpenID 建立帳號。
enable_captcha=啟用註冊驗證碼
-enable_captcha.description=要求在用戶註冊時輸入驗證碼。
+enable_captcha.description=要求使用者通過 CAPTCHA 才能建立帳號。
require_sign_in_view=需要登入才能瀏覽站點內容
-require_sign_in_view.description=僅有已登入的使用者能存取頁面。訪客只會看到登入和註冊頁面。
-admin_setting.description=您不需要建立管理員帳號。 第一個註冊的使用者將自動成為管理員。
+require_sign_in_view.description=將內容存取限制為已登入的使用者。訪客只能存取驗證頁面。
+admin_setting.description=建立管理員帳號是選擇性的。第一個註冊的使用者將自動成為管理員。
admin_title=管理員帳號設定
admin_name=管理員帳號名稱
admin_password=密碼
@@ -317,11 +330,11 @@ save_config_failed=儲存設定失敗:%v
invalid_admin_setting=管理員帳號設定無效:%v
invalid_log_root_path=日誌根目錄設定無效:%v
default_keep_email_private=預設隱藏電子信箱
-default_keep_email_private.description=預設隱藏新使用者帳號的電子信箱。
+default_keep_email_private.description=預設為新使用者啟用電子郵件地址隱藏,以使這些資訊不會在註冊後立即洩露。
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=隱藏電子信箱域名
no_reply_address_helper=隱藏電子信箱的域名。例如,如果隱藏的電子信箱域名設定為「noreply.example.org」,帳號「joe」將以「joe@noreply.example.org」的身分登入到 Git 中。
password_algorithm=密碼雜湊演算法
@@ -342,7 +355,7 @@ allow_only_external_registration = 僅允許透過外部服務註冊
[home]
uname_holder=帳號名稱或電子信箱
password_holder=密碼
-switch_dashboard_context=切換儀錶版帳號
+switch_dashboard_context=切換儀錶板內容
my_repos=儲存庫
show_more_repos=顯示更多儲存庫…
collaborative_repos=參與協作的儲存庫
@@ -403,13 +416,13 @@ remember_me=記住這台裝置
forgot_password_title=忘記密碼
forgot_password=忘記密碼?
sign_up_now=還沒有帳號?馬上註冊。
-confirmation_mail_sent_prompt=已寄送新的確認信至 %s 。請在 %s 內檢查您的收件匣並完成註冊手續。如果該 email 不正確,您可以在登入後再請求一封新的確認信到另一個地址。
+confirmation_mail_sent_prompt=新的確認電子郵件已傳送至 %s 。要完成註冊過程,請檢查你的收件匣並在接下來的 %s 內按照提供的連結完成註冊手續。如果電子郵件不正確,你可以再登入並請求另一封新的確認電子郵件傳送至其他電子信箱。
must_change_password=更新您的密碼
allow_password_change=要求使用者更改密碼(建議)
-reset_password_mail_sent_prompt=已發送確認信至 %s 。請在 %s 內檢查您的收件匣並完成帳號復原手續。
+reset_password_mail_sent_prompt=確認電子郵件已傳送至 %s 。要完成帳號復原步驟,請檢查你的收件匣並在接下來的 %s 內按照提供的連結進行操作。
active_your_account=啟用您的帳號
account_activated=帳號已啟用
-prohibit_login=已被禁止登入
+prohibit_login=帳號已停權
resent_limit_prompt=您剛剛已經請求發送驗證電子郵件,請等待 3 分鐘後再試一次。
has_unconfirmed_mail=%s 您好,您有一個尚未被確認的信箱地址(%s )。如果您還沒收到確認信或需要一封新的,請點擊下方的按鈕。
resend_mail=點擊此處來重新發送確認郵件
@@ -449,7 +462,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=授權失效
sspi_auth_failed=SSPI 認證失敗
@@ -460,7 +473,7 @@ change_unconfirmed_email = 如果您在註冊帳號時寫錯了信箱地址,
change_unconfirmed_email_error = 無法更改信箱地址:%v
tab_signup = 註冊
last_admin = 您無法刪除最後一個管理員。必須至少有一個管理員。
-prohibit_login_desc = 您的帳號被禁止登入,請連絡網站管理員。
+prohibit_login_desc = 你的帳號已被暫停與站點互動。聯絡站點管理員以重新獲得存取權限。
sign_up_successful = 已成功建立帳號。歡迎!
invalid_code_forgot_password = 您的確認代碼無效或已過期。點擊這裡 來開始一個新的連線階段。
reset_password_wrong_user = 您以 %s 登入,但是帳號復原連結是給 %s 的
@@ -474,6 +487,9 @@ sign_up_button = 馬上註冊。
sign_in_openid = 使用 OpenID 繼續
back_to_sign_in = 返回登入頁面
+unauthorized_credentials = 憑證不正確或已過期。重試你的命令或查看 %s 以獲取更多資訊
+use_onetime_code = 使用一次性代碼
+
[mail]
view_it_on=在 %s 上查看
reply=或是直接回覆此電子郵件
@@ -553,6 +569,12 @@ account_security_caution.text_1 = 如果這是您,那您可以安全的忽略
account_security_caution.text_2 = 如果這不是您,您的帳號已被盜用。請連絡網站管理員。
totp_disabled.text_1 = 你帳號上的基於時間的一次性密碼(TOTP)剛剛已停用。
+totp_disabled.no_2fa = 沒有再配置其他 2FA 方法,這表示不再需要使用 2FA 登入你的帳號。
+removed_security_key.no_2fa = 沒有再配置其他 2FA 方法,這表示不再需要使用 2FA 登入你的帳號。
+totp_enrolled.subject = 你已啟動 TOTP 作為 2FA 方法
+totp_enrolled.text_1.no_webauthn = 你剛剛為你的帳號啟用了 TOTP。這意味著將來每次登入你的帳號時,你都必須使用 TOTP 作為 2FA 方法。
+totp_enrolled.text_1.has_webauthn = 你剛剛為你的帳號啟用了 TOTP。這意味著將來每次登入你的帳號時,你可以使用 TOTP 作為 2FA 方法或使用任何安全金鑰。
+
[modal]
yes=是
no=否
@@ -690,20 +712,26 @@ joined_on = 於 %s 註冊
show_on_map = 在地圖上顯示這個地點
settings = 使用者設定
block_user = 封鎖使用者
-block_user.detail_1 = 該使用者已停止追踪您。
-block_user.detail_2 = 這個使用者無法對您的儲存庫、您提出的問題或發表的留言做出任何操作。
+block_user.detail_1 = 你們將停止互相關注,並且無法互相關注。
+block_user.detail_2 = 此使用者將無法與你擁有的儲存庫或由你建立的問題和評論進行互動。
followers_one = %d 位追蹤者
following_one = 追蹤 %d 個人
-block_user.detail_3 = 該使用者無法將您加為協作者,您也無法將其加為協作者。
+block_user.detail_3 = 你們將無法互相新增為儲存庫協作者。
follow_blocked_user = 因為這個使用者封鎖您或被您封鎖,您不能追蹤此使用者。
block = 封鎖
unblock = 解除封鎖
-block_user.detail = 請注意,封鎖此使用者將會導致以下結果。例如:
+block_user.detail = 請注意,封鎖使用者還有其它影響,例如:
followers.title.one = 位追蹤者
followers.title.few = 位追蹤者
following.title.one = 關注中
following.title.few = 關注中
+public_activity.visibility_hint.self_public = 除私人空間的互動外,你的活動對所有人都可見。配置 。
+public_activity.visibility_hint.admin_public = 每個人都可以看到此活動,但作為管理員,你還可以看到私人空間中的互動。
+public_activity.visibility_hint.self_private = 你的活動僅對你和站點管理員可見。配置 。
+public_activity.visibility_hint.admin_private = 由於你是管理員,因此你可以看到此活動,但使用者希望將其保持私密。
+public_activity.visibility_hint.self_private_profile = 由於你的個人資料是私密的,因此只有你和站點管理員可以看到你的活動。配置 。
+
[settings]
profile=個人資料
account=帳號
@@ -977,9 +1005,9 @@ hints = 提示
update_hints = 更新提示
update_hints_success = 提示已被更改。
added_on = 於 %s 新增
-biography_placeholder = 和我們介紹一下您自己吧!(您可以使用 Markdown)
+biography_placeholder = 向別人簡單介紹一下自己!(支援 Markdown)
location_placeholder = 與其他人分享您粗略的地理位置
-profile_desc = 管理其他人如何看到您的個人資料。通知、密碼復原和網頁上的 Git 操作會使用您的主要電子信箱。
+profile_desc = 關於你
hidden_comment_types.ref_tooltip = 註記哪些問題/提交/… 提及了此問題
keep_activity_private = 隱藏個人頁面中的活動資料
uploaded_avatar_is_too_big = 上傳檔案的大小 (%d KiB)超過了上限 (%d KiB )。
@@ -1033,6 +1061,8 @@ authorized_oauth2_applications_description = 您已授權給這些第三方應
language.localization_project = 幫助我們翻譯 Forgejo 至您的語言!了解更多 。
language.description = 這個語言會被儲存至您的帳號,並被用作您登入後的預設語言。
+pronouns_custom_label = 自訂代名詞
+
[repo]
owner=所有者
owner_helper=組織可能因為儲存庫數量上限而未列入此選單。
@@ -1040,7 +1070,7 @@ repo_name=儲存庫名稱
repo_name_helper=好的儲存庫名稱通常是簡短的、好記的、且獨特的。
repo_size=儲存庫大小
template=範本
-template_select=選擇範本。
+template_select=選擇範本
template_helper=將儲存庫設為範本
template_description=儲存庫範本讓使用者可新增相同目錄結構、檔案以及設定的儲存庫。
visibility=瀏覽權限
@@ -1063,17 +1093,17 @@ generate_from=產生自
repo_desc=描述
repo_desc_helper=輸入簡介 (選用)
repo_lang=儲存庫語言
-repo_gitignore_helper=選擇 .gitignore 範本。
+repo_gitignore_helper=選擇 .gitignore 範本
repo_gitignore_helper_desc=從常見語言範本清單中挑選忽略追蹤的檔案。預設情況下各種語言建置工具產生的特殊檔案都包含在 .gitignore 中。
issue_labels=標籤
-issue_labels_helper=選擇問題標籤集。
+issue_labels_helper=選擇標籤集
license=授權條款
-license_helper=請選擇授權條款檔案。
+license_helper=選擇授權條款檔案
license_helper_desc=授權條款定義了他人使用您原始碼的允許和禁止事項。不確定哪個適用於您的專案?查看選擇授權條款。
readme=讀我檔案
-readme_helper=選擇讀我檔案範本。
+readme_helper=選擇讀我檔案範本
readme_helper_desc=這是您能為專案撰寫完整描述的地方。
-auto_init=初始化儲存庫(加入 .gitignore、授權條款、讀我檔案)
+auto_init=初始化儲存庫
trust_model_helper=選擇簽署驗證的信任模型。可用的選項:
trust_model_helper_collaborator=協作者: 信任協作者的簽署
trust_model_helper_committer=提交者: 信任與提交者相符的簽署
@@ -1089,7 +1119,7 @@ mirror_interval_invalid=鏡像週期無效。
mirror_sync_on_commit=推送提交後進行同步
mirror_address=從 URL 拓製
mirror_address_desc=在授權資訊中填入必要的資料。
-mirror_lfs=Large File Storage (LFS)
+mirror_lfs=大檔案儲存(LFS)
mirror_lfs_desc=啟動 LFS 檔案的鏡像功能。
mirror_lfs_endpoint=LFS 端點
mirror_lfs_endpoint_desc=同步將會嘗試使用 Clone URL 來確認 LFS 伺服器 。如果存儲庫的 LFS 資料放在其他地方,您也可以指定自訂的端點。
@@ -1257,12 +1287,13 @@ ambiguous_runes_line=`這一行有易混淆的 Unicode 字元`
ambiguous_character=`%[1]c [U+%04[1]X] 容易與 %[2]c [U+%04[2]X] 混淆`
escape_control_characters=Escape
-unescape_control_characters=Unescape
+unescape_control_characters=取消轉義
file_copy_permalink=複製永久連結
view_git_blame=檢視 Git Blame
video_not_supported_in_browser=您的瀏覽器不支援 HTML5 的「video」標籤。
audio_not_supported_in_browser=您的瀏覽器不支援 HTML5 的「audio」標籤。
stored_lfs=已使用 Git LFS 儲存
+stored_annex=已使用 Git Annex 儲存
symbolic_link=符號連結
commit_graph=提交線圖
commit_graph.select=選擇分支
@@ -1282,6 +1313,7 @@ editor.upload_file=上傳檔案
editor.edit_file=編輯檔案
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=檔案已被鎖定
@@ -1371,7 +1403,7 @@ commitstatus.failure=失敗
commitstatus.pending=待處理
commitstatus.success=成功
-ext_issues=存取外部問題
+ext_issues=外部問題
ext_issues.desc=連結到外部問題追蹤器。
projects=專案
@@ -1591,7 +1623,7 @@ issues.attachment.open_tab=`在新分頁中查看「%s」`
issues.attachment.download=`點擊下載「%s」`
issues.subscribe=訂閱
issues.unsubscribe=取消訂閱
-issues.unpin_issue=取消固定問題
+issues.unpin_issue=取消釘選問題
issues.max_pinned=您不能固定更多問題
issues.pin_comment=固定於 %s
issues.unpin_comment=取消固定於 %s
@@ -1617,13 +1649,13 @@ issues.comment_on_locked=您無法在已鎖定的問題上留言。
issues.delete=刪除
issues.delete.title=刪除此問題?
issues.delete.text=您真的要刪除此問題嗎?(這將會永久移除所有內容。若您還想保留,請考慮改為關閉它。)
-issues.tracker=時間追蹤
-issues.start_tracking_short=開始計時
+issues.tracker=時間追蹤器
+issues.start_tracking_short=開始計時器
issues.start_tracking=開始時間追蹤
issues.start_tracking_history=`開始工作 %s`
issues.tracker_auto_close=當這個問題被關閉時,自動停止計時器
issues.tracking_already_started=`您已在另一個問題 上開始時間追蹤!`
-issues.stop_tracking=停止計時
+issues.stop_tracking=停止計時器
issues.stop_tracking_history=`結束工作 %s`
issues.cancel_tracking=捨棄
issues.add_time=手動新增時間
@@ -1723,9 +1755,9 @@ compare.compare_base=基底分支
compare.compare_head=比較
pulls.desc=啟用合併請求和程式碼審核。
-pulls.new=建立合併請求
+pulls.new=新合併請求
pulls.view=檢視合併請求
-pulls.compare_changes=建立合併請求
+pulls.compare_changes=新合併請求
pulls.allow_edits_from_maintainers=允許維護者編輯
pulls.allow_edits_from_maintainers_desc=對基底分支有寫入權限的使用者也可以推送到此分支
pulls.allow_edits_from_maintainers_err=更新失敗
@@ -1870,7 +1902,7 @@ milestones.filter_sort.most_issues=問題由多到少
milestones.filter_sort.least_issues=問題由少到多
-ext_wiki=存取外部 Wiki
+ext_wiki=外部 Wiki
ext_wiki.desc=連結外部 Wiki。
wiki=Wiki
@@ -1911,10 +1943,10 @@ activity.period.yearly=1 年
activity.overview=概覽
activity.active_prs_count_1=%d 個合併請求
activity.active_prs_count_n=%d 個合併請求
-activity.merged_prs_count_1=合併
-activity.merged_prs_count_n=合併
-activity.opened_prs_count_1=提出合併請求
-activity.opened_prs_count_n=提出合併請求
+activity.merged_prs_count_1=已合併合併請求
+activity.merged_prs_count_n=已合併合併請求
+activity.opened_prs_count_1=已提出合併請求
+activity.opened_prs_count_n=已提出合併請求
activity.title.user_1=%d 位使用者
activity.title.user_n=%d 位使用者
activity.title.prs_1=%d 個合併請求
@@ -1939,8 +1971,8 @@ activity.title.unresolved_conv_1=%d 個未解決的對話
activity.title.unresolved_conv_n=%d 個未解決的對話
activity.unresolved_conv_desc=這些最近更改的問題和合併請求尚未解決。
activity.unresolved_conv_label=開放
-activity.title.releases_1=%d 個版本
-activity.title.releases_n=%d 個版本
+activity.title.releases_1=%d 個發行
+activity.title.releases_n=%d 個發行
activity.title.releases_published_by=%[2]s發布了 %[1]s
activity.published_release_label=發行
activity.no_git_activity=在此期間內沒有任何提交動態。
@@ -2004,12 +2036,12 @@ settings.sync_mirror=立即同步
settings.site=網站
settings.update_settings=儲存設定
settings.branches.update_default_branch=更新預設分支
-settings.branches.add_new_rule=加入新規則
+settings.branches.add_new_rule=增加新規則
settings.advanced_settings=進階設定
settings.wiki_desc=啟用儲存庫 Wiki
settings.use_internal_wiki=使用內建 Wiki
settings.use_external_wiki=使用外部 Wiki
-settings.external_wiki_url=外部 Wiki 連結
+settings.external_wiki_url=外部 Wiki 網址
settings.external_wiki_url_error=外部 Wiki 網址不是有效的網址。
settings.external_wiki_url_desc=點擊百科分頁時,使用者會被轉址至外部百科的 URL。
settings.issues_desc=啟用儲存庫問題追蹤器
@@ -2077,7 +2109,7 @@ settings.transfer_started=此儲存庫已被標記為待轉移且正在等待「
settings.transfer_succeed=已轉移儲存庫。
settings.signing_settings=簽署驗證設定
settings.trust_model=簽署信任模式
-settings.trust_model.default=預設信任模式
+settings.trust_model.default=預設信任模型
settings.trust_model.default.desc=使用此 Forgejo 的預設儲存庫信任模式。
settings.trust_model.collaborator=協作者
settings.trust_model.collaborator.long=協作者:信任協作者的簽署
@@ -2093,7 +2125,7 @@ settings.wiki_delete_desc=刪除儲存庫 Wiki 資料是永久的且不可還原
settings.wiki_delete_notices_1=- 這將會永久刪除與停用 %s 的儲存庫 Wiki。
settings.confirm_wiki_delete=刪除 Wiki 資料
settings.wiki_deletion_success=已刪除儲存庫的 Wiki 資料。
-settings.delete=刪除本儲存庫
+settings.delete=刪除此儲存庫
settings.delete_desc=刪除儲存庫是永久的且不可還原。
settings.delete_notices_1=- 此動作不可 還原。
settings.delete_notices_2=- 此操作將永久刪除 %s 儲存庫,包括程式碼、問題、留言、Wiki 資料和協作者設定。
@@ -2128,7 +2160,7 @@ settings.hooks_desc=當觸發某些 Forgejo 事件時,Webhook 會自動發出
settings.webhook_deletion=移除 Webhook
settings.webhook_deletion_desc=移除 Webhook 將刪除它的設定及傳送記錄,是否繼續?
settings.webhook_deletion_success=Webhook 已移除。
-settings.webhook.test_delivery=傳送測試資料
+settings.webhook.test_delivery=測試交付
settings.webhook.test_delivery_desc=使用假事件測試此 Webhook。
settings.webhook.request=請求
settings.webhook.response=回應
@@ -2172,30 +2204,30 @@ settings.event_push_desc=推送到儲存庫。
settings.event_repository=儲存庫
settings.event_repository_desc=建立或刪除儲存庫。
settings.event_header_issue=問題事件
-settings.event_issues=問題
+settings.event_issues=修改
settings.event_issues_desc=建立、編輯、關閉及重新開放問題。
-settings.event_issue_assign=指派問題
+settings.event_issue_assign=指派
settings.event_issue_assign_desc=指派或取消指派問題。
settings.event_issue_label=標籤
settings.event_issue_label_desc=更新或清除問題標籤。
settings.event_issue_milestone=里程碑
settings.event_issue_milestone_desc=設定或取消設定問題里程碑。
-settings.event_issue_comment=問題留言
+settings.event_issue_comment=評註
settings.event_issue_comment_desc=已經建立、編輯或刪除的問題留言。
settings.event_header_pull_request=合併請求事件
-settings.event_pull_request=合併請求
+settings.event_pull_request=修改
settings.event_pull_request_desc=建立、編輯、關閉及重新開放合併請求。
-settings.event_pull_request_assign=指派合併請求
+settings.event_pull_request_assign=指派
settings.event_pull_request_assign_desc=指派或取消指派合併請求。
-settings.event_pull_request_label=合併請求標籤
+settings.event_pull_request_label=標籤
settings.event_pull_request_label_desc=更新或清除合併請求標籤。
-settings.event_pull_request_milestone=合併請求里程碑
+settings.event_pull_request_milestone=里程碑
settings.event_pull_request_milestone_desc=設定或取消設定合併請求里程碑。
-settings.event_pull_request_comment=合併請求留言
+settings.event_pull_request_comment=評註
settings.event_pull_request_comment_desc=建立、編輯或刪除合併請求的留言。
-settings.event_pull_request_review=合併請求審核
+settings.event_pull_request_review=審核
settings.event_pull_request_review_desc=核准、退回或提出審核留言。
-settings.event_pull_request_sync=合併請求同步
+settings.event_pull_request_sync=同步
settings.event_pull_request_sync_desc=合併請求同步。
settings.event_package=軟體包
settings.event_package_desc=已在儲存庫中建立或刪除軟體包。
@@ -2209,7 +2241,7 @@ settings.add_hook_success=Webhook 新增成功。
settings.update_webhook=更新 Webhook
settings.update_hook_success=已成功更新 Webhook 。
settings.delete_webhook=移除 Webhook
-settings.recent_deliveries=最近傳送記錄
+settings.recent_deliveries=最近交付
settings.hook_type=Hook 類型
settings.slack_token=符記
settings.slack_domain=域名
@@ -2265,35 +2297,35 @@ settings.protect_enable_merge_desc=任何有寫入權限的人都可將合併請
settings.protect_whitelist_committers=使用白名單控管推送
settings.protect_whitelist_committers_desc=僅允許白名單內的使用者或團隊推送至該分支(但不可使用force push)。
settings.protect_whitelist_deploy_keys=將擁有寫入權限的部署金鑰加入白名單。
-settings.protect_whitelist_users=允許推送的使用者:
+settings.protect_whitelist_users=允許推送的使用者
settings.protect_whitelist_search_users=搜尋使用者...
-settings.protect_whitelist_teams=允許推送的團隊:
+settings.protect_whitelist_teams=允許推送的團隊
settings.protect_whitelist_search_teams=搜尋團隊...
settings.protect_merge_whitelist_committers=啟用合併白名單
settings.protect_merge_whitelist_committers_desc=僅允許白名單內的使用者或團隊將合併請求合併至該分支。
-settings.protect_merge_whitelist_users=允許合併的使用者:
-settings.protect_merge_whitelist_teams=允許合併的團隊:
+settings.protect_merge_whitelist_users=允許合併的使用者
+settings.protect_merge_whitelist_teams=允許合併的團隊
settings.protect_check_status_contexts=啟用狀態檢查
settings.protect_check_status_contexts_desc=合併前必須先通過狀態檢查。選擇合併前必須通過的檢查。啟用時,必須先將提交推送到另一個分支,通過狀態檢查後再合併或直接推送到符合規則的分支。如果未選擇任何項目,最一個提交必將成功通過狀態檢查。
settings.protect_check_status_contexts_list=此儲存庫一週內曾進行過狀態檢查
-settings.protect_required_approvals=需要的核可數量:
+settings.protect_required_approvals=需要的核可數量
settings.protect_required_approvals_desc=只有在獲得足夠數量的核可後才能進行合併。
settings.protect_approvals_whitelist_enabled=使用白名單控管審核人員與團隊
settings.protect_approvals_whitelist_enabled_desc=只有白名單內的使用者與團隊會被計入需要的核可數量。未使用白名單時,將計算任何有寫入權限之人的核可。
-settings.protect_approvals_whitelist_users=審核者白名單:
-settings.protect_approvals_whitelist_teams=審核團隊白名單:
+settings.protect_approvals_whitelist_users=允許的審核者
+settings.protect_approvals_whitelist_teams=允許的審核團隊
settings.dismiss_stale_approvals=捨棄過時的核可
settings.dismiss_stale_approvals_desc=當新的提交有修改到合併請求的內容,並被推送到此分支時,將捨棄舊的核可。
settings.require_signed_commits=僅接受經簽署的提交
settings.require_signed_commits_desc=拒絕未經簽署或未經驗證的提交推送到此分支。
settings.protect_branch_name_pattern=受保護的分支名稱式樣
-settings.protect_protected_file_patterns=受保護的檔案式樣 (以分號區隔「;」):
+settings.protect_protected_file_patterns=受保護檔案的式樣(以半形分號區隔「;」)
settings.protect_protected_file_patterns_desc=即便使用者有權限新增、修改、刪除此分支的檔案,仍不允許直接修改受保護的檔案。可以用半形分號「;」分隔多個式樣。請於 %s 文件查看模式格式。範例: .drone.yml
, /docs/**/*.txt
。
-settings.protect_unprotected_file_patterns=未受保護的檔案模式 (以分號區隔「;」):
+settings.protect_unprotected_file_patterns=未受保護檔案的式樣(以半形分號區隔「;」)
settings.protect_unprotected_file_patterns_desc=當使用者有寫入權限時,可繞過推送限制,直接修改未受保護的檔案。可以用半形分號「;」分隔多個模式。請於 %[2]s 文件查看模式格式。範例: .drone.yml
, /docs/**/*.txt
。
settings.add_protected_branch=啟用保護
settings.delete_protected_branch=停用保護
-settings.protected_branch_deletion=停用分支保護
+settings.protected_branch_deletion=刪除分支保護
settings.protected_branch_deletion_desc=停用分支保護將允許有寫入權限的使用者推送至該分支,是否繼續?
settings.block_rejected_reviews=有退回的審核時阻擋合併
settings.block_rejected_reviews_desc=如果官方審核人員提出變更請求,即使有足夠的核可也不允許進行合併。
@@ -2312,12 +2344,12 @@ settings.protected_branch_duplicate_rule_name=規則名稱已存在
settings.protected_branch_required_approvals_min=需要的核可數量不能為負數。
settings.tags=標籤
settings.tags.protection=標籤保護
-settings.tags.protection.pattern=標籤格式
+settings.tags.protection.pattern=標籤式樣
settings.tags.protection.allowed=允許的
settings.tags.protection.allowed.users=允許的使用者
settings.tags.protection.allowed.teams=允許的團隊
-settings.tags.protection.allowed.noone=無
-settings.tags.protection.create=保護標籤
+settings.tags.protection.allowed.noone=沒有人
+settings.tags.protection.create=新增規則
settings.tags.protection.none=沒有受保護的標籤。
settings.bot_token=Bot 符記
settings.chat_id=Chat ID
@@ -2325,7 +2357,7 @@ settings.matrix.homeserver_url=Homeserver 網址
settings.matrix.room_id=聊天室 ID
settings.matrix.message_type=訊息類型
settings.archive.button=封存儲存庫
-settings.archive.header=封存本儲存庫
+settings.archive.header=封存此儲存庫
settings.archive.success=此儲存庫已被封存。
settings.archive.error=嘗試封存儲存庫時發生錯誤。查看日誌檔以獲得更多資訊。
settings.archive.error_ismirror=無法封存鏡像儲存庫。
@@ -2351,7 +2383,7 @@ settings.lfs_locks_no_locks=沒有鎖定
settings.lfs_lock_file_no_exist=已鎖定的檔案不存在於預設分支
settings.lfs_force_unlock=強制解鎖
settings.lfs_pointers.found=找到 %d 個 blob 指標 - %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=存在於存放區
@@ -2384,7 +2416,7 @@ diff.stats_desc=共有 %d 個檔案被更改 ,包括
diff.stats_desc_file=變更 %d 行:新增 %d 行,删除 %d 行
diff.bin=二進制
diff.bin_not_shown=未顯示二進位檔案。
-diff.view_file=查看文件
+diff.view_file=檢視檔案
diff.file_before=之前
diff.file_after=之後
diff.file_image_width=寬度
@@ -2403,7 +2435,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=留言
@@ -2424,7 +2456,7 @@ releases.desc=追蹤專案版本和檔案下載。
release.releases=版本發布
release.detail=版本詳情
release.tags=標籤
-release.new_release=發布新版本
+release.new_release=新發行
release.draft=草稿
release.prerelease=預發行
release.stable=穩定
@@ -2445,12 +2477,12 @@ release.title_empty=標題不可為空。
release.prerelease_desc=標記為 Pre-Release
release.prerelease_helper=標記此版本不適合生產使用。
release.cancel=取消
-release.publish=發布版本
+release.publish=發佈發行
release.save_draft=儲存草稿
-release.edit_release=更新發布
-release.delete_release=刪除發布
+release.edit_release=更新發行
+release.delete_release=刪除發行
release.delete_tag=刪除標籤
-release.deletion=刪除發布
+release.deletion=刪除發行
release.deletion_success=已刪除此版本發布。
release.deletion_tag_desc=即將從儲存庫移除此標籤。儲存庫內容和歷史將保持不變,是否繼續?
release.deletion_tag_success=已刪除此標籤。
@@ -2461,7 +2493,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 的標籤
@@ -2506,7 +2538,7 @@ topic.manage_topics=管理主題
topic.done=完成
topic.count_prompt=您最多能選擇 25 個主題
-find_file.go_to_file=移至檔案
+find_file.go_to_file=尋找檔案
find_file.no_matching=找不到符合的檔案
error.csv.too_large=無法渲染此檔案,因為它太大了。
@@ -2688,7 +2720,7 @@ milestones.filter_sort.name = 名稱
settings.units.overview = 概覽
settings.federation_settings = 聯邦設定
issues.author.tooltip.issue = 這個使用者是這個問題的作者。
-settings.units.add_more = 新增更多...
+settings.units.add_more = 啟用更多
release.download_count_one = %s 次下載
release.download_count_few = %s 次下載
pulls.cmd_instruction_checkout_title = 簽出
@@ -2722,6 +2754,22 @@ n_release_one = %s 發行
n_release_few = %s 發行
no_eol.text = 無檔案結尾符
+new_from_template = 使用範本
+new_advanced = 進階設定
+new_advanced_expand = 點擊以展開
+mirror_public_key = 公共 SSH 金鑰
+mirror_use_ssh.text = 使用 SSH 驗證
+mirror_use_ssh.helper = 當你選擇此選項時,Forgejo 將透過 Git SSH 鏡像儲存庫並為你建立金鑰對。你必須確保已產生的公鑰已有授權才能推送至目標儲存庫。選擇此選項時,你不能使用基於密碼的授權。
+mirror_use_ssh.not_available = SSH 驗證不可用。
+editor.commit_email = 提交電子信箱
+issues.filter_sort.relevance = 關聯性
+issues.all_title = 全部
+settings.mirror_settings.push_mirror.none_ssh = 無
+settings.event_pull_request_review_request = 審核請求
+settings.protect_patterns = 式樣
+settings.matrix.access_token_helper = 建議為此設定一個專用的 Matrix 帳號。存取符記可以從 Element 網路使用者端(於私人/隱身分頁)> 使用者選單(左上角)> 所有設定 > 幫助和關於 > 進階 > 存取符記(位於 Homeserver 網址正下方)檢索。關閉私人/隱身分頁(登出將使存取符記失效)。
+release.title = 發行標題
+
[graphs]
component_loading = 載入中 %s…
code_frequency.what = 寫程式頻率
@@ -2739,8 +2787,8 @@ teams=團隊
code=程式碼
lower_members=名成員
lower_repositories=個儲存庫
-create_new_team=建立團隊
-create_team=建立新的團隊
+create_new_team=新團隊
+create_team=建立團隊
org_desc=描述
team_name=團隊名稱
team_desc=描述
@@ -2756,7 +2804,7 @@ form.create_org_not_allowed=此帳號禁止建立組織。
settings=設定
settings.options=組織
-settings.full_name=組織全名
+settings.full_name=全名
settings.website=官方網站
settings.location=所在地區
settings.permission=權限
@@ -2773,7 +2821,7 @@ settings.update_setting_success=組織設定已更新。
settings.change_orgname_redirect_prompt=舊的名稱被領用前將會轉址至新名稱。
settings.update_avatar_success=已更新組織的大頭貼。
settings.delete=刪除組織
-settings.delete_account=刪除這個組織
+settings.delete_account=刪除此組織
settings.delete_prompt=該組織將被永久刪除。此動作不可 還原!
settings.confirm_delete_account=確認刪除
settings.delete_org_title=刪除組織
@@ -2784,9 +2832,9 @@ settings.labels_desc=在此處新增的標籤可用於此組織下的所
members.membership_visibility=成員瀏覽權限:
members.public=可見
-members.public_helper=隱藏
+members.public_helper=設為隱藏
members.private=隱藏
-members.private_helper=顯示
+members.private_helper=設為顯示
members.member_role=成員角色:
members.owner=所有者
members.member=普通成員
@@ -2804,7 +2852,7 @@ teams.can_create_org_repo=建立儲存庫
teams.can_create_org_repo_helper=成員可以在組織中新增儲存庫。建立者將自動取得新儲存庫的管理員權限。
teams.none_access=沒有權限
teams.none_access_helper=成員無法檢視此單元或對其執行其他動作,這對公開儲存庫沒有影響。
-teams.general_access=一般權限
+teams.general_access=自訂存取
teams.general_access_helper=成員權限將由下列權限表決定。
teams.read_access=讀取
teams.read_access_helper=成員可以查看和 Clone 團隊儲存庫。
@@ -2967,10 +3015,10 @@ 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.is_activated=已啟用的帳號
+users.prohibit_login=已停權帳號
+users.is_admin=管理員帳號
+users.is_restricted=受限制的帳號
users.allow_git_hook=可以建立 Git Hook
users.allow_git_hook_tooltip=Git Hook 將以和 Forgejo 相同的作業系統使用者執行,並擁有同等的主機存取權限。因此擁有此特殊 Git Hook 權限的使用者可存取和修改所有的 Forgejo 儲存庫和 Forgejo 的資料庫。他們甚至能取得 Forgejo 的管理員權限。
users.allow_import_local=可以匯入本地儲存庫
@@ -3018,7 +3066,7 @@ orgs.new_orga=新增組織
repos.repo_manage_panel=儲存庫管理
repos.unadopted=未接管的儲存庫
-repos.unadopted.no_more=找不到其他未接管的儲存庫
+repos.unadopted.no_more=找不到未接管的儲存庫。
repos.owner=所有者
repos.name=名稱
repos.private=私有
@@ -3029,8 +3077,8 @@ repos.issues=問題數
repos.size=大小
packages.package_manage_panel=軟體包管理
-packages.total_size=總大小: %s
-packages.unreferenced_size=未參考大小: %s
+packages.total_size=總大小:%s
+packages.unreferenced_size=未參考大小:%s
packages.owner=所有者
packages.creator=建立者
packages.name=名稱
@@ -3063,7 +3111,7 @@ auths.host=主機地址
auths.port=連接埠
auths.bind_dn=Bind DN
auths.bind_password=Bind 密碼
-auths.user_base=用戶搜尋基準
+auths.user_base=使用者搜尋基準
auths.user_dn=用戶 DN
auths.attribute_username=帳號屬性
auths.attribute_username_placeholder=留空將使用於 Forgejo 輸入的帳號。
@@ -3074,7 +3122,7 @@ auths.attribute_ssh_public_key=SSH 公鑰屬性
auths.attribute_avatar=大頭貼屬性
auths.attributes_in_bind=從 Bind DN 中取得屬性資訊
auths.allow_deactivate_all=允許在搜尋結果為空白時停用所有使用者帳號
-auths.use_paged_search=使用分頁查詢
+auths.use_paged_search=使用分頁搜尋
auths.search_page_size=頁面大小
auths.filter=使用者篩選器
auths.admin_filter=管理者篩選器
@@ -3091,7 +3139,7 @@ auths.ms_ad_sa=MS AD 搜尋屬性
auths.smtp_auth=SMTP 驗證類型
auths.smtphost=SMTP 主機地址
auths.smtpport=SMTP 連接埠
-auths.allowed_domains=域名白名單
+auths.allowed_domains=允許的域名
auths.allowed_domains_helper=留白以允許所有域名。以半形逗號「,」分隔多個域名。
auths.skip_tls_verify=忽略 TLS 驗證
auths.force_smtps=強制 SMTPS
@@ -3114,7 +3162,7 @@ auths.oauth2_emailURL=電子郵件 URL
auths.skip_local_two_fa=跳過本地兩步驟驗證
auths.skip_local_two_fa_helper=保持未設定代表使用兩步驟驗證的本地使用者仍然需要通過兩步驟驗證才能登入
auths.oauth2_tenant=租戶
-auths.oauth2_scopes=額外的授權範圍 (Scope)
+auths.oauth2_scopes=額外的範圍
auths.oauth2_required_claim_name=必須填寫 Claim 名稱
auths.oauth2_required_claim_name_helper=填寫此名稱以限制 Claim 中有此名稱的使用者才能從此來源登入
auths.oauth2_required_claim_value=必須填寫 Claim 值
@@ -3138,13 +3186,13 @@ auths.sspi_default_language_helper=SSPI 認證方法自動建立之使用者的
auths.tips=幫助提示
auths.tips.oauth2.general=OAuth2 認證
auths.tip.oauth2_provider=OAuth2 提供者
-auths.tip.bitbucket=註冊新的 OAuth 用戶端並加入權限「Account - Read」。網址:%s
+auths.tip.bitbucket=註冊新的 OAuth 使用者端並加入權限「Account - Read」。網址:%s
auths.tip.nextcloud=在您的站點上,於選單「設定 -> 安全性 -> OAuth 2.0 客戶端」註冊新的 OAuth 客戶端
auths.tip.dropbox=建立新的 App。網址:%s
auths.tip.facebook=註冊新的應用程式並新增產品「Facebook 登入」。網址:%s
auths.tip.github=註冊新的 OAuth 應用程式。網址:%s
auths.tip.gitlab=註冊新的應用程式。網址:https://gitlab.com/profile/applications
-auths.tip.google_plus=從 Google API 控制台取得 OAuth2 用戶端憑證。網址:%s
+auths.tip.google_plus=從 Google API 控制台取得 OAuth2 使用者端憑證。網址:%s
auths.tip.openid_connect=使用 OpenID 連接探索 URL (/.well-known/openid-configuration) 來指定節點
auths.tip.twitter=建立應用程式並確保有啟用「Allow this application to be used to Sign in with Twitter」。網址:%s
auths.tip.discord=註冊新的應用程式。網址:%s
@@ -3177,15 +3225,15 @@ config.disable_router_log=關閉路由日誌
config.run_user=以使用者名稱執行
config.run_mode=執行模式
config.git_version=Git 版本
-config.repo_root_path=儲存庫目錄
-config.lfs_root_path=LFS 根目錄
+config.repo_root_path=儲存庫根路徑
+config.lfs_root_path=LFS 根路徑
config.log_file_root_path=日誌路徑
config.script_type=腳本類型
config.reverse_auth_user=反向代理認證
config.ssh_config=SSH 設定
config.ssh_enabled=已啟用
-config.ssh_start_builtin_server=使用內建的伺服器
+config.ssh_start_builtin_server=使用內建伺服器
config.ssh_domain=SSH 伺服器域名
config.ssh_port=連接埠
config.ssh_listen_port=監聽埠
@@ -3211,16 +3259,16 @@ config.db_path=資料庫路徑
config.service_config=服務設定
config.register_email_confirm=要求註冊時確認電子郵件
-config.disable_register=關閉註冊功能
+config.disable_register=停用自助註冊
config.allow_only_internal_registration=只允許從 Forgejo 註冊
config.allow_only_external_registration=只允許從外部服務註冊
-config.enable_openid_signup=啟用 OpenID 註冊
+config.enable_openid_signup=啟用 OpenID 自助註冊
config.enable_openid_signin=啟用 OpenID 登入
config.show_registration_button=顯示註冊按鈕
config.require_sign_in_view=需要登入才能瀏覽頁面
-config.mail_notify=啟用郵件通知
+config.mail_notify=啟用電子郵件通知
config.enable_captcha=啟用驗證碼
-config.active_code_lives=啟用用戶連結有效期
+config.active_code_lives=啟用使用者連結有效期
config.reset_password_code_lives=帳號復原碼有效時間
config.default_keep_email_private=預設隱藏電子信箱
config.default_allow_create_organization=預設允許新增組織
@@ -3260,7 +3308,7 @@ config.oauth_enabled=啟用服務
config.cache_config=快取設定
config.cache_adapter=快取轉接器(adapter)
config.cache_interval=快取週期
-config.cache_conn=Cache 連接字符串
+config.cache_conn=快取連接
config.cache_item_ttl=快取項目 TTL
config.session_config=Session 設定
@@ -3297,7 +3345,7 @@ config.xorm_log_sql=記錄 SQL
config.set_setting_failed=寫入設定值 %s 失敗
-monitor.cron=Cron 任務
+monitor.cron=定時任務
monitor.name=名稱
monitor.schedule=任務安排
monitor.next=下次執行時間
@@ -3384,6 +3432,11 @@ users.organization_creation.description = 允許建立新組織。
config.app_slogan = 站點口號
+self_check = 自助檢查
+config.logger_name_fmt = 日誌:%s
+monitor.queue.review_add = 審閱/增加 Worker
+self_check.database_fix_mysql = 對於 MySQL/MariaDB 的使用者,你可以使用命令「forgejo doctor convert」來修復排序規則問題,或者你也可以手動透過「ALTER ... COLLATE ...」SQL 修復問題。
+
[action]
create_repo=建立了儲存庫 %s
rename_repo=重新命名儲存庫 %[1]s
為 %[3]s
@@ -3526,9 +3579,9 @@ conda.install=執行下列命令以使用 Conda 安裝此軟體包:
container.details.type=映像檔類型
container.details.platform=平台
container.pull=透過下列命令拉取映像檔:
-container.digest=摘要:
+container.digest=摘要
container.multi_arch=作業系統 / 架構
-container.layers=映像檔 Layers
+container.layers=映像檔分層
container.labels=標籤
container.labels.key=鍵
container.labels.value=值
@@ -3590,7 +3643,7 @@ owner.settings.cargo.initialize.success=成功建立了 Cargo 索引。
owner.settings.cargo.rebuild=重建索引
owner.settings.cargo.rebuild.error=重建 Cargo 索引失敗: %v
owner.settings.cargo.rebuild.success=成功重建了 Cargo 索引。
-owner.settings.cleanuprules.title=管理清理規則
+owner.settings.cleanuprules.title=清理規則
owner.settings.cleanuprules.add=加入清理規則
owner.settings.cleanuprules.edit=編輯清理規則
owner.settings.cleanuprules.preview=預覽清理規則
@@ -3635,6 +3688,15 @@ rpm.distros.suse = 在基於 SUSE 的發行版上
rpm.distros.redhat = 在基於 RedHat 的發行版上
owner.settings.cargo.rebuild.description = 如果索引與儲存的 Cargo 套件不同步,重建可能會很有用。
+registry.documentation = 有關 %s 註冊表的更多資訊,請參閱文件 。
+arch.pacman.helper.gpg = 為 pacman 新增信任憑證:
+arch.pacman.repo.multi = %s 在不同的發行版中具有相同的版本。
+arch.pacman.conf = 將相關發行版和架構的伺服器新增至 /etc/pacman.conf
:
+arch.pacman.sync = 使用 pacman 同步軟體包:
+arch.version.groups = 群組
+container.images.title = 映像檔
+debian.registry.info = 從下面的清單中選擇 $distribution 和 $component。
+
[secrets]
secrets=Secret
description=Secret 會被傳給特定的 Action,其他情況無法讀取。
@@ -3653,7 +3715,7 @@ management = 管理秘密
[actions]
actions=Actions
-unit.desc=管理 Actions
+unit.desc=使用 Forgejo Actions 管理整合的 CI/CD 管道。
status.unknown=未知的
status.waiting=等待中
@@ -3664,7 +3726,7 @@ status.skipped=已略過
status.blocked=已阻塞
runners=Runner
-runners.runner_manage_panel=Runner 管理
+runners.runner_manage_panel=管理 Runner
runners.new=建立 Runner
runners.new_notice=如何啟動 Runner
runners.status=狀態
@@ -3751,6 +3813,10 @@ runs.no_workflows.documentation = 有關 Forgejo Actions 的更多資訊,請
runners.reset_registration_token = 重置註冊符記
+runs.no_workflows.help_write_access = 不知道如何開始使用 Forgejo Actions?查看使用者文件中的快速入門 來編寫你的第一個工作流程,然後設定 Forgejo Runner 來執行你的工作。
+runs.no_workflows.help_no_write_access = 要了解 Forgejo Actions,請參閱文件 。
+workflow.dispatch.use_from = 使用工作流程自
+
[projects]
type-2.display_name = 儲存庫專案
type-1.display_name = 個人專案
@@ -3794,6 +3860,9 @@ issue_kind = 搜尋問題...
exact_tooltip = 只包含與搜尋詞完全相符的結合
pull_kind = 搜尋拉取…
+regexp = 正規表示式
+regexp_tooltip = 將搜尋詞解釋為正規表示式
+
[munits.data]
eib = EiB
b = B
diff --git a/package-lock.json b/package-lock.json
index ae637779dd..9088ea0fb1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "forgejo",
+ "name": "forgejo-aneksajo",
"lockfileVersion": 3,
"requires": true,
"packages": {
@@ -28,9 +28,9 @@
"escape-goat": "4.0.0",
"fast-glob": "3.3.2",
"htmx.org": "1.9.12",
- "idiomorph": "0.4.0",
+ "idiomorph": "0.3.0",
"jquery": "3.7.1",
- "katex": "0.16.18",
+ "katex": "0.16.21",
"mermaid": "11.4.1",
"mini-css-extract-plugin": "2.9.2",
"minimatch": "10.0.1",
@@ -9314,10 +9314,10 @@
}
},
"node_modules/idiomorph": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/idiomorph/-/idiomorph-0.4.0.tgz",
- "integrity": "sha512-VdXFpZOTXhLatJmhCWJR5oQKLXT01O6sFCJqT0/EqG71C4tYZdPJ5etvttwWsT2WKRYWz160XkNr1DUqXNMZHg==",
- "license": "BSD-2-Clause"
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/idiomorph/-/idiomorph-0.3.0.tgz",
+ "integrity": "sha512-UhV1Ey5xCxIwR9B+OgIjQa+1Jx99XQ1vQHUsKBU1RpQzCx1u+b+N6SOXgf5mEJDqemUI/ffccu6+71l2mJUsRA==",
+ "license": "BSD 2-Clause"
},
"node_modules/ieee754": {
"version": "1.2.1",
@@ -10368,9 +10368,9 @@
"license": "MIT"
},
"node_modules/katex": {
- "version": "0.16.18",
- "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.18.tgz",
- "integrity": "sha512-LRuk0rPdXrecAFwQucYjMiIs0JFefk6N1q/04mlw14aVIVgxq1FO0MA9RiIIGVaKOB5GIP5GH4aBBNraZERmaQ==",
+ "version": "0.16.21",
+ "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.21.tgz",
+ "integrity": "sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==",
"funding": [
"https://opencollective.com/katex",
"https://github.com/sponsors/katex"
diff --git a/package.json b/package.json
index c674c011dd..dbd21f89f0 100644
--- a/package.json
+++ b/package.json
@@ -27,9 +27,9 @@
"escape-goat": "4.0.0",
"fast-glob": "3.3.2",
"htmx.org": "1.9.12",
- "idiomorph": "0.4.0",
+ "idiomorph": "0.3.0",
"jquery": "3.7.1",
- "katex": "0.16.18",
+ "katex": "0.16.21",
"mermaid": "11.4.1",
"mini-css-extract-plugin": "2.9.2",
"minimatch": "10.0.1",
diff --git a/public/.well-known/security.txt b/public/.well-known/security.txt
index 2a75a8dcd2..0ac9f09d34 100644
--- a/public/.well-known/security.txt
+++ b/public/.well-known/security.txt
@@ -5,4 +5,4 @@ Policy: https://codeberg.org/forgejo/governance/src/commit/5c07b3801537212ed6be1
Contact: mailto:security@forgejo.org
Encryption: https://keys.openpgp.org/vks/v1/by-fingerprint/1B638BDF10969D627926B8D9F585D0F99E1FB56F
Preferred-Languages: en
-Expires: 2025-10-25T00:00:00Z
+Expires: 2026-07-16T23:59:59.000Z
diff --git a/release-notes/6639.md b/release-notes/6639.md
new file mode 100644
index 0000000000..1bc01c12a3
--- /dev/null
+++ b/release-notes/6639.md
@@ -0,0 +1 @@
+Teach the doctor to remove orphaned two_factor with `forgejo doctor check --run check-db-consistency --fix`. Such rows may contain invalid data and [block the migration to v10](https://codeberg.org/forgejo/forgejo/issues/6637) with a message such as `failed: AesDecrypt invalid decrypted base64 string: illegal base64 data at input byte 0`.
diff --git a/routers/api/packages/maven/maven.go b/routers/api/packages/maven/maven.go
index 521ef2209a..92f20255e1 100644
--- a/routers/api/packages/maven/maven.go
+++ b/routers/api/packages/maven/maven.go
@@ -24,6 +24,7 @@ import (
"code.gitea.io/gitea/modules/log"
packages_module "code.gitea.io/gitea/modules/packages"
maven_module "code.gitea.io/gitea/modules/packages/maven"
+ "code.gitea.io/gitea/modules/sync"
"code.gitea.io/gitea/routers/api/packages/helper"
"code.gitea.io/gitea/services/context"
packages_service "code.gitea.io/gitea/services/packages"
@@ -228,6 +229,8 @@ func servePackageFile(ctx *context.Context, params parameters, serveContent bool
helper.ServePackageFile(ctx, s, u, pf, opts)
}
+var mavenUploadLock = sync.NewExclusivePool()
+
// UploadPackageFile adds a file to the package. If the package does not exist, it gets created.
func UploadPackageFile(ctx *context.Context) {
params, err := extractPathParameters(ctx)
@@ -246,6 +249,9 @@ func UploadPackageFile(ctx *context.Context) {
packageName := params.GroupID + "-" + params.ArtifactID
+ mavenUploadLock.CheckIn(packageName)
+ defer mavenUploadLock.CheckOut(packageName)
+
buf, err := packages_module.CreateHashedBufferFromReader(ctx.Req.Body)
if err != nil {
apiError(ctx, http.StatusInternalServerError, err)
diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go
index 4928c9ff58..18ab6ce287 100644
--- a/routers/api/v1/api.go
+++ b/routers/api/v1/api.go
@@ -907,9 +907,9 @@ func Routes() *web.Route {
m.Get("/repos", tokenRequiresScopes(auth_model.AccessTokenScopeCategoryRepository), reqExploreSignIn(), user.ListUserRepos)
m.Group("/tokens", func() {
m.Combo("").Get(user.ListAccessTokens).
- Post(bind(api.CreateAccessTokenOption{}), reqToken(), user.CreateAccessToken)
- m.Combo("/{id}").Delete(reqToken(), user.DeleteAccessToken)
- }, reqSelfOrAdmin(), reqBasicOrRevProxyAuth())
+ Post(bind(api.CreateAccessTokenOption{}), reqBasicOrRevProxyAuth(), reqToken(), user.CreateAccessToken)
+ m.Combo("/{id}").Delete(reqBasicOrRevProxyAuth(), reqToken(), user.DeleteAccessToken)
+ }, reqSelfOrAdmin())
m.Get("/activities/feeds", user.ListUserActivityFeeds)
}, context.UserAssignmentAPI(), checkTokenPublicOnly(), individualPermsChecker)
diff --git a/routers/api/v1/org/action.go b/routers/api/v1/org/action.go
index 03a1fa8ccc..390d074ad7 100644
--- a/routers/api/v1/org/action.go
+++ b/routers/api/v1/org/action.go
@@ -450,7 +450,7 @@ func (Action) UpdateVariable(ctx *context.APIContext) {
if opt.Name == "" {
opt.Name = ctx.Params("variablename")
}
- if _, err := actions_service.UpdateVariable(ctx, v.ID, opt.Name, opt.Value); err != nil {
+ if _, err := actions_service.UpdateVariable(ctx, v.ID, ctx.Org.Organization.ID, 0, opt.Name, opt.Value); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "UpdateVariable", err)
} else {
diff --git a/routers/api/v1/repo/action.go b/routers/api/v1/repo/action.go
index 0c7506b13b..b109497d19 100644
--- a/routers/api/v1/repo/action.go
+++ b/routers/api/v1/repo/action.go
@@ -414,7 +414,7 @@ func (Action) UpdateVariable(ctx *context.APIContext) {
if opt.Name == "" {
opt.Name = ctx.Params("variablename")
}
- if _, err := actions_service.UpdateVariable(ctx, v.ID, opt.Name, opt.Value); err != nil {
+ if _, err := actions_service.UpdateVariable(ctx, v.ID, 0, ctx.Repo.Repository.ID, opt.Name, opt.Value); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "UpdateVariable", err)
} else {
diff --git a/routers/api/v1/repo/issue_label.go b/routers/api/v1/repo/issue_label.go
index ae05544365..6458fbf514 100644
--- a/routers/api/v1/repo/issue_label.go
+++ b/routers/api/v1/repo/issue_label.go
@@ -350,6 +350,9 @@ func prepareForReplaceOrAdd(ctx *context.APIContext, form api.IssueLabelsOption)
labelIDs = append(labelIDs, int64(rv.Float()))
case reflect.String:
labelNames = append(labelNames, rv.String())
+ default:
+ ctx.Error(http.StatusBadRequest, "InvalidLabel", "a label must be an integer or a string")
+ return nil, nil, fmt.Errorf("invalid label")
}
}
if len(labelIDs) > 0 && len(labelNames) > 0 {
@@ -357,11 +360,20 @@ func prepareForReplaceOrAdd(ctx *context.APIContext, form api.IssueLabelsOption)
return nil, nil, fmt.Errorf("invalid labels")
}
if len(labelNames) > 0 {
- labelIDs, err = issues_model.GetLabelIDsInRepoByNames(ctx, ctx.Repo.Repository.ID, labelNames)
+ repoLabelIDs, err := issues_model.GetLabelIDsInRepoByNames(ctx, ctx.Repo.Repository.ID, labelNames)
if err != nil {
ctx.Error(http.StatusInternalServerError, "GetLabelIDsInRepoByNames", err)
return nil, nil, err
}
+ labelIDs = append(labelIDs, repoLabelIDs...)
+ if ctx.Repo.Owner.IsOrganization() {
+ orgLabelIDs, err := issues_model.GetLabelIDsInOrgByNames(ctx, ctx.Repo.Owner.ID, labelNames)
+ if err != nil {
+ ctx.Error(http.StatusInternalServerError, "GetLabelIDsInOrgByNames", err)
+ return nil, nil, err
+ }
+ labelIDs = append(labelIDs, orgLabelIDs...)
+ }
}
labels, err := issues_model.GetLabelsByIDs(ctx, labelIDs, "id", "repo_id", "org_id", "name", "exclusive")
diff --git a/routers/api/v1/user/action.go b/routers/api/v1/user/action.go
index ec5289fdb0..c34c5950c0 100644
--- a/routers/api/v1/user/action.go
+++ b/routers/api/v1/user/action.go
@@ -228,7 +228,7 @@ func UpdateVariable(ctx *context.APIContext) {
if opt.Name == "" {
opt.Name = ctx.Params("variablename")
}
- if _, err := actions_service.UpdateVariable(ctx, v.ID, opt.Name, opt.Value); err != nil {
+ if _, err := actions_service.UpdateVariable(ctx, v.ID, ctx.Doer.ID, 0, opt.Name, opt.Value); err != nil {
if errors.Is(err, util.ErrInvalidArgument) {
ctx.Error(http.StatusBadRequest, "UpdateVariable", err)
} else {
diff --git a/routers/init.go b/routers/init.go
index 821a0ef38c..d881edd030 100644
--- a/routers/init.go
+++ b/routers/init.go
@@ -11,6 +11,7 @@ import (
"code.gitea.io/gitea/models"
asymkey_model "code.gitea.io/gitea/models/asymkey"
authmodel "code.gitea.io/gitea/models/auth"
+ "code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/cache"
"code.gitea.io/gitea/modules/eventsource"
"code.gitea.io/gitea/modules/git"
@@ -167,6 +168,8 @@ func InitWebInstalled(ctx context.Context) {
actions_service.Init()
+ mustInit(annex.Init)
+
// Finally start up the cron
cron.NewContext(ctx)
}
diff --git a/routers/private/serv.go b/routers/private/serv.go
index ef3920d359..a3a0c6961a 100644
--- a/routers/private/serv.go
+++ b/routers/private/serv.go
@@ -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)
diff --git a/routers/web/explore/org.go b/routers/web/explore/org.go
index 7178630b64..d13271ae53 100644
--- a/routers/web/explore/org.go
+++ b/routers/web/explore/org.go
@@ -39,7 +39,11 @@ func Organizations(ctx *context.Context) {
)
sortOrder := ctx.FormString("sort")
if sortOrder == "" {
- sortOrder = "newest"
+ if supportedSortOrders.Contains(setting.UI.ExploreDefaultSort) {
+ sortOrder = setting.UI.ExploreDefaultSort
+ } else {
+ sortOrder = "newest"
+ }
ctx.SetFormString("sort", sortOrder)
}
diff --git a/routers/web/explore/user.go b/routers/web/explore/user.go
index 15c60f546f..da5dd39f3e 100644
--- a/routers/web/explore/user.go
+++ b/routers/web/explore/user.go
@@ -149,7 +149,11 @@ func Users(ctx *context.Context) {
)
sortOrder := ctx.FormString("sort")
if sortOrder == "" {
- sortOrder = "newest"
+ if supportedSortOrders.Contains(setting.UI.ExploreDefaultSort) {
+ sortOrder = setting.UI.ExploreDefaultSort
+ } else {
+ sortOrder = "newest"
+ }
ctx.SetFormString("sort", sortOrder)
}
diff --git a/routers/web/org/projects.go b/routers/web/org/projects.go
index 64d233fc45..6cc2a24c0f 100644
--- a/routers/web/org/projects.go
+++ b/routers/web/org/projects.go
@@ -126,6 +126,19 @@ func Projects(ctx *context.Context) {
ctx.Data["PageIsViewProjects"] = true
ctx.Data["SortType"] = sortType
+ numOpenIssues, err := issues_model.NumIssuesInProjects(ctx, projects, ctx.Doer, ctx.Org.Organization, optional.Some(false))
+ if err != nil {
+ ctx.ServerError("NumIssuesInProjects", err)
+ return
+ }
+ numClosedIssues, err := issues_model.NumIssuesInProjects(ctx, projects, ctx.Doer, ctx.Org.Organization, optional.Some(true))
+ if err != nil {
+ ctx.ServerError("NumIssuesInProjects", err)
+ return
+ }
+ ctx.Data["NumOpenIssuesInProject"] = numOpenIssues
+ ctx.Data["NumClosedIssuesInProject"] = numClosedIssues
+
ctx.HTML(http.StatusOK, tplProjects)
}
@@ -332,7 +345,7 @@ func ViewProject(ctx *context.Context) {
return
}
- issuesMap, err := issues_model.LoadIssuesFromColumnList(ctx, columns)
+ issuesMap, err := issues_model.LoadIssuesFromColumnList(ctx, columns, ctx.Doer, ctx.Org.Organization, optional.None[bool]())
if err != nil {
ctx.ServerError("LoadIssuesOfColumns", err)
return
diff --git a/routers/web/repo/annex.go b/routers/web/repo/annex.go
new file mode 100644
index 0000000000..852b5a11cc
--- /dev/null
+++ b/routers/web/repo/annex.go
@@ -0,0 +1,146 @@
+package repo
+
+import (
+ "context"
+ "net"
+ "net/http"
+ "net/http/httputil"
+ "net/url"
+ "os"
+ "os/exec"
+ "strings"
+ "syscall"
+ "time"
+
+ "code.gitea.io/gitea/models/perm"
+ access_model "code.gitea.io/gitea/models/perm/access"
+ repo_model "code.gitea.io/gitea/models/repo"
+ "code.gitea.io/gitea/models/unit"
+ "code.gitea.io/gitea/modules/annex"
+ "code.gitea.io/gitea/modules/graceful"
+ "code.gitea.io/gitea/modules/log"
+ services_context "code.gitea.io/gitea/services/context"
+)
+
+type p2phttpRecordType struct {
+ CancelFunc func()
+ LastUsed time.Time
+ Port string
+}
+
+var p2phttpRecords = make(map[string]*p2phttpRecordType)
+
+// AnnexP2PHTTP implements git-annex smart HTTP support by delegating to git annex p2phttp
+func AnnexP2PHTTP(ctx *services_context.Context) {
+ uuid := ctx.Params(":uuid")
+ repoPath, err := annex.UUID2RepoPath(uuid)
+ if err != nil {
+ ctx.PlainText(http.StatusNotFound, "Repository not found")
+ return
+ }
+
+ parts := strings.Split(repoPath, "/")
+ repoName := strings.TrimSuffix(parts[len(parts)-1], ".git")
+ owner := parts[len(parts)-2]
+ repo, err := repo_model.GetRepositoryByOwnerAndName(ctx, owner, repoName)
+ if err != nil {
+ ctx.PlainText(http.StatusNotFound, "Repository not found")
+ return
+ }
+
+ p, err := access_model.GetUserRepoPermission(ctx, repo, ctx.Doer)
+ if err != nil {
+ ctx.ServerError("GetUserRepoPermission", err)
+ return
+ }
+
+ if !(ctx.Req.Method == "GET" && p.CanAccess(perm.AccessModeRead, unit.TypeCode) ||
+ ctx.Req.Method == "POST" && p.CanAccess(perm.AccessModeWrite, unit.TypeCode) ||
+ ctx.Req.Method == "POST" && strings.HasSuffix(ctx.Req.URL.Path, "/checkpresent") && p.CanAccess(perm.AccessModeRead, unit.TypeCode) ||
+ ctx.Req.Method == "POST" && strings.HasSuffix(ctx.Req.URL.Path, "/keeplocked") ||
+ ctx.Req.Method == "POST" && strings.HasSuffix(ctx.Req.URL.Path, "/lockcontent")) {
+ // GET requests require at least read access; POST requests for
+ // anything but checkpresent, lockcontent, and keeplocked
+ // require write permissions; POST requests for checkpresent
+ // only require read permissions, as it really is just a read.
+ // POST requests for lockcontent and keeplocked require no
+ // authentication at all, as is also the case for the
+ // authentication in the git-annex-p2phttp server. See
+ // https://git-annex.branchable.com/bugs/p2phttp__58___drop_difference_wideopen_unauth-readonly/
+ // for reasoning.
+ ctx.Resp.WriteHeader(http.StatusUnauthorized)
+ return
+ }
+
+ p2phttpRecord, p2phttpProcessExists := p2phttpRecords[uuid]
+ if p2phttpProcessExists {
+ p2phttpRecord.LastUsed = time.Now()
+ } else {
+ // Start a new p2phttp process for the requested repository
+ // There is a race condition here with the port selection, ideally git annex p2phttp could just listen on a unix socket...
+ lis, err := net.Listen("tcp", "127.0.0.1:0")
+ if err != nil {
+ log.Error("Failed to listen on a free port: %v", err)
+ ctx.Resp.WriteHeader(http.StatusInternalServerError)
+ return
+ }
+ hopefullyFreePort := strings.SplitN(lis.Addr().String(), ":", 2)[1]
+ lis.Close()
+ p2phttpCtx, p2phttpCtxCancel := context.WithCancel(context.Background())
+ go func(ctx context.Context) {
+ cmd := exec.CommandContext(ctx, "git", "-C", repoPath, "annex", "p2phttp", "-J2", "--bind", "127.0.0.1", "--wideopen", "--port", hopefullyFreePort)
+ cmd.SysProcAttr = &syscall.SysProcAttr{
+ Pdeathsig: syscall.SIGINT,
+ }
+ cmd.Cancel = func() error { return cmd.Process.Signal(os.Interrupt) }
+ _ = cmd.Run()
+ }(p2phttpCtx)
+ graceful.GetManager().RunAtTerminate(p2phttpCtxCancel)
+
+ // Wait for the p2phttp server to get ready
+ start := time.Now()
+ sleepDuration := 1 * time.Millisecond
+ for {
+ if time.Since(start) > 5*time.Second {
+ p2phttpCtxCancel()
+ log.Error("Failed to start the p2phttp server in a reasonable amount of time")
+ ctx.Resp.WriteHeader(http.StatusInternalServerError)
+ return
+ }
+ conn, err := net.Dial("tcp", "127.0.0.1:"+hopefullyFreePort)
+ if err == nil {
+ conn.Close()
+ break
+ }
+ time.Sleep(sleepDuration)
+ sleepDuration *= 2
+ if sleepDuration > 1*time.Second {
+ sleepDuration = 1 * time.Second
+ }
+ }
+
+ p2phttpRecord = &p2phttpRecordType{CancelFunc: p2phttpCtxCancel, LastUsed: time.Now(), Port: hopefullyFreePort}
+ p2phttpRecords[uuid] = p2phttpRecord
+ }
+
+ // Cleanup p2phttp processes that haven't been used for a while
+ for uuid, record := range p2phttpRecords {
+ if time.Since(record.LastUsed) > 5*time.Minute {
+ record.CancelFunc()
+ delete(p2phttpRecords, uuid)
+ }
+ }
+
+ url, err := url.Parse("http://127.0.0.1:" + p2phttpRecord.Port + strings.TrimPrefix(ctx.Req.RequestURI, "/git-annex-p2phttp"))
+ if err != nil {
+ log.Error("Failed to parse URL: %v", err)
+ ctx.Resp.WriteHeader(http.StatusInternalServerError)
+ return
+ }
+ proxy := httputil.ReverseProxy{
+ Rewrite: func(r *httputil.ProxyRequest) {
+ r.Out.URL = url
+ },
+ }
+ proxy.ServeHTTP(ctx.Resp, ctx.Req)
+}
diff --git a/routers/web/repo/blame.go b/routers/web/repo/blame.go
index 4f962d4c19..c7fbaaefcb 100644
--- a/routers/web/repo/blame.go
+++ b/routers/web/repo/blame.go
@@ -56,6 +56,11 @@ func RefBlame(ctx *context.Context) {
HandleGitError(ctx, "Repo.Commit.GetTreeEntryByPath", err)
return
}
+ if entry.IsDir() {
+ ctx.NotFound("Cannot blame directory", nil)
+ return
+ }
+
blob := entry.Blob()
ctx.Data["PageIsViewCode"] = true
diff --git a/routers/web/repo/card.go b/routers/web/repo/card.go
new file mode 100644
index 0000000000..e73971cd94
--- /dev/null
+++ b/routers/web/repo/card.go
@@ -0,0 +1,526 @@
+// Copyright 2024 The Forgejo Authors. All rights reserved.
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package repo
+
+import (
+ "bytes"
+ "encoding/hex"
+ "fmt"
+ "image"
+ "image/color"
+ "image/png"
+ "net/http"
+ "strconv"
+ "strings"
+ "time"
+
+ "code.gitea.io/gitea/models/db"
+ issue_model "code.gitea.io/gitea/models/issues"
+ repo_model "code.gitea.io/gitea/models/repo"
+ unit_model "code.gitea.io/gitea/models/unit"
+ user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/cache"
+ "code.gitea.io/gitea/modules/card"
+ "code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/modules/storage"
+ "code.gitea.io/gitea/services/context"
+)
+
+// drawUser draws a user avatar in a summary card
+func drawUser(ctx *context.Context, card *card.Card, user *user_model.User) error {
+ if user.UseCustomAvatar {
+ posterAvatarPath := user.CustomAvatarRelativePath()
+ if posterAvatarPath != "" {
+ userAvatarFile, err := storage.Avatars.Open(user.CustomAvatarRelativePath())
+ if err != nil {
+ return err
+ }
+ userAvatarImage, _, err := image.Decode(userAvatarFile)
+ if err != nil {
+ return err
+ }
+ card.DrawImage(userAvatarImage)
+ }
+ } else {
+ posterAvatarLink := user.AvatarLinkWithSize(ctx, 256)
+ card.DrawExternalImage(posterAvatarLink)
+ }
+ return nil
+}
+
+// drawRepoIcon draws the repo icon in a summary card
+func drawRepoIcon(ctx *context.Context, card *card.Card, repo *repo_model.Repository) error {
+ repoAvatarPath := repo.CustomAvatarRelativePath()
+
+ if repoAvatarPath != "" {
+ repoAvatarFile, err := storage.RepoAvatars.Open(repoAvatarPath)
+ if err != nil {
+ return err
+ }
+ repoAvatarImage, _, err := image.Decode(repoAvatarFile)
+ if err != nil {
+ return err
+ }
+ card.DrawImage(repoAvatarImage)
+ return nil
+ }
+
+ // If the repo didn't have an avatar, fallback to the repo owner's avatar for the right-hand-side icon
+ err := repo.LoadOwner(ctx)
+ if err != nil {
+ return err
+ }
+ if repo.Owner != nil {
+ err = drawUser(ctx, card, repo.Owner)
+ if err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
+
+// hexToColor converts a hex color to a go color
+func hexToColor(colorStr string) (*color.RGBA, error) {
+ colorStr = strings.TrimLeft(colorStr, "#")
+
+ b, err := hex.DecodeString(colorStr)
+ if err != nil {
+ return nil, err
+ }
+
+ if len(b) < 3 {
+ return nil, fmt.Errorf("expected at least 3 bytes from DecodeString, got %d", len(b))
+ }
+
+ color := color.RGBA{b[0], b[1], b[2], 255}
+
+ return &color, nil
+}
+
+func drawLanguagesCard(ctx *context.Context, card *card.Card) error {
+ languageList, err := repo_model.GetTopLanguageStats(ctx, ctx.Repo.Repository, 5)
+ if err != nil {
+ return err
+ }
+ if len(languageList) == 0 {
+ card.DrawRect(0, 0, card.Width, card.Height, color.White)
+ return nil
+ }
+
+ currentX := 0
+ var langColor *color.RGBA
+
+ for _, lang := range languageList {
+ langColor, err = hexToColor(lang.Color)
+ if err != nil {
+ return err
+ }
+
+ langWidth := float32(card.Width) * (lang.Percentage / 100)
+ card.DrawRect(currentX, 0, currentX+int(langWidth), card.Width, langColor)
+ currentX += int(langWidth)
+ }
+
+ if currentX < card.Width {
+ card.DrawRect(currentX, 0, card.Width, card.Height, langColor)
+ }
+
+ return nil
+}
+
+func drawRepoSummaryCard(ctx *context.Context, repo *repo_model.Repository) (*card.Card, error) {
+ width, height := card.DefaultSize()
+ mainCard, err := card.NewCard(width, height)
+ if err != nil {
+ return nil, err
+ }
+
+ contentCard, languageBarCard := mainCard.Split(false, 90)
+
+ contentCard.SetMargin(60)
+ topSection, bottomSection := contentCard.Split(false, 75)
+ issueSummary, issueIcon := topSection.Split(true, 80)
+ repoInfo, issueDescription := issueSummary.Split(false, 30)
+
+ repoInfo.SetMargin(10)
+ _, err = repoInfo.DrawText(repo.FullName(), color.Black, 56, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ issueDescription.SetMargin(10)
+ _, err = issueDescription.DrawText(repo.Description, color.Gray{128}, 36, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ issueIcon.SetMargin(10)
+ err = drawRepoIcon(ctx, issueIcon, repo)
+ if err != nil {
+ return nil, err
+ }
+
+ topCountCard, bottomCountCard := bottomSection.Split(false, 50)
+
+ releaseCount, err := db.Count[repo_model.Release](ctx, repo_model.FindReleasesOptions{
+ // only show draft releases for users who can write, read-only users shouldn't see draft releases.
+ IncludeDrafts: ctx.Repo.CanWrite(unit_model.TypeReleases),
+ RepoID: ctx.Repo.Repository.ID,
+ })
+ if err != nil {
+ return nil, err
+ }
+
+ starsText := ctx.Locale.TrN(
+ repo.NumStars,
+ "explore.stars_one",
+ "explore.stars_few",
+ repo.NumStars,
+ )
+ forksText := ctx.Locale.TrN(
+ repo.NumForks,
+ "explore.forks_one",
+ "explore.forks_few",
+ repo.NumForks,
+ )
+ releasesText := ctx.Locale.TrN(
+ releaseCount,
+ "repo.activity.title.releases_1",
+ "repo.activity.title.releases_n",
+ releaseCount,
+ )
+
+ topCountText := fmt.Sprintf("%s • %s • %s", starsText, forksText, releasesText)
+
+ topCountCard.SetMargin(10)
+ _, err = topCountCard.DrawText(topCountText, color.Gray{128}, 36, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ issuesText := ctx.Locale.TrN(
+ repo.NumOpenIssues,
+ "repo.activity.title.issues_1",
+ "repo.activity.title.issues_n",
+ repo.NumOpenIssues,
+ )
+ pullRequestsText := ctx.Locale.TrN(
+ repo.NumOpenPulls,
+ "repo.activity.title.prs_1",
+ "repo.activity.title.prs_n",
+ repo.NumOpenPulls,
+ )
+
+ bottomCountText := fmt.Sprintf("%s • %s", issuesText, pullRequestsText)
+
+ bottomCountCard.SetMargin(10)
+ _, err = bottomCountCard.DrawText(bottomCountText, color.Gray{128}, 36, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ err = drawLanguagesCard(ctx, languageBarCard)
+ if err != nil {
+ return nil, err
+ }
+
+ return mainCard, nil
+}
+
+func drawIssueSummaryCard(ctx *context.Context, issue *issue_model.Issue) (*card.Card, error) {
+ width, height := card.DefaultSize()
+ mainCard, err := card.NewCard(width, height)
+ if err != nil {
+ return nil, err
+ }
+
+ mainCard.SetMargin(60)
+ topSection, bottomSection := mainCard.Split(false, 75)
+ issueSummary, issueIcon := topSection.Split(true, 80)
+ repoInfo, issueDescription := issueSummary.Split(false, 15)
+
+ repoInfo.SetMargin(10)
+ _, err = repoInfo.DrawText(fmt.Sprintf("%s - #%d", issue.Repo.FullName(), issue.Index), color.Gray{128}, 36, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ issueDescription.SetMargin(10)
+ _, err = issueDescription.DrawText(issue.Title, color.Black, 56, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ issueIcon.SetMargin(10)
+ err = drawRepoIcon(ctx, issueIcon, issue.Repo)
+ if err != nil {
+ return nil, err
+ }
+
+ issueStats, issueAttribution := bottomSection.Split(false, 50)
+
+ var state string
+ if issue.IsPull && issue.PullRequest.HasMerged {
+ if issue.PullRequest.Status == 3 {
+ state = ctx.Locale.TrString("repo.pulls.manually_merged")
+ } else {
+ state = ctx.Locale.TrString("repo.pulls.merged")
+ }
+ } else if issue.IsClosed {
+ state = ctx.Locale.TrString("repo.issues.closed_title")
+ } else if issue.IsPull {
+ if issue.PullRequest.IsWorkInProgress(ctx) {
+ state = ctx.Locale.TrString("repo.issues.draft_title")
+ } else {
+ state = ctx.Locale.TrString("repo.issues.open_title")
+ }
+ } else {
+ state = ctx.Locale.TrString("repo.issues.open_title")
+ }
+ state = strings.ToLower(state)
+
+ issueStats.SetMargin(10)
+ if issue.IsPull {
+ reviews := map[int64]bool{}
+ for _, comment := range issue.Comments {
+ if comment.Review != nil {
+ reviews[comment.Review.ID] = true
+ }
+ }
+ _, err = issueStats.DrawText(
+ fmt.Sprintf("%s, %s, %s",
+ ctx.Locale.TrN(
+ issue.NumComments,
+ "repo.issues.num_comments_1",
+ "repo.issues.num_comments",
+ issue.NumComments,
+ ),
+ ctx.Locale.TrN(
+ len(reviews),
+ "repo.issues.num_reviews_one",
+ "repo.issues.num_reviews_few",
+ len(reviews),
+ ),
+ state,
+ ),
+ color.Gray{128}, 36, card.Top, card.Left)
+ } else {
+ _, err = issueStats.DrawText(
+ fmt.Sprintf("%s, %s",
+ ctx.Locale.TrN(
+ issue.NumComments,
+ "repo.issues.num_comments_1",
+ "repo.issues.num_comments",
+ issue.NumComments,
+ ),
+ state,
+ ),
+ color.Gray{128}, 36, card.Top, card.Left)
+ }
+ if err != nil {
+ return nil, err
+ }
+
+ issueAttributionIcon, issueAttributionText := issueAttribution.Split(true, 8)
+ issueAttributionText.SetMargin(5)
+ _, err = issueAttributionText.DrawText(
+ fmt.Sprintf(
+ "%s - %s",
+ issue.Poster.Name,
+ issue.Created.AsTime().Format(time.DateOnly),
+ ),
+ color.Gray{128}, 36, card.Middle, card.Left)
+ if err != nil {
+ return nil, err
+ }
+ err = drawUser(ctx, issueAttributionIcon, issue.Poster)
+ if err != nil {
+ return nil, err
+ }
+
+ return mainCard, nil
+}
+
+func drawReleaseSummaryCard(ctx *context.Context, release *repo_model.Release) (*card.Card, error) {
+ width, height := card.DefaultSize()
+ mainCard, err := card.NewCard(width, height)
+ if err != nil {
+ return nil, err
+ }
+
+ mainCard.SetMargin(60)
+ topSection, bottomSection := mainCard.Split(false, 75)
+ releaseSummary, repoIcon := topSection.Split(true, 80)
+ repoInfo, releaseDescription := releaseSummary.Split(false, 15)
+
+ repoInfo.SetMargin(10)
+ _, err = repoInfo.DrawText(release.Repo.FullName(), color.Gray{128}, 36, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ releaseDescription.SetMargin(10)
+ _, err = releaseDescription.DrawText(release.DisplayName(), color.Black, 56, card.Top, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ repoIcon.SetMargin(10)
+ err = drawRepoIcon(ctx, repoIcon, release.Repo)
+ if err != nil {
+ return nil, err
+ }
+
+ downloadCountCard, releaseDateCard := bottomSection.Split(true, 75)
+
+ downloadCount, err := release.GetTotalDownloadCount(ctx)
+ if err != nil {
+ return nil, err
+ }
+
+ downloadCountText := ctx.Locale.TrN(
+ strconv.FormatInt(downloadCount, 10),
+ "repo.release.download_count_one",
+ "repo.release.download_count_few",
+ strconv.FormatInt(downloadCount, 10),
+ )
+
+ _, err = downloadCountCard.DrawText(string(downloadCountText), color.Gray{128}, 36, card.Bottom, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ _, err = releaseDateCard.DrawText(release.CreatedUnix.AsTime().Format(time.DateOnly), color.Gray{128}, 36, card.Bottom, card.Left)
+ if err != nil {
+ return nil, err
+ }
+
+ return mainCard, nil
+}
+
+// checkCardCache checks if a card in cache and serves it
+func checkCardCache(ctx *context.Context, cacheKey string) bool {
+ cache := cache.GetCache()
+ pngData, ok := cache.Get(cacheKey).([]byte)
+ if ok && pngData != nil && len(pngData) > 0 {
+ ctx.Resp.Header().Set("Content-Type", "image/png")
+ ctx.Resp.WriteHeader(http.StatusOK)
+ _, err := ctx.Resp.Write(pngData)
+ if err != nil {
+ ctx.ServerError("GetSummaryCard", err)
+ }
+ return true
+ }
+
+ return false
+}
+
+// serveCard server a Card to the user adds it to the cache
+func serveCard(ctx *context.Context, card *card.Card, cacheKey string) {
+ cache := cache.GetCache()
+
+ // Encode image, store in cache
+ var imageBuffer bytes.Buffer
+ err := png.Encode(&imageBuffer, card.Img)
+ if err != nil {
+ ctx.ServerError("GetSummaryCard", err)
+ return
+ }
+ imageBytes := imageBuffer.Bytes()
+ err = cache.Put(cacheKey, imageBytes, setting.CacheService.TTLSeconds())
+ if err != nil {
+ // don't abort serving the image if we just had a cache storage failure
+ log.Warn("failed to cache issue summary card: %v", err)
+ }
+
+ // Finish the uncached image response
+ ctx.Resp.Header().Set("Content-Type", "image/png")
+ ctx.Resp.WriteHeader(http.StatusOK)
+ _, err = ctx.Resp.Write(imageBytes)
+ if err != nil {
+ ctx.ServerError("GetSummaryCard", err)
+ return
+ }
+}
+
+func DrawRepoSummaryCard(ctx *context.Context) {
+ cacheKey := fmt.Sprintf("summary_card:repo:%s:%d", ctx.Locale.Language(), ctx.Repo.Repository.ID)
+
+ if checkCardCache(ctx, cacheKey) {
+ return
+ }
+
+ card, err := drawRepoSummaryCard(ctx, ctx.Repo.Repository)
+ if err != nil {
+ ctx.ServerError("drawRepoSummaryCar", err)
+ return
+ }
+
+ serveCard(ctx, card, cacheKey)
+}
+
+func DrawIssueSummaryCard(ctx *context.Context) {
+ issue, err := issue_model.GetIssueWithAttrsByIndex(ctx, ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
+ if err != nil {
+ if issue_model.IsErrIssueNotExist(err) {
+ ctx.Error(http.StatusNotFound)
+ } else {
+ ctx.Error(http.StatusInternalServerError, "GetIssueByIndex", err.Error())
+ }
+ return
+ }
+
+ if !ctx.Repo.CanReadIssuesOrPulls(issue.IsPull) {
+ ctx.Error(http.StatusNotFound)
+ return
+ }
+
+ cacheKey := fmt.Sprintf("summary_card:issue:%s:%d", ctx.Locale.Language(), issue.ID)
+
+ if checkCardCache(ctx, cacheKey) {
+ return
+ }
+
+ card, err := drawIssueSummaryCard(ctx, issue)
+ if err != nil {
+ ctx.ServerError("drawIssueSummaryCar", err)
+ return
+ }
+
+ serveCard(ctx, card, cacheKey)
+}
+
+func DrawReleaseSummaryCard(ctx *context.Context) {
+ release, err := repo_model.GetRelease(ctx, ctx.Repo.Repository.ID, ctx.Params("*"))
+ if err != nil {
+ if repo_model.IsErrReleaseNotExist(err) {
+ ctx.NotFound("", nil)
+ } else {
+ ctx.ServerError("GetReleaseForRepoByID", err)
+ }
+ return
+ }
+
+ err = release.LoadRepo(ctx)
+ if err != nil {
+ ctx.ServerError("LoadRepo", err)
+ return
+ }
+
+ cacheKey := fmt.Sprintf("summary_card:release:%s:%d", ctx.Locale.Language(), release.ID)
+
+ if checkCardCache(ctx, cacheKey) {
+ return
+ }
+
+ card, err := drawReleaseSummaryCard(ctx, release)
+ if err != nil {
+ ctx.ServerError("drawRepoSummaryCar", err)
+ return
+ }
+
+ serveCard(ctx, card, cacheKey)
+}
diff --git a/routers/web/repo/compare.go b/routers/web/repo/compare.go
index e5eab2bffa..104655e134 100644
--- a/routers/web/repo/compare.go
+++ b/routers/web/repo/compare.go
@@ -23,6 +23,7 @@ import (
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/charset"
csv_module "code.gitea.io/gitea/modules/csv"
@@ -51,6 +52,7 @@ const (
func setCompareContext(ctx *context.Context, before, head *git.Commit, headOwner, headName string) {
ctx.Data["BeforeCommit"] = before
ctx.Data["HeadCommit"] = head
+ ctx.Data["SignInLink"] = setting.AppSubURL + "/user/login?redirect_to=" + url.QueryEscape(ctx.Data["Link"].(string))
ctx.Data["GetBlobByPathForCommit"] = func(commit *git.Commit, path string) *git.Blob {
if commit == nil {
@@ -71,7 +73,21 @@ func setCompareContext(ctx *context.Context, before, head *git.Commit, headOwner
return st
}
- st, err := blob.GuessContentType()
+ isAnnexed, err := annex.IsAnnexed(blob)
+ if err != nil {
+ log.Error("IsAnnexed failed: %v", err)
+ return st
+ }
+ if isAnnexed {
+ st, err = annex.GuessContentType(blob)
+ if err != nil {
+ log.Error("GuessContentType failed: %v", err)
+ return st
+ }
+ return st
+ }
+
+ st, err = blob.GuessContentType()
if err != nil {
log.Error("GuessContentType failed: %v", err)
return st
@@ -89,18 +105,18 @@ func SourceCommitURL(owner, name string, commit *git.Commit) string {
return setting.AppSubURL + "/" + url.PathEscape(owner) + "/" + url.PathEscape(name) + "/src/commit/" + url.PathEscape(commit.ID.String())
}
-// RawCommitURL creates a relative URL for the raw commit in the given repository
-func RawCommitURL(owner, name string, commit *git.Commit) string {
- return setting.AppSubURL + "/" + url.PathEscape(owner) + "/" + url.PathEscape(name) + "/raw/commit/" + url.PathEscape(commit.ID.String())
+// MediaCommitURL creates a relative URL for the commit media (plain git, LFS, or annex content) in the given repository
+func MediaCommitURL(owner, name string, commit *git.Commit) string {
+ return setting.AppSubURL + "/" + url.PathEscape(owner) + "/" + url.PathEscape(name) + "/media/commit/" + url.PathEscape(commit.ID.String())
}
// setPathsCompareContext sets context data for source and raw paths
func setPathsCompareContext(ctx *context.Context, base, head *git.Commit, headOwner, headName string) {
ctx.Data["SourcePath"] = SourceCommitURL(headOwner, headName, head)
- ctx.Data["RawPath"] = RawCommitURL(headOwner, headName, head)
+ ctx.Data["RawPath"] = MediaCommitURL(headOwner, headName, head)
if base != nil {
ctx.Data["BeforeSourcePath"] = SourceCommitURL(headOwner, headName, base)
- ctx.Data["BeforeRawPath"] = RawCommitURL(headOwner, headName, base)
+ ctx.Data["BeforeRawPath"] = MediaCommitURL(headOwner, headName, base)
}
}
diff --git a/routers/web/repo/download.go b/routers/web/repo/download.go
index 1e87bbf015..aefaa79521 100644
--- a/routers/web/repo/download.go
+++ b/routers/web/repo/download.go
@@ -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)
}
diff --git a/routers/web/repo/githttp.go b/routers/web/repo/githttp.go
index c1adca174f..53f18f9617 100644
--- a/routers/web/repo/githttp.go
+++ b/routers/web/repo/githttp.go
@@ -10,6 +10,7 @@ import (
gocontext "context"
"fmt"
"net/http"
+ "net/url"
"os"
"path/filepath"
"regexp"
@@ -78,7 +79,24 @@ func httpBase(ctx *context.Context) *serviceHandler {
strings.HasSuffix(ctx.Req.URL.Path, "git-upload-archive") {
isPull = true
} else {
- isPull = ctx.Req.Method == "GET"
+ // In addition to GET requests, HEAD requests are also "pull"
+ // operations (reads), so they should also not require
+ // authentication. This is necessary for git-annex to operate
+ // properly, as it emits HEAD requests to check for the
+ // existence of keys, e.g. before dropping locally, and asking
+ // for authentication would break unauthenticated http usage in
+ // this situation.
+ // It should be safe to make all HEAD requests require no
+ // authentication, but as it is only necessary for the
+ // annex/objects endpoints to fix git-annex' drop operations it
+ // is limited to those for now.
+ r, err := regexp.Compile("^/?" + username + "/" + reponame + "(.git)?/annex/objects")
+ if err != nil {
+ ctx.ServerError("failed to create URL path regex", err)
+ return nil
+ }
+ isPull = ctx.Req.Method == "GET" ||
+ r.MatchString(ctx.Req.URL.Path) && ctx.Req.Method == "HEAD"
}
var accessMode perm.AccessMode
@@ -545,6 +563,42 @@ func GetInfoRefs(ctx *context.Context) {
}
}
+// GetConfig implements fetching the git config of a repository
+func GetConfig(ctx *context.Context) {
+ h := httpBase(ctx)
+ if h != nil {
+ setHeaderNoCache(ctx)
+ config, err := os.ReadFile(filepath.Join(h.getRepoDir(), "config"))
+ if err != nil {
+ log.Error("Failed to read git config file: %v", err)
+ ctx.Resp.WriteHeader(http.StatusInternalServerError)
+ return
+ }
+ if !setting.Annex.DisableP2PHTTP {
+ appURL, err := url.Parse(setting.AppURL)
+ if err != nil {
+ log.Error("Could not parse 'setting.AppURL': %v", err)
+ ctx.Resp.WriteHeader(http.StatusInternalServerError)
+ return
+ }
+ if appURL.Port() == "" {
+ // If there is no port set then set the http(s) default ports.
+ // Without this, git-annex would try its own default port (9417) and fail.
+ if appURL.Scheme == "http" {
+ appURL.Host += ":80"
+ }
+ if appURL.Scheme == "https" {
+ appURL.Host += ":443"
+ }
+ }
+ config = append(config, []byte("[annex]\n\turl = annex+"+appURL.String()+"git-annex-p2phttp\n")...)
+ }
+ ctx.Resp.Header().Set("Content-Type", "text/plain")
+ ctx.Resp.Header().Set("Content-Length", fmt.Sprintf("%d", len(config)))
+ http.ServeContent(ctx.Resp, ctx.Req, "config", time.Now(), bytes.NewReader(config))
+ }
+}
+
// GetTextFile implements Git dumb HTTP
func GetTextFile(p string) func(*context.Context) {
return func(ctx *context.Context) {
@@ -597,3 +651,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)
+ }
+}
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go
index c154a9b665..779cbd4b6a 100644
--- a/routers/web/repo/issue.go
+++ b/routers/web/repo/issue.go
@@ -10,9 +10,6 @@ import (
"errors"
"fmt"
"html/template"
- "image"
- "image/color"
- "image/png"
"math/big"
"net/http"
"net/url"
@@ -34,8 +31,6 @@ import (
"code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/base"
- "code.gitea.io/gitea/modules/cache"
- "code.gitea.io/gitea/modules/card"
"code.gitea.io/gitea/modules/container"
"code.gitea.io/gitea/modules/emoji"
"code.gitea.io/gitea/modules/git"
@@ -47,7 +42,6 @@ import (
"code.gitea.io/gitea/modules/optional"
repo_module "code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting"
- "code.gitea.io/gitea/modules/storage"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/templates"
"code.gitea.io/gitea/modules/templates/vars"
@@ -2076,6 +2070,8 @@ func ViewIssue(ctx *context.Context) {
ctx.Data["RefEndName"] = git.RefName(issue.Ref).ShortName()
ctx.Data["NewPinAllowed"] = pinAllowed
ctx.Data["PinEnabled"] = setting.Repository.Issue.MaxPinned != 0
+ ctx.Data["OpenGraphImageURL"] = issue.SummaryCardURL()
+ ctx.Data["OpenGraphImageAltText"] = ctx.Tr("repo.issues.summary_card_alt", issue.Title, issue.Repo.FullName())
prepareHiddenCommentType(ctx)
if ctx.Written() {
@@ -2233,222 +2229,6 @@ func GetIssueInfo(ctx *context.Context) {
ctx.JSON(http.StatusOK, convert.ToIssue(ctx, ctx.Doer, issue))
}
-// GetSummaryCard get an issue of a repository
-func GetSummaryCard(ctx *context.Context) {
- issue, err := issues_model.GetIssueWithAttrsByIndex(ctx, ctx.Repo.Repository.ID, ctx.ParamsInt64(":index"))
- if err != nil {
- if issues_model.IsErrIssueNotExist(err) {
- ctx.Error(http.StatusNotFound)
- } else {
- ctx.Error(http.StatusInternalServerError, "GetIssueByIndex", err.Error())
- }
- return
- }
-
- if !ctx.Repo.CanReadIssuesOrPulls(issue.IsPull) {
- ctx.Error(http.StatusNotFound)
- return
- }
-
- cache := cache.GetCache()
- cacheKey := fmt.Sprintf("summary_card:issue:%s:%d", ctx.Locale.Language(), issue.ID)
- pngData, ok := cache.Get(cacheKey).([]byte)
- if ok && pngData != nil && len(pngData) > 0 {
- ctx.Resp.Header().Set("Content-Type", "image/png")
- ctx.Resp.WriteHeader(http.StatusOK)
- _, err = ctx.Resp.Write(pngData)
- if err != nil {
- ctx.ServerError("GetSummaryCard", err)
- }
- return
- }
-
- card, err := drawSummaryCard(ctx, issue)
- if err != nil {
- ctx.ServerError("GetSummaryCard", err)
- return
- }
-
- // Encode image, store in cache
- var imageBuffer bytes.Buffer
- err = png.Encode(&imageBuffer, card.Img)
- if err != nil {
- ctx.ServerError("GetSummaryCard", err)
- return
- }
- imageBytes := imageBuffer.Bytes()
- err = cache.Put(cacheKey, imageBytes, setting.CacheService.TTLSeconds())
- if err != nil {
- // don't abort serving the image if we just had a cache storage failure
- log.Warn("failed to cache issue summary card: %v", err)
- }
-
- // Finish the uncached image response
- ctx.Resp.Header().Set("Content-Type", "image/png")
- ctx.Resp.WriteHeader(http.StatusOK)
- _, err = ctx.Resp.Write(imageBytes)
- if err != nil {
- ctx.ServerError("GetSummaryCard", err)
- return
- }
-}
-
-func drawSummaryCard(ctx *context.Context, issue *issues_model.Issue) (*card.Card, error) {
- width, height := issue.SummaryCardSize()
- mainCard, err := card.NewCard(width, height)
- if err != nil {
- return nil, err
- }
-
- mainCard.SetMargin(60)
- topSection, bottomSection := mainCard.Split(false, 75)
- issueSummary, issueIcon := topSection.Split(true, 80)
- repoInfo, issueDescription := issueSummary.Split(false, 15)
-
- repoInfo.SetMargin(10)
- _, err = repoInfo.DrawText(fmt.Sprintf("%s - #%d", issue.Repo.FullName(), issue.Index), color.Gray{128}, 36, card.Top, card.Left)
- if err != nil {
- return nil, err
- }
-
- issueDescription.SetMargin(10)
- _, err = issueDescription.DrawText(issue.Title, color.Black, 56, card.Top, card.Left)
- if err != nil {
- return nil, err
- }
-
- issueIcon.SetMargin(10)
-
- repoAvatarPath := issue.Repo.CustomAvatarRelativePath()
- if repoAvatarPath != "" {
- repoAvatarFile, err := storage.RepoAvatars.Open(repoAvatarPath)
- if err != nil {
- return nil, err
- }
- repoAvatarImage, _, err := image.Decode(repoAvatarFile)
- if err != nil {
- return nil, err
- }
- issueIcon.DrawImage(repoAvatarImage)
- } else {
- // If the repo didn't have an avatar, fallback to the repo owner's avatar for the right-hand-side icon
- err = issue.Repo.LoadOwner(ctx)
- if err != nil {
- return nil, err
- }
- if issue.Repo.Owner != nil {
- err = drawUser(ctx, issueIcon, issue.Repo.Owner)
- if err != nil {
- return nil, err
- }
- }
- }
-
- issueStats, issueAttribution := bottomSection.Split(false, 50)
-
- var state string
- if issue.IsPull && issue.PullRequest.HasMerged {
- if issue.PullRequest.Status == 3 {
- state = ctx.Locale.TrString("repo.pulls.manually_merged")
- } else {
- state = ctx.Locale.TrString("repo.pulls.merged")
- }
- } else if issue.IsClosed {
- state = ctx.Locale.TrString("repo.issues.closed_title")
- } else if issue.IsPull {
- if issue.PullRequest.IsWorkInProgress(ctx) {
- state = ctx.Locale.TrString("repo.issues.draft_title")
- } else {
- state = ctx.Locale.TrString("repo.issues.open_title")
- }
- } else {
- state = ctx.Locale.TrString("repo.issues.open_title")
- }
- state = strings.ToLower(state)
-
- issueStats.SetMargin(10)
- if issue.IsPull {
- reviews := map[int64]bool{}
- for _, comment := range issue.Comments {
- if comment.Review != nil {
- reviews[comment.Review.ID] = true
- }
- }
- _, err = issueStats.DrawText(
- fmt.Sprintf("%s, %s, %s",
- ctx.Locale.TrN(
- issue.NumComments,
- "repo.issues.num_comments_1",
- "repo.issues.num_comments",
- issue.NumComments,
- ),
- ctx.Locale.TrN(
- len(reviews),
- "repo.issues.num_reviews_one",
- "repo.issues.num_reviews_few",
- len(reviews),
- ),
- state,
- ),
- color.Gray{128}, 36, card.Top, card.Left)
- } else {
- _, err = issueStats.DrawText(
- fmt.Sprintf("%s, %s",
- ctx.Locale.TrN(
- issue.NumComments,
- "repo.issues.num_comments_1",
- "repo.issues.num_comments",
- issue.NumComments,
- ),
- state,
- ),
- color.Gray{128}, 36, card.Top, card.Left)
- }
- if err != nil {
- return nil, err
- }
-
- issueAttributionIcon, issueAttributionText := issueAttribution.Split(true, 8)
- issueAttributionText.SetMargin(5)
- _, err = issueAttributionText.DrawText(
- fmt.Sprintf(
- "%s - %s",
- issue.Poster.Name,
- issue.Created.AsTime().Format("2006-01-02"),
- ),
- color.Gray{128}, 36, card.Middle, card.Left)
- if err != nil {
- return nil, err
- }
- err = drawUser(ctx, issueAttributionIcon, issue.Poster)
- if err != nil {
- return nil, err
- }
-
- return mainCard, nil
-}
-
-func drawUser(ctx *context.Context, card *card.Card, user *user_model.User) error {
- if user.UseCustomAvatar {
- posterAvatarPath := user.CustomAvatarRelativePath()
- if posterAvatarPath != "" {
- userAvatarFile, err := storage.Avatars.Open(user.CustomAvatarRelativePath())
- if err != nil {
- return err
- }
- userAvatarImage, _, err := image.Decode(userAvatarFile)
- if err != nil {
- return err
- }
- card.DrawImage(userAvatarImage)
- }
- } else {
- posterAvatarLink := user.AvatarLinkWithSize(ctx, 256)
- card.DrawExternalImage(posterAvatarLink)
- }
- return nil
-}
-
// UpdateIssueTitle change issue's title
func UpdateIssueTitle(ctx *context.Context) {
issue := GetActionIssue(ctx)
diff --git a/routers/web/repo/projects.go b/routers/web/repo/projects.go
index f4b027dae1..5826418b63 100644
--- a/routers/web/repo/projects.go
+++ b/routers/web/repo/projects.go
@@ -125,6 +125,19 @@ func Projects(ctx *context.Context) {
ctx.Data["IsProjectsPage"] = true
ctx.Data["SortType"] = sortType
+ numOpenIssues, err := issues_model.NumIssuesInProjects(ctx, projects, ctx.Doer, ctx.Org.Organization, optional.Some(false))
+ if err != nil {
+ ctx.ServerError("NumIssuesInProjects", err)
+ return
+ }
+ numClosedIssues, err := issues_model.NumIssuesInProjects(ctx, projects, ctx.Doer, ctx.Org.Organization, optional.Some(true))
+ if err != nil {
+ ctx.ServerError("NumIssuesInProjects", err)
+ return
+ }
+ ctx.Data["NumOpenIssuesInProject"] = numOpenIssues
+ ctx.Data["NumClosedIssuesInProject"] = numClosedIssues
+
ctx.HTML(http.StatusOK, tplProjects)
}
@@ -310,7 +323,7 @@ func ViewProject(ctx *context.Context) {
return
}
- issuesMap, err := issues_model.LoadIssuesFromColumnList(ctx, columns)
+ issuesMap, err := issues_model.LoadIssuesFromColumnList(ctx, columns, ctx.Doer, nil, optional.None[bool]())
if err != nil {
ctx.ServerError("LoadIssuesOfColumns", err)
return
diff --git a/routers/web/repo/release.go b/routers/web/repo/release.go
index 65d526d2f2..1791788743 100644
--- a/routers/web/repo/release.go
+++ b/routers/web/repo/release.go
@@ -365,11 +365,7 @@ func SingleRelease(ctx *context.Context) {
addVerifyTagToContext(ctx)
ctx.Data["PageIsSingleTag"] = release.IsTag
- if release.IsTag {
- ctx.Data["Title"] = release.TagName
- } else {
- ctx.Data["Title"] = release.Title
- }
+ ctx.Data["Title"] = release.DisplayName()
err = release.LoadArchiveDownloadCount(ctx)
if err != nil {
@@ -378,6 +374,13 @@ func SingleRelease(ctx *context.Context) {
}
ctx.Data["Releases"] = releases
+
+ ctx.Data["OpenGraphTitle"] = fmt.Sprintf("%s - %s", release.DisplayName(), release.Repo.FullName())
+ ctx.Data["OpenGraphDescription"] = base.EllipsisString(release.Note, 300)
+ ctx.Data["OpenGraphURL"] = release.HTMLURL()
+ ctx.Data["OpenGraphImageURL"] = release.SummaryCardURL()
+ ctx.Data["OpenGraphImageAltText"] = ctx.Tr("repo.release.summary_card_alt", release.DisplayName(), release.Repo.FullName())
+
ctx.HTML(http.StatusOK, tplReleasesList)
}
diff --git a/routers/web/repo/search.go b/routers/web/repo/search.go
index f2264360ec..442034b287 100644
--- a/routers/web/repo/search.go
+++ b/routers/web/repo/search.go
@@ -67,6 +67,12 @@ func Search(ctx *context.Context) {
ctx.Data["CodeSearchPath"] = path
ctx.Data["CodeSearchMode"] = mode.String()
ctx.Data["PageIsViewCode"] = true
+ ctx.Data["CodeIndexerDisabled"] = !setting.Indexer.RepoIndexerEnabled
+ if setting.Indexer.RepoIndexerEnabled {
+ ctx.Data["CodeSearchOptions"] = code_indexer.CodeSearchOptions
+ } else {
+ ctx.Data["CodeSearchOptions"] = git.GrepSearchOptions
+ }
if keyword == "" {
ctx.HTML(http.StatusOK, tplSearch)
@@ -103,7 +109,6 @@ func Search(ctx *context.Context) {
} else {
ctx.Data["CodeIndexerUnavailable"] = !code_indexer.IsAvailable(ctx)
}
- ctx.Data["CodeSearchOptions"] = code_indexer.CodeSearchOptions
} else {
grepOpt := git.GrepOptions{
ContextLineNumber: 1,
@@ -139,10 +144,8 @@ func Search(ctx *context.Context) {
strings.Join(r.LineCodes, "\n")),
})
}
- ctx.Data["CodeSearchOptions"] = git.GrepSearchOptions
}
- ctx.Data["CodeIndexerDisabled"] = !setting.Indexer.RepoIndexerEnabled
ctx.Data["Repo"] = ctx.Repo.Repository
ctx.Data["SourcePath"] = ctx.Repo.Repository.Link()
ctx.Data["SearchResults"] = searchResults
diff --git a/routers/web/repo/setting/runners.go b/routers/web/repo/setting/runners.go
index a47d3b45e2..9dce5d13b7 100644
--- a/routers/web/repo/setting/runners.go
+++ b/routers/web/repo/setting/runners.go
@@ -179,7 +179,7 @@ func RunnerDeletePost(ctx *context.Context) {
ctx.ServerError("getRunnersCtx", err)
return
}
- actions_shared.RunnerDeletePost(ctx, ctx.ParamsInt64(":runnerid"), rCtx.RedirectLink, rCtx.RedirectLink+url.PathEscape(ctx.Params(":runnerid")))
+ actions_shared.RunnerDeletePost(ctx, ctx.ParamsInt64(":runnerid"), rCtx.OwnerID, rCtx.RepoID, rCtx.RedirectLink, rCtx.RedirectLink+url.PathEscape(ctx.Params(":runnerid")))
}
func RedirectToDefaultSetting(ctx *context.Context) {
diff --git a/routers/web/repo/setting/variables.go b/routers/web/repo/setting/variables.go
index 45b6c0f39a..4fb8c06e84 100644
--- a/routers/web/repo/setting/variables.go
+++ b/routers/web/repo/setting/variables.go
@@ -127,7 +127,7 @@ func VariableUpdate(ctx *context.Context) {
return
}
- shared.UpdateVariable(ctx, vCtx.RedirectLink)
+ shared.UpdateVariable(ctx, vCtx.OwnerID, vCtx.RepoID, vCtx.RedirectLink)
}
func VariableDelete(ctx *context.Context) {
@@ -136,5 +136,5 @@ func VariableDelete(ctx *context.Context) {
ctx.ServerError("getVariablesCtx", err)
return
}
- shared.DeleteVariable(ctx, vCtx.RedirectLink)
+ shared.DeleteVariable(ctx, vCtx.OwnerID, vCtx.RepoID, vCtx.RedirectLink)
}
diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go
index fd8c1da058..6329f5d714 100644
--- a/routers/web/repo/view.go
+++ b/routers/web/repo/view.go
@@ -34,6 +34,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"
@@ -209,14 +210,59 @@ 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
+ isAnnexFilePresent 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 {
+ // If annex.Content returns an error it can mean that the blob does not
+ // refer to an annexed file or that it is not present here. Since we already
+ // checked that it is annexed the latter must be the case. So we return the
+ // content of the blob instead and indicate that the file is indeed annexed,
+ // but not present here. The template can then communicate the situation.
+ dataRc, err := blob.DataAsync()
+ if err != nil {
+ return nil, nil, nil, err
+ }
+
+ buf := make([]byte, 1024)
+ n, _ := util.ReadAtMost(dataRc, buf)
+ buf = buf[:n]
+
+ st := typesniffer.DetectContentType(buf)
+ return buf, dataRc, &fileInfo{st.IsText(), false, true, false, blob.Size(), nil, st}, nil
+ }
+
+ 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, true, stat.Size(), nil, st}, nil
+ }
+
dataRc, err := blob.DataAsync()
if err != nil {
return nil, nil, nil, err
@@ -231,18 +277,18 @@ 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, 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, false, blob.Size(), nil, st}, nil
}
meta, err := git_model.GetLFSMetaObjectByOid(ctx, repoID, pointer.Oid)
if err != nil { // fallback to plain file
log.Warn("Unable to access LFS pointer %s in repo %d: %v", pointer.Oid, repoID, err)
- return buf, dataRc, &fileInfo{isTextFile, false, blob.Size(), nil, st}, nil
+ return buf, dataRc, &fileInfo{isTextFile, false, false, false, blob.Size(), nil, st}, nil
}
dataRc.Close()
@@ -262,7 +308,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, false, meta.Size, &meta.Pointer, st}, nil
}
func renderReadmeFile(ctx *context.Context, subfolder string, readmeFile *git.TreeEntry) {
@@ -325,6 +371,7 @@ func renderReadmeFile(ctx *context.Context, subfolder string, readmeFile *git.Tr
},
Metas: ctx.Repo.Repository.ComposeDocumentMetas(ctx),
GitRepo: ctx.Repo.GitRepo,
+ Blob: target.Blob(),
}, rd)
if err != nil {
log.Error("Render failed for %s in %-v: %v Falling back to rendering source", readmeFile.Name(), ctx.Repo.Repository, err)
@@ -447,10 +494,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.
@@ -458,6 +512,8 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) {
isDisplayingRendered = true
}
ctx.Data["IsLFSFile"] = fInfo.isLFSFile
+ ctx.Data["IsAnnexFile"] = fInfo.isAnnexFile
+ ctx.Data["IsAnnexFilePresent"] = fInfo.isAnnexFilePresent
ctx.Data["FileSize"] = fInfo.fileSize
ctx.Data["IsTextFile"] = fInfo.isTextFile
ctx.Data["IsRepresentableAsText"] = isRepresentableAsText
@@ -492,6 +548,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")
}
@@ -546,6 +604,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) {
},
Metas: metas,
GitRepo: ctx.Repo.GitRepo,
+ Blob: entry.Blob(),
}, rd)
if err != nil {
ctx.ServerError("Render", err)
@@ -599,7 +658,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
@@ -644,6 +703,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry) {
},
Metas: ctx.Repo.Repository.ComposeDocumentMetas(ctx),
GitRepo: ctx.Repo.GitRepo,
+ Blob: entry.Blob(),
}, rd)
if err != nil {
ctx.ServerError("Render", err)
@@ -1159,6 +1219,15 @@ PostRecentBranchCheck:
} else {
ctx.Data["CodeSearchOptions"] = git.GrepSearchOptions
}
+ isAnnexFile, okAnnexFile := ctx.Data["IsAnnexFile"]
+ isAnnexFilePresent, okAnnexFilePresent := ctx.Data["IsAnnexFilePresent"]
+ if okAnnexFile && okAnnexFilePresent && isAnnexFile.(bool) && !isAnnexFilePresent.(bool) {
+ // If the file to be viewed is annexed but not present then render it normally
+ // (which will show the plain git blob content, i.e. the symlink or pointer target)
+ // but make the status code a 404.
+ ctx.HTML(http.StatusNotFound, tplRepoHome)
+ return
+ }
ctx.HTML(http.StatusOK, tplRepoHome)
}
diff --git a/routers/web/repo/wiki_test.go b/routers/web/repo/wiki_test.go
index 47bad6d8e0..0c49e7d902 100644
--- a/routers/web/repo/wiki_test.go
+++ b/routers/web/repo/wiki_test.go
@@ -86,7 +86,7 @@ func TestWiki(t *testing.T) {
Wiki(ctx)
assert.EqualValues(t, http.StatusOK, ctx.Resp.Status())
assert.EqualValues(t, "Home", ctx.Data["Title"])
- assertPagesMetas(t, []string{"Home", "Long Page", "Page With Image", "Page With Spaced Name", "Unescaped File"}, ctx.Data["Pages"])
+ assertPagesMetas(t, []string{"Home", "Long Page", "Page With Image", "Page With Spaced Name", "Unescaped File", "XSS"}, ctx.Data["Pages"])
}
func TestWikiPages(t *testing.T) {
@@ -96,7 +96,7 @@ func TestWikiPages(t *testing.T) {
contexttest.LoadRepo(t, ctx, 1)
WikiPages(ctx)
assert.EqualValues(t, http.StatusOK, ctx.Resp.Status())
- assertPagesMetas(t, []string{"Home", "Long Page", "Page With Image", "Page With Spaced Name", "Unescaped File"}, ctx.Data["Pages"])
+ assertPagesMetas(t, []string{"Home", "Long Page", "Page With Image", "Page With Spaced Name", "Unescaped File", "XSS"}, ctx.Data["Pages"])
}
func TestNewWiki(t *testing.T) {
diff --git a/routers/web/shared/actions/runners.go b/routers/web/shared/actions/runners.go
index f38933226b..739d2d246c 100644
--- a/routers/web/shared/actions/runners.go
+++ b/routers/web/shared/actions/runners.go
@@ -142,10 +142,21 @@ func RunnerResetRegistrationToken(ctx *context.Context, ownerID, repoID int64, r
}
// RunnerDeletePost response for deleting a runner
-func RunnerDeletePost(ctx *context.Context, runnerID int64,
+func RunnerDeletePost(ctx *context.Context, runnerID, ownerID, repoID int64,
successRedirectTo, failedRedirectTo string,
) {
- if err := actions_model.DeleteRunner(ctx, runnerID); err != nil {
+ runner, err := actions_model.GetRunnerByID(ctx, runnerID)
+ if err != nil {
+ ctx.ServerError("GetRunnerByID", err)
+ return
+ }
+
+ if !runner.Editable(ownerID, repoID) {
+ ctx.NotFound("Editable", util.NewPermissionDeniedErrorf("no permission to edit this runner"))
+ return
+ }
+
+ if err := actions_model.DeleteRunner(ctx, runner); err != nil {
log.Warn("DeleteRunnerPost.UpdateRunner failed: %v, url: %s", err, ctx.Req.URL)
ctx.Flash.Warning(ctx.Tr("actions.runners.delete_runner_failed"))
diff --git a/routers/web/shared/actions/variables.go b/routers/web/shared/actions/variables.go
index 79c03e4e8c..47f1176f46 100644
--- a/routers/web/shared/actions/variables.go
+++ b/routers/web/shared/actions/variables.go
@@ -39,25 +39,33 @@ func CreateVariable(ctx *context.Context, ownerID, repoID int64, redirectURL str
ctx.JSONRedirect(redirectURL)
}
-func UpdateVariable(ctx *context.Context, redirectURL string) {
+func UpdateVariable(ctx *context.Context, ownerID, repoID int64, redirectURL string) {
id := ctx.ParamsInt64(":variable_id")
form := web.GetForm(ctx).(*forms.EditVariableForm)
- if ok, err := actions_service.UpdateVariable(ctx, id, form.Name, form.Data); err != nil || !ok {
- log.Error("UpdateVariable: %v", err)
- ctx.JSONError(ctx.Tr("actions.variables.update.failed"))
+ if ok, err := actions_service.UpdateVariable(ctx, id, ownerID, repoID, form.Name, form.Data); err != nil || !ok {
+ if !ok {
+ ctx.JSONError(ctx.Tr("actions.variables.not_found"))
+ } else {
+ log.Error("UpdateVariable: %v", err)
+ ctx.JSONError(ctx.Tr("actions.variables.update.failed"))
+ }
return
}
ctx.Flash.Success(ctx.Tr("actions.variables.update.success"))
ctx.JSONRedirect(redirectURL)
}
-func DeleteVariable(ctx *context.Context, redirectURL string) {
+func DeleteVariable(ctx *context.Context, ownerID, repoID int64, redirectURL string) {
id := ctx.ParamsInt64(":variable_id")
- if err := actions_service.DeleteVariableByID(ctx, id); err != nil {
- log.Error("Delete variable [%d] failed: %v", id, err)
- ctx.JSONError(ctx.Tr("actions.variables.deletion.failed"))
+ if ok, err := actions_model.DeleteVariable(ctx, id, ownerID, repoID); err != nil || !ok {
+ if !ok {
+ ctx.JSONError(ctx.Tr("actions.variables.not_found"))
+ } else {
+ log.Error("Delete variable [%d] failed: %v", id, err)
+ ctx.JSONError(ctx.Tr("actions.variables.deletion.failed"))
+ }
return
}
ctx.Flash.Success(ctx.Tr("actions.variables.deletion.success"))
diff --git a/routers/web/web.go b/routers/web/web.go
index 6061863895..db0015fb6a 100644
--- a/routers/web/web.go
+++ b/routers/web/web.go
@@ -356,6 +356,20 @@ func registerRoutes(m *web.Route) {
}
}
+ annexEnabled := func(ctx *context.Context) {
+ if !setting.Annex.Enabled {
+ ctx.Error(http.StatusNotFound)
+ return
+ }
+ }
+
+ annexP2PHTTPEnabled := func(ctx *context.Context) {
+ if setting.Annex.DisableP2PHTTP {
+ ctx.Error(http.StatusNotFound)
+ return
+ }
+ }
+
federationEnabled := func(ctx *context.Context) {
if !setting.Federation.Enabled {
ctx.Error(http.StatusNotFound)
@@ -955,6 +969,9 @@ func registerRoutes(m *web.Route) {
// ***** END: Organization *****
// ***** START: Repository *****
+ m.Group("", func() {
+ m.Methods("GET,POST", "/git-annex-p2phttp/git-annex/{uuid}/*", repo.AnnexP2PHTTP)
+ }, ignSignInAndCsrf, annexEnabled, annexP2PHTTPEnabled)
m.Group("/repo", func() {
m.Get("/create", repo.Create)
m.Post("/create", web.Bind(forms.CreateRepoForm{}), repo.CreatePost)
@@ -1146,9 +1163,10 @@ func registerRoutes(m *web.Route) {
m.Group("/{type:issues|pulls}", func() {
m.Group("/{index}", func() {
m.Get("/info", repo.GetIssueInfo)
- m.Get("/summary-card", repo.GetSummaryCard)
+ m.Get("/summary-card", repo.DrawIssueSummaryCard)
})
})
+ m.Get("/-/summary-card", repo.DrawRepoSummaryCard)
}, ignSignIn, context.RepoAssignment, context.UnitTypes()) // for "/{username}/{reponame}" which doesn't require authentication
// Grouping for those endpoints that do require authentication
@@ -1298,6 +1316,7 @@ func registerRoutes(m *web.Route) {
m.Get("/latest", repo.LatestRelease)
m.Get(".rss", feedEnabled, repo.ReleasesFeedRSS)
m.Get(".atom", feedEnabled, repo.ReleasesFeedAtom)
+ m.Get("/summary-card/*", repo.DrawReleaseSummaryCard)
}, ctxDataSet("EnableFeed", setting.Other.EnableFeed),
repo.MustBeNotEmpty, context.RepoRefByType(context.RepoRefTag, true))
m.Get("/releases/attachments/{uuid}", repo.MustBeNotEmpty, repo.GetAttachment)
@@ -1633,6 +1652,12 @@ func registerRoutes(m *web.Route) {
})
}, ignSignInAndCsrf, lfsServerEnabled)
+ m.Group("", func() {
+ // for git-annex
+ m.Methods("GET,OPTIONS", "/config", repo.GetConfig) // 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)
})
})
diff --git a/services/actions/variables.go b/services/actions/variables.go
index 8dde9c4af5..a5703898ab 100644
--- a/services/actions/variables.go
+++ b/services/actions/variables.go
@@ -31,7 +31,7 @@ func CreateVariable(ctx context.Context, ownerID, repoID int64, name, data strin
return v, nil
}
-func UpdateVariable(ctx context.Context, variableID int64, name, data string) (bool, error) {
+func UpdateVariable(ctx context.Context, variableID, ownerID, repoID int64, name, data string) (bool, error) {
if err := secret_service.ValidateName(name); err != nil {
return false, err
}
@@ -41,16 +41,14 @@ func UpdateVariable(ctx context.Context, variableID int64, name, data string) (b
}
return actions_model.UpdateVariable(ctx, &actions_model.ActionVariable{
- ID: variableID,
- Name: strings.ToUpper(name),
- Data: util.ReserveLineBreakForTextarea(data),
+ ID: variableID,
+ Name: strings.ToUpper(name),
+ Data: util.ReserveLineBreakForTextarea(data),
+ OwnerID: ownerID,
+ RepoID: repoID,
})
}
-func DeleteVariableByID(ctx context.Context, variableID int64) error {
- return actions_model.DeleteVariable(ctx, variableID)
-}
-
func DeleteVariableByName(ctx context.Context, ownerID, repoID int64, name string) error {
if err := secret_service.ValidateName(name); err != nil {
return err
@@ -69,7 +67,8 @@ func DeleteVariableByName(ctx context.Context, ownerID, repoID int64, name strin
return err
}
- return actions_model.DeleteVariable(ctx, v.ID)
+ _, err = actions_model.DeleteVariable(ctx, v.ID, ownerID, repoID)
+ return err
}
func GetVariable(ctx context.Context, opts actions_model.FindVariablesOpts) (*actions_model.ActionVariable, error) {
diff --git a/services/auth/auth.go b/services/auth/auth.go
index c10872313f..ddd31917e2 100644
--- a/services/auth/auth.go
+++ b/services/auth/auth.go
@@ -61,6 +61,17 @@ func isArchivePath(req *http.Request) bool {
return archivePathRe.MatchString(req.URL.Path)
}
+var annexPathRe = regexp.MustCompile(`^(/git-annex-p2phttp/|/[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...
diff --git a/services/auth/basic.go b/services/auth/basic.go
index d489164954..8e8fbfc9c7 100644
--- a/services/auth/basic.go
+++ b/services/auth/basic.go
@@ -43,8 +43,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
}
diff --git a/services/context/repo.go b/services/context/repo.go
index 45a046eff6..462d843bfc 100644
--- a/services/context/repo.go
+++ b/services/context/repo.go
@@ -25,6 +25,7 @@ import (
unit_model "code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/cache"
+ "code.gitea.io/gitea/modules/card"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/gitrepo"
code_indexer "code.gitea.io/gitea/modules/indexer/code"
@@ -632,6 +633,12 @@ func RepoAssignment(ctx *Context) context.CancelFunc {
ctx.Data["IsStaringRepo"] = repo_model.IsStaring(ctx, ctx.Doer.ID, repo.ID)
}
+ cardWidth, cardHeight := card.DefaultSize()
+ ctx.Data["OpenGraphImageURL"] = repo.SummaryCardURL()
+ ctx.Data["OpenGraphImageWidth"] = cardWidth
+ ctx.Data["OpenGraphImageHeight"] = cardHeight
+ ctx.Data["OpenGraphImageAltText"] = ctx.Tr("repo.summary_card_alt", repo.FullName())
+
if repo.IsFork {
RetrieveBaseRepo(ctx, repo)
if ctx.Written() {
diff --git a/services/doctor/breaking.go b/services/doctor/breaking.go
index 683ec97389..ec8433b8de 100644
--- a/services/doctor/breaking.go
+++ b/services/doctor/breaking.go
@@ -10,6 +10,7 @@ import (
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/log"
+ "code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/validation"
"xorm.io/builder"
@@ -30,6 +31,8 @@ func iterateUserAccounts(ctx context.Context, each func(*user.User) error) error
// addresses would be currently facing a error due to their invalid email address.
// Ref: https://github.com/go-gitea/gitea/pull/19085 & https://github.com/go-gitea/gitea/pull/17688
func checkUserEmail(ctx context.Context, logger log.Logger, _ bool) error {
+ setting.LoadServiceSetting()
+
// We could use quirky SQL to get all users that start without a [a-zA-Z0-9], but that would mean
// DB provider-specific SQL and only works _now_. So instead we iterate through all user accounts
// and use the validation.ValidateEmail function to be future-proof.
@@ -61,6 +64,8 @@ func checkUserEmail(ctx context.Context, logger log.Logger, _ bool) error {
// are allowed for various reasons. This check helps with detecting users that, according
// to our reserved names, don't have a valid username.
func checkUserName(ctx context.Context, logger log.Logger, _ bool) error {
+ setting.LoadServiceSetting()
+
var invalidUserCount int64
if err := iterateUserAccounts(ctx, func(u *user.User) error {
if err := user.IsUsableUsername(u.Name); err != nil {
diff --git a/services/doctor/dbconsistency.go b/services/doctor/dbconsistency.go
index 80f538d670..9e2fcb645f 100644
--- a/services/doctor/dbconsistency.go
+++ b/services/doctor/dbconsistency.go
@@ -246,6 +246,9 @@ func checkDBConsistency(ctx context.Context, logger log.Logger, autofix bool) er
// find authorization tokens without existing user
genericOrphanCheck("Authorization token without existing User",
"forgejo_auth_token", "user", "forgejo_auth_token.uid=`user`.id"),
+ // find two_factor without existing user
+ genericOrphanCheck("Orphaned TwoFactor without existing User",
+ "two_factor", "user", "`two_factor`.uid=`user`.id"),
)
for _, c := range consistencyChecks {
diff --git a/services/f3/driver/issue.go b/services/f3/driver/issue.go
index 7f1614deef..371ff9d45a 100644
--- a/services/f3/driver/issue.go
+++ b/services/f3/driver/issue.go
@@ -48,7 +48,7 @@ func (o *issue) ToFormat() f3.Interface {
return o.NewFormat()
}
- var milestone *f3.Reference
+ milestone := &f3.Reference{}
if o.forgejoIssue.Milestone != nil {
milestone = f3_tree.NewIssueMilestoneReference(o.forgejoIssue.Milestone.ID)
}
@@ -82,9 +82,11 @@ func (o *issue) ToFormat() f3.Interface {
func (o *issue) FromFormat(content f3.Interface) {
issue := content.(*f3.Issue)
var milestone *issues_model.Milestone
+ var milestoneID int64
if issue.Milestone != nil {
+ milestoneID = issue.Milestone.GetIDAsInt()
milestone = &issues_model.Milestone{
- ID: issue.Milestone.GetIDAsInt(),
+ ID: milestoneID,
}
}
o.forgejoIssue = &issues_model.Issue{
@@ -95,6 +97,7 @@ func (o *issue) FromFormat(content f3.Interface) {
ID: issue.PosterID.GetIDAsInt(),
},
Content: issue.Content,
+ MilestoneID: milestoneID,
Milestone: milestone,
IsClosed: issue.State == f3.IssueStateClosed,
CreatedUnix: timeutil.TimeStamp(issue.Created.Unix()),
@@ -134,7 +137,7 @@ func (o *issue) Get(ctx context.Context) bool {
panic(fmt.Errorf("issue %v %w", id, err))
}
if err := issue.LoadAttributes(ctx); err != nil {
- panic(err)
+ panic(fmt.Errorf("LoadAttributes %v %w", id, err))
}
o.forgejoIssue = issue
@@ -144,11 +147,67 @@ func (o *issue) Get(ctx context.Context) bool {
func (o *issue) Patch(ctx context.Context) {
node := o.GetNode()
project := f3_tree.GetProjectID(o.GetNode())
- id := node.GetID().Int64()
- o.Trace("repo_id = %d, index = %d", project, id)
- if _, err := db.GetEngine(ctx).Where("`repo_id` = ? AND `index` = ?", project, id).Cols("name", "content", "is_closed").Update(o.forgejoIssue); err != nil {
+ index := node.GetID().Int64()
+ id := getIssueID(ctx, project, index)
+ o.Trace("id = %d, repo_id = %d, index = %d, assignees = %v", id, project, index, o.forgejoIssue.Assignees)
+ if _, err := db.GetEngine(ctx).Where("`id` = ?", id).Cols("name", "content", "is_closed", "milestone_id", "is_locked").Update(o.forgejoIssue); err != nil {
panic(fmt.Errorf("%v %v", o.forgejoIssue, err))
}
+
+ updateIssueAssignees(ctx, id, o.forgejoIssue.Assignees)
+ updateIssueLabels(ctx, id, o.forgejoIssue.Labels)
+}
+
+func getIssueID(ctx context.Context, repoID, index int64) int64 {
+ var id int64
+ if _, err := db.GetEngine(ctx).Select("id").Table("issue").Where("`repo_id` = ? AND `index` = ?", repoID, index).Get(&id); err != nil {
+ panic(fmt.Errorf("%v %v: %w", repoID, index, err))
+ }
+ return id
+}
+
+func updateIssueAssignees(ctx context.Context, issueID int64, assignees []*user_model.User) {
+ sess := db.GetEngine(ctx)
+
+ if _, err := sess.Where("issue_id = ?", issueID).Delete(new(issues_model.IssueAssignees)); err != nil {
+ panic(fmt.Errorf("delete IssueAssignees %v %w", issueID, err))
+ }
+
+ issueAssignees := make([]issues_model.IssueAssignees, 0, len(assignees))
+ for _, assignee := range assignees {
+ issueAssignees = append(issueAssignees, issues_model.IssueAssignees{
+ IssueID: issueID,
+ AssigneeID: assignee.ID,
+ })
+ }
+
+ if len(issueAssignees) > 0 {
+ if _, err := sess.Insert(issueAssignees); err != nil {
+ panic(fmt.Errorf("Insert %v %w", issueID, err))
+ }
+ }
+}
+
+func updateIssueLabels(ctx context.Context, issueID int64, labels []*issues_model.Label) {
+ sess := db.GetEngine(ctx)
+
+ if _, err := sess.Where("issue_id = ?", issueID).Delete(new(issues_model.IssueLabel)); err != nil {
+ panic(fmt.Errorf("delete IssueLabel %v %w", issueID, err))
+ }
+
+ issueLabels := make([]issues_model.IssueLabel, 0, len(labels))
+ for _, label := range labels {
+ issueLabels = append(issueLabels, issues_model.IssueLabel{
+ IssueID: issueID,
+ LabelID: label.ID,
+ })
+ }
+
+ if len(issueLabels) > 0 {
+ if _, err := sess.Insert(issueLabels); err != nil {
+ panic(fmt.Errorf("Insert %v %w", issueID, err))
+ }
+ }
}
func (o *issue) Put(ctx context.Context) generic.NodeID {
@@ -156,17 +215,6 @@ func (o *issue) Put(ctx context.Context) generic.NodeID {
o.Trace("%s", node.GetID())
o.forgejoIssue.RepoID = f3_tree.GetProjectID(o.GetNode())
- makeLabels := func(issueID int64) []issues_model.IssueLabel {
- labels := make([]issues_model.IssueLabel, 0, len(o.forgejoIssue.Labels))
- for _, label := range o.forgejoIssue.Labels {
- o.Trace("%d with label %d", issueID, label.ID)
- labels = append(labels, issues_model.IssueLabel{
- IssueID: issueID,
- LabelID: label.ID,
- })
- }
- return labels
- }
idx, err := db.GetNextResourceIndex(ctx, "issue_index", o.forgejoIssue.RepoID)
if err != nil {
@@ -180,31 +228,8 @@ func (o *issue) Put(ctx context.Context) generic.NodeID {
panic(err)
}
- labels := makeLabels(o.forgejoIssue.ID)
- if len(labels) > 0 {
- if _, err := sess.Insert(labels); err != nil {
- panic(err)
- }
- }
-
- makeAssignees := func(issueID int64) []issues_model.IssueAssignees {
- assignees := make([]issues_model.IssueAssignees, 0, len(o.forgejoIssue.Assignees))
- for _, assignee := range o.forgejoIssue.Assignees {
- o.Trace("%d with assignee %d", issueID, assignee.ID)
- assignees = append(assignees, issues_model.IssueAssignees{
- IssueID: issueID,
- AssigneeID: assignee.ID,
- })
- }
- return assignees
- }
-
- assignees := makeAssignees(o.forgejoIssue.ID)
- if len(assignees) > 0 {
- if _, err := sess.Insert(assignees); err != nil {
- panic(err)
- }
- }
+ updateIssueAssignees(ctx, o.forgejoIssue.ID, o.forgejoIssue.Assignees)
+ updateIssueLabels(ctx, o.forgejoIssue.ID, o.forgejoIssue.Labels)
o.Trace("issue created %d/%d", o.forgejoIssue.ID, o.forgejoIssue.Index)
return generic.NewNodeID(o.forgejoIssue.Index)
diff --git a/services/f3/driver/label.go b/services/f3/driver/label.go
index 6d1fcaad1a..aef0d0256d 100644
--- a/services/f3/driver/label.go
+++ b/services/f3/driver/label.go
@@ -7,6 +7,7 @@ package driver
import (
"context"
"fmt"
+ "strings"
"code.gitea.io/gitea/models/db"
issues_model "code.gitea.io/gitea/models/issues"
@@ -45,7 +46,7 @@ func (o *label) ToFormat() f3.Interface {
return &f3.Label{
Common: f3.NewCommon(fmt.Sprintf("%d", o.forgejoLabel.ID)),
Name: o.forgejoLabel.Name,
- Color: o.forgejoLabel.Color,
+ Color: strings.TrimPrefix(o.forgejoLabel.Color, "#"),
Description: o.forgejoLabel.Description,
}
}
@@ -56,7 +57,7 @@ func (o *label) FromFormat(content f3.Interface) {
ID: f3_util.ParseInt(label.GetID()),
Name: label.Name,
Description: label.Description,
- Color: label.Color,
+ Color: "#" + label.Color,
}
}
diff --git a/services/f3/driver/milestone.go b/services/f3/driver/milestone.go
index 222407fc30..f133d37f7a 100644
--- a/services/f3/driver/milestone.go
+++ b/services/f3/driver/milestone.go
@@ -117,7 +117,7 @@ func (o *milestone) Get(ctx context.Context) bool {
func (o *milestone) Patch(ctx context.Context) {
o.Trace("%d", o.forgejoMilestone.ID)
- if _, err := db.GetEngine(ctx).ID(o.forgejoMilestone.ID).Cols("name", "description").Update(o.forgejoMilestone); err != nil {
+ if _, err := db.GetEngine(ctx).ID(o.forgejoMilestone.ID).Cols("name", "description", "is_closed", "deadline_unix").Update(o.forgejoMilestone); err != nil {
panic(fmt.Errorf("UpdateMilestoneCols: %v %v", o.forgejoMilestone, err))
}
}
diff --git a/services/issue/milestone.go b/services/issue/milestone.go
index 31490c7b03..407ad0a59b 100644
--- a/services/issue/milestone.go
+++ b/services/issue/milestone.go
@@ -85,6 +85,10 @@ func changeMilestoneAssign(ctx context.Context, doer *user_model.User, issue *is
}
}
+ if issue.MilestoneID == 0 {
+ issue.Milestone = nil
+ }
+
return nil
}
diff --git a/services/issue/milestone_test.go b/services/issue/milestone_test.go
index 1c06572f8e..e75f64550c 100644
--- a/services/issue/milestone_test.go
+++ b/services/issue/milestone_test.go
@@ -24,6 +24,7 @@ func TestChangeMilestoneAssign(t *testing.T) {
oldMilestoneID := issue.MilestoneID
issue.MilestoneID = 2
+ require.NoError(t, issue.LoadMilestone(db.DefaultContext))
require.NoError(t, ChangeMilestoneAssign(db.DefaultContext, issue, doer, oldMilestoneID))
unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{
IssueID: issue.ID,
@@ -32,4 +33,11 @@ func TestChangeMilestoneAssign(t *testing.T) {
OldMilestoneID: oldMilestoneID,
})
unittest.CheckConsistencyFor(t, &issues_model.Milestone{}, &issues_model.Issue{})
+ assert.NotNil(t, issue.Milestone)
+
+ oldMilestoneID = issue.MilestoneID
+ issue.MilestoneID = 0
+ require.NoError(t, ChangeMilestoneAssign(db.DefaultContext, issue, doer, oldMilestoneID))
+ assert.EqualValues(t, 0, issue.MilestoneID)
+ assert.Nil(t, issue.Milestone)
}
diff --git a/services/repository/files/temp_repo.go b/services/repository/files/temp_repo.go
index 6e7570b82c..566ae5ff8f 100644
--- a/services/repository/files/temp_repo.go
+++ b/services/repository/files/temp_repo.go
@@ -202,6 +202,26 @@ func (t *TemporaryUploadRepository) AddObjectToIndex(mode, objectHash, objectPat
return nil
}
+// InitPrivateAnnex initializes a private annex in the repository
+func (t *TemporaryUploadRepository) InitPrivateAnnex() error {
+ if _, _, err := git.NewCommand(t.ctx, "config", "annex.private", "true").RunStdString(&git.RunOpts{Dir: t.basePath}); err != nil {
+ return err
+ }
+ if _, _, err := git.NewCommand(t.ctx, "annex", "init").RunStdString(&git.RunOpts{Dir: t.basePath}); err != nil {
+ return err
+ }
+ return nil
+}
+
+// AddAnnex adds the file at path to the repository using git annex add
+// This requires a non-bare repository
+func (t *TemporaryUploadRepository) AddAnnex(path string) error {
+ if _, _, err := git.NewCommand(t.ctx, "annex", "add").AddDynamicArguments(path).RunStdString(&git.RunOpts{Dir: t.basePath}); err != nil {
+ return err
+ }
+ return nil
+}
+
// WriteTree writes the current index as a tree to the object db and returns its hash
func (t *TemporaryUploadRepository) WriteTree() (string, error) {
stdout, _, err := git.NewCommand(t.ctx, "write-tree").RunStdString(&git.RunOpts{Dir: t.basePath})
diff --git a/services/repository/files/upload.go b/services/repository/files/upload.go
index 1330116889..21cd5a8344 100644
--- a/services/repository/files/upload.go
+++ b/services/repository/files/upload.go
@@ -6,13 +6,16 @@ package files
import (
"context"
"fmt"
+ "io"
"os"
"path"
+ "path/filepath"
"strings"
git_model "code.gitea.io/gitea/models/git"
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
+ "code.gitea.io/gitea/modules/annex"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/lfs"
"code.gitea.io/gitea/modules/setting"
@@ -89,7 +92,7 @@ func UploadRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *use
defer t.Close()
hasOldBranch := true
- if err = t.Clone(opts.OldBranch, true); err != nil {
+ if err = t.Clone(opts.OldBranch, false); err != nil {
if !git.IsErrBranchNotExist(err) || !repo.IsEmpty {
return err
}
@@ -105,10 +108,30 @@ func UploadRepoFiles(ctx context.Context, repo *repo_model.Repository, doer *use
}
}
- // Copy uploaded files into repository.
- if err := copyUploadedLFSFilesIntoRepository(infos, t, opts.TreePath); err != nil {
+ r, err := git.OpenRepository(ctx, repo.RepoPath())
+ if err != nil {
return err
}
+ if annex.IsAnnexRepo(r) {
+ // Initialize annex privately in temporary clone
+ if err := t.InitPrivateAnnex(); err != nil {
+ return err
+ }
+ // Copy uploaded files into git-annex repository
+ if err := copyUploadedFilesIntoAnnexRepository(infos, t, opts.TreePath); err != nil {
+ return err
+ }
+ // Move all annexed content in the temporary repository, i.e. everything we have just added, to the origin
+ author, committer := GetAuthorAndCommitterUsers(opts.Author, opts.Committer, doer)
+ if err := moveAnnexedFilesToOrigin(t, author, committer); err != nil {
+ return err
+ }
+ } else {
+ // Copy uploaded files into repository.
+ if err := copyUploadedLFSFilesIntoRepository(infos, t, opts.TreePath); err != nil {
+ return err
+ }
+ }
// Now write the tree
treeHash, err := t.WriteTree()
@@ -246,3 +269,57 @@ func uploadToLFSContentStore(info uploadInfo, contentStore *lfs.ContentStore) er
}
return nil
}
+
+func copyUploadedFilesIntoAnnexRepository(infos []uploadInfo, t *TemporaryUploadRepository, treePath string) error {
+ for i := range len(infos) {
+ if err := copyUploadedFileIntoAnnexRepository(&infos[i], t, treePath); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func copyUploadedFileIntoAnnexRepository(info *uploadInfo, t *TemporaryUploadRepository, treePath string) error {
+ pathInRepo := path.Join(t.basePath, treePath, info.upload.Name)
+ if err := os.MkdirAll(filepath.Dir(pathInRepo), 0o700); err != nil {
+ return err
+ }
+ if err := os.Rename(info.upload.LocalPath(), pathInRepo); err != nil {
+ // Rename didn't work, try copy and remove
+ inputFile, err := os.Open(info.upload.LocalPath())
+ if err != nil {
+ return fmt.Errorf("could not open source file: %v", err)
+ }
+ defer inputFile.Close()
+ outputFile, err := os.Create(pathInRepo)
+ if err != nil {
+ return fmt.Errorf("could not open dest file: %v", err)
+ }
+ defer outputFile.Close()
+ _, err = io.Copy(outputFile, inputFile)
+ if err != nil {
+ return fmt.Errorf("could not copy to dest from source: %v", err)
+ }
+ inputFile.Close()
+ err = os.Remove(info.upload.LocalPath())
+ if err != nil {
+ return fmt.Errorf("could not remove source file: %v", err)
+ }
+ }
+ return t.AddAnnex(pathInRepo)
+}
+
+func moveAnnexedFilesToOrigin(t *TemporaryUploadRepository, author, committer *user_model.User) error {
+ authorSig := author.NewGitSig()
+ committerSig := committer.NewGitSig()
+ env := append(os.Environ(),
+ "GIT_AUTHOR_NAME="+authorSig.Name,
+ "GIT_AUTHOR_EMAIL="+authorSig.Email,
+ "GIT_COMMITTER_NAME="+committerSig.Name,
+ "GIT_COMMITTER_EMAIL="+committerSig.Email,
+ )
+ if _, _, err := git.NewCommand(t.ctx, "annex", "move", "--to", "origin").RunStdString(&git.RunOpts{Dir: t.basePath, Env: env}); err != nil {
+ return err
+ }
+ return nil
+}
diff --git a/templates/base/footer_content.tmpl b/templates/base/footer_content.tmpl
index 5db7464480..133ebac33a 100644
--- a/templates/base/footer_content.tmpl
+++ b/templates/base/footer_content.tmpl
@@ -8,7 +8,7 @@
{{if .IsAdmin}}
{{AppVer}}
{{else}}
- {{AppVer}}
+ {{AppVerNoMetadata}}
{{end}}
{{end}}
{{if and .TemplateLoadTimes ShowFooterTemplateLoadTime}}
diff --git a/templates/base/head_opengraph.tmpl b/templates/base/head_opengraph.tmpl
index be9829bf97..692f1797b6 100644
--- a/templates/base/head_opengraph.tmpl
+++ b/templates/base/head_opengraph.tmpl
@@ -1,4 +1,25 @@
{{- /* og:description - a one to two sentence description of your object, maybe it only needs at most 300 bytes */ -}}
+{{if .OpenGraphTitle}}
+
+{{end}}
+{{if .OpenGraphDescription}}
+
+{{end}}
+{{if .OpenGraphURL}}
+
+{{end}}
+{{if .OpenGraphImageURL}}
+
+ {{if .OpenGraphImageWidth}}
+
+ {{end}}
+ {{if .OpenGraphImageHeight}}
+
+ {{end}}
+ {{if .OpenGraphImageAltText}}
+
+ {{end}}
+{{end}}
{{if .PageIsUserProfile}}
@@ -14,10 +35,6 @@
{{if .Issue.Content}}
{{end}}
-
-
-
-
{{else if or .PageIsDiff .IsViewFile}}
@@ -35,14 +52,18 @@
{{end}}
{{else}}
-
-
- {{if .Repository.Description}}
+ {{if not .OpenGraphTitle}}
+
+ {{end}}
+ {{if not .OpenGraphURL}}
+
+ {{end}}
+ {{if and (.Repository.Description) (not .OpenGraphDescription)}}
{{end}}
{{end}}
- {{if not .Issue}}
+ {{if and (not .Issue) (not .OpenGraphImageURL)}}
{{if (.Repository.AvatarLink ctx)}}
{{else}}
diff --git a/templates/projects/list.tmpl b/templates/projects/list.tmpl
index b892cff996..6139bd4a3f 100644
--- a/templates/projects/list.tmpl
+++ b/templates/projects/list.tmpl
@@ -49,11 +49,11 @@
{{svg "octicon-issue-opened" 14}}
- {{ctx.Locale.PrettyNumber (.NumOpenIssues ctx)}} {{ctx.Locale.Tr "repo.issues.open_title"}}
+ {{ctx.Locale.PrettyNumber (index $.NumOpenIssuesInProject .ID)}} {{ctx.Locale.Tr "repo.issues.open_title"}}
{{svg "octicon-check" 14}}
- {{ctx.Locale.PrettyNumber (.NumClosedIssues ctx)}} {{ctx.Locale.Tr "repo.issues.closed_title"}}
+ {{ctx.Locale.PrettyNumber (index $.NumClosedIssuesInProject .ID)}} {{ctx.Locale.Tr "repo.issues.closed_title"}}
{{if and $.CanWriteProjects (not $.Repository.IsArchived)}}
diff --git a/templates/projects/view.tmpl b/templates/projects/view.tmpl
index 08b08b95e5..0e2fc87958 100644
--- a/templates/projects/view.tmpl
+++ b/templates/projects/view.tmpl
@@ -70,7 +70,7 @@
- {{.NumIssues ctx}}
+ {{len (index $.IssuesMap .ID)}}
{{.Title}}
diff --git a/templates/repo/commit_page.tmpl b/templates/repo/commit_page.tmpl
index c7361663b2..7bc6dd1c97 100644
--- a/templates/repo/commit_page.tmpl
+++ b/templates/repo/commit_page.tmpl
@@ -128,9 +128,11 @@
-
- {{ctx.Locale.Tr "repo.diff.git-notes.add"}}
-
+ {{if not .NoteRendered}}
+
+ {{ctx.Locale.Tr "repo.diff.git-notes.add"}}
+
+ {{end}}
{{end}}
@@ -215,8 +217,8 @@
{{if .Verification.Verified}}
+ {{svg "octicon-verified" 16 "tw-mr-2"}}
{{if ne .Verification.SigningUser.ID 0}}
- {{svg "octicon-verified" 16 "tw-mr-2"}}
{{if .Verification.SigningSSHKey}}
{{ctx.Locale.Tr "repo.commits.ssh_key_fingerprint"}}:
{{.Verification.SigningSSHKey.Fingerprint}}
@@ -225,7 +227,6 @@
{{.Verification.SigningKey.PaddedKeyID}}
{{end}}
{{else}}
- {{svg "octicon-unverified" 16 "tw-mr-2"}}
{{if .Verification.SigningSSHKey}}
{{ctx.Locale.Tr "repo.commits.ssh_key_fingerprint"}}:
{{.Verification.SigningSSHKey.Fingerprint}}
@@ -263,7 +264,7 @@
{{end}}
{{if .NoteRendered}}
-
diff --git a/templates/repo/diff/compare.tmpl b/templates/repo/diff/compare.tmpl
index 612d08ec4f..024577afcc 100644
--- a/templates/repo/diff/compare.tmpl
+++ b/templates/repo/diff/compare.tmpl
@@ -215,6 +215,10 @@
{{ctx.Locale.Tr "repo.archive.title_date" (DateUtils.AbsoluteLong .Repository.ArchivedUnix)}}
{{end}}
+ {{else}}
+
+ {{ctx.Locale.Tr "repo.pulls.sign_in_require" .SignInLink}}
+
{{end}}
{{if $.IsSigned}}
diff --git a/templates/repo/editor/commit_form.tmpl b/templates/repo/editor/commit_form.tmpl
index fc04289b70..c42eed69a5 100644
--- a/templates/repo/editor/commit_form.tmpl
+++ b/templates/repo/editor/commit_form.tmpl
@@ -67,7 +67,7 @@
{{end}}
-
Commit email
+
{{ctx.Locale.Tr "repo.editor.commit_email"}}
{{range .CommitMails}}
{{.Email}}
diff --git a/templates/repo/file_info.tmpl b/templates/repo/file_info.tmpl
index 6ae7c15a26..8655404394 100644
--- a/templates/repo/file_info.tmpl
+++ b/templates/repo/file_info.tmpl
@@ -17,6 +17,7 @@
{{if .FileSize}}
{{ctx.Locale.TrSize .FileSize}}{{if .IsLFSFile}} ({{ctx.Locale.Tr "repo.stored_lfs"}}){{end}}
+ {{if .IsAnnexFile}} ({{ctx.Locale.Tr "repo.stored_annex"}}{{if not .IsAnnexFilePresent}} - {{ctx.Locale.Tr "repo.stored_annex_not_present"}}{{end}}){{end}}
{{end}}
{{if .LFSLock}}
diff --git a/templates/repo/issue/view_content.tmpl b/templates/repo/issue/view_content.tmpl
index f074a854b5..8eac2d78cf 100644
--- a/templates/repo/issue/view_content.tmpl
+++ b/templates/repo/issue/view_content.tmpl
@@ -163,8 +163,8 @@
- {{ctx.Locale.Tr "repo.issues.cancel"}}
- {{ctx.Locale.Tr "repo.issues.save"}}
+ {{ctx.Locale.Tr "repo.issues.cancel"}}
+ {{ctx.Locale.Tr "repo.issues.save"}}
diff --git a/templates/repo/issue/view_content/add_reaction.tmpl b/templates/repo/issue/view_content/add_reaction.tmpl
index 37931f287e..5d4aa2298e 100644
--- a/templates/repo/issue/view_content/add_reaction.tmpl
+++ b/templates/repo/issue/view_content/add_reaction.tmpl
@@ -1,5 +1,5 @@
{{if .ctxData.IsSigned}}
-
+
{{svg "octicon-smiley"}}
diff --git a/templates/repo/issue/view_content/context_menu.tmpl b/templates/repo/issue/view_content/context_menu.tmpl
index f020a9ea4b..5fc5af400f 100644
--- a/templates/repo/issue/view_content/context_menu.tmpl
+++ b/templates/repo/issue/view_content/context_menu.tmpl
@@ -1,4 +1,4 @@
-
+
diff --git a/templates/repo/issue/view_content/reactions.tmpl b/templates/repo/issue/view_content/reactions.tmpl
index da6319667b..e5cb9a8ed3 100644
--- a/templates/repo/issue/view_content/reactions.tmpl
+++ b/templates/repo/issue/view_content/reactions.tmpl
@@ -2,9 +2,18 @@
{{range $key, $value := .Reactions}}
{{$hasReacted := $value.HasUser $.ctxData.SignedUserID}}
- {{ctx.Locale.Tr "settings.blocked_since" (DateTime "short" .CreatedUnix)}}
+ {{ctx.Locale.Tr "settings.blocked_since" (DateUtils.AbsoluteShort .CreatedUnix)}}
diff --git a/templates/shared/combomarkdowneditor.tmpl b/templates/shared/combomarkdowneditor.tmpl
index 9fcab8a9ae..0620cca65f 100644
--- a/templates/shared/combomarkdowneditor.tmpl
+++ b/templates/shared/combomarkdowneditor.tmpl
@@ -37,14 +37,14 @@ Template Attributes:
{{svg "octicon-tasklist"}}
{{svg "octicon-arrow-left"}}
{{svg "octicon-arrow-right"}}
- {{svg "octicon-table"}}
+ {{svg "octicon-table"}}
{{svg "octicon-mention"}}
{{svg "octicon-cross-reference"}}
diff --git a/templates/shared/search/combo_multi.tmpl b/templates/shared/search/combo_multi.tmpl
index 89dc20b530..07d0ea8839 100644
--- a/templates/shared/search/combo_multi.tmpl
+++ b/templates/shared/search/combo_multi.tmpl
@@ -7,6 +7,7 @@
{{template "base/footer" .}}
diff --git a/templates/user/auth/oauth_container.tmpl b/templates/user/auth/oauth_container.tmpl
index ecae2bbbf3..c20273be14 100644
--- a/templates/user/auth/oauth_container.tmpl
+++ b/templates/user/auth/oauth_container.tmpl
@@ -1,8 +1,8 @@
{{if or .OAuth2Providers .EnableOpenIDSignIn}}
-{{if .EnableInternalSignIn}}
-
- {{ctx.Locale.Tr "sign_in_or"}}
-
+{{if or (and .PageIsSignUp (not .DisableRegistration)) (and .PageIsSignIn .EnableInternalSignIn)}}
+
+ {{ctx.Locale.Tr "sign_in_or"}}
+
{{end}}
diff --git a/templates/user/dashboard/feeds.tmpl b/templates/user/dashboard/feeds.tmpl
index bd2a3800a2..85ae7266d9 100644
--- a/templates/user/dashboard/feeds.tmpl
+++ b/templates/user/dashboard/feeds.tmpl
@@ -103,11 +103,11 @@
{{ctx.Locale.Tr "action.compare_commits" $push.Len}} »
{{end}}
{{else if .GetOpType.InActions "create_issue"}}
-
{{index .GetIssueInfos 1 | RenderEmoji $.Context | RenderCodeBlock}}
+
{{RenderIssueTitle ctx (index .GetIssueInfos 1) (.Repo.ComposeMetas ctx)}}
{{else if .GetOpType.InActions "create_pull_request"}}
-
{{index .GetIssueInfos 1 | RenderEmoji $.Context | RenderCodeBlock}}
+
{{RenderIssueTitle ctx (index .GetIssueInfos 1) (.Repo.ComposeMetas ctx)}}
{{else if .GetOpType.InActions "comment_issue" "approve_pull_request" "reject_pull_request" "comment_pull"}}
-
{{(.GetIssueTitle ctx) | RenderEmoji $.Context | RenderCodeBlock}}
+
{{RenderIssueTitle ctx (.GetIssueTitle ctx) (.Repo.ComposeMetas ctx)}}
{{$comment := index .GetIssueInfos 1}}
{{if $comment}}
{{RenderMarkdownToHtml ctx $comment}}
@@ -115,7 +115,7 @@
{{else if .GetOpType.InActions "merge_pull_request"}}
{{index .GetIssueInfos 1}}
{{else if .GetOpType.InActions "close_issue" "reopen_issue" "close_pull_request" "reopen_pull_request"}}
-
{{(.GetIssueTitle ctx) | RenderEmoji $.Context | RenderCodeBlock}}
+
{{RenderIssueTitle ctx (.GetIssueTitle ctx) (.Repo.ComposeMetas ctx)}}
{{else if .GetOpType.InActions "pull_review_dismissed"}}
{{ctx.Locale.Tr "action.review_dismissed_reason"}}
{{index .GetIssueInfos 2 | RenderEmoji $.Context}}
diff --git a/templates/user/settings/account.tmpl b/templates/user/settings/account.tmpl
index a97136f407..55431392c7 100644
--- a/templates/user/settings/account.tmpl
+++ b/templates/user/settings/account.tmpl
@@ -40,9 +40,9 @@
+
{{ctx.Locale.Tr "settings.email_desc"}}
{{if $.EnableNotifyMail}}
-
{{ctx.Locale.Tr "settings.email_desc"}}