mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-07-01 14:40:21 +00:00
Compare commits
53 commits
v13.0.0-de
...
forgejo
Author | SHA1 | Date | |
---|---|---|---|
|
7a8ff20bf3 | ||
|
8f28942233 | ||
|
2b5123a90f | ||
|
0730e5481f | ||
|
2f0a993a33 | ||
|
0ecb25fdcb | ||
|
6e58d285c7 | ||
|
6e66380408 | ||
|
06bff3bb7e | ||
|
a943271205 | ||
|
4927d4ee3d | ||
|
c57dea336c | ||
|
31fc02332a | ||
|
878ce241a4 | ||
|
447c5789bd | ||
|
920f6d24d2 | ||
|
2160741221 | ||
|
3feceb10c7 | ||
|
7a881e2f26 | ||
|
ad1adabcbb | ||
|
33217a3633 | ||
|
84ed8aa740 | ||
|
ba37b69252 | ||
|
b6c6981c30 | ||
|
14309837d4 | ||
|
b5e608f3e2 | ||
|
66e0988a43 | ||
|
b8e66a5552 | ||
|
a300c0b9fd | ||
|
d6e4342353 | ||
|
225a0f7026 | ||
|
6b27fa66b9 | ||
|
69d374435b | ||
|
c085d6c9ac | ||
|
3fb6e17105 | ||
|
aee161ff25 | ||
|
a2e7446fe7 | ||
|
7ad20a2730 | ||
|
184e068f37 | ||
|
414199fc66 | ||
|
aee5e1fb94 | ||
|
d3c712fe2a | ||
|
4a1f4acf76 | ||
|
30bfa13308 | ||
|
507a12bf82 | ||
|
69bd7a1f1b | ||
|
7ab27a7a7f | ||
|
2bca029f6f | ||
|
8844b6b8e5 | ||
|
6ed62c14d3 | ||
|
744363597d | ||
|
7a6b5b6dd9 | ||
|
43fb63a063 |
199 changed files with 3142 additions and 1956 deletions
|
@ -27,6 +27,7 @@ forgejo.org/models/db
|
|||
TruncateBeans
|
||||
InTransaction
|
||||
DumpTables
|
||||
GetTableNames
|
||||
|
||||
forgejo.org/models/dbfs
|
||||
file.renameTo
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"ghcr.io/devcontainers/features/node:1": {
|
||||
"version": "22"
|
||||
},
|
||||
"ghcr.io/devcontainers/features/git-lfs:1.2.4": {},
|
||||
"ghcr.io/devcontainers/features/git-lfs:1.2.5": {},
|
||||
"ghcr.io/warrenbuckley/codespace-features/sqlite:1": {}
|
||||
},
|
||||
"customizations": {
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
#
|
||||
# Install the minimal version of Git supported by Forgejo
|
||||
#
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: install git and git-lfs
|
||||
run: |
|
||||
set -x
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
apt-get update -qq
|
||||
apt-get -q install -y -qq curl ca-certificates
|
||||
|
||||
curl -sS -o /tmp/git-man.deb http://archive.ubuntu.com/ubuntu/pool/main/g/git/git-man_2.34.1-1ubuntu1_all.deb
|
||||
curl -sS -o /tmp/git.deb https://archive.ubuntu.com/ubuntu/pool/main/g/git/git_2.34.1-1ubuntu1_amd64.deb
|
||||
curl -sS -o /tmp/git-lfs.deb https://archive.ubuntu.com/ubuntu/pool/universe/g/git-lfs/git-lfs_3.0.2-1_amd64.deb
|
||||
|
||||
apt-get -q install --allow-downgrades -y -qq /tmp/git-man.deb
|
||||
apt-get -q install --allow-downgrades -y -qq /tmp/git.deb
|
||||
apt-get -q install --allow-downgrades -y -qq /tmp/git-lfs.deb
|
|
@ -28,7 +28,7 @@ jobs:
|
|||
|
||||
runs-on: docker
|
||||
container:
|
||||
image: data.forgejo.org/renovate/renovate:41.1.4
|
||||
image: data.forgejo.org/renovate/renovate:41.17.2
|
||||
|
||||
steps:
|
||||
- name: Load renovate repo cache
|
||||
|
|
|
@ -33,11 +33,8 @@ jobs:
|
|||
steps:
|
||||
- uses: https://data.forgejo.org/actions/checkout@v4
|
||||
- uses: ./.forgejo/workflows-composite/setup-env
|
||||
- name: install git 2.30
|
||||
uses: ./.forgejo/workflows-composite/apt-install-from
|
||||
with:
|
||||
packages: git/bullseye git-lfs/bullseye
|
||||
release: bullseye
|
||||
- name: install git 2.34.1 and git-lfs 3.0.2
|
||||
uses: ./.forgejo/workflows-composite/install-minimum-git-version
|
||||
- uses: ./.forgejo/workflows-composite/build-backend
|
||||
- run: |
|
||||
su forgejo -c 'make test-backend test-check'
|
||||
|
@ -55,11 +52,8 @@ jobs:
|
|||
steps:
|
||||
- uses: https://data.forgejo.org/actions/checkout@v4
|
||||
- uses: ./.forgejo/workflows-composite/setup-env
|
||||
- name: install git 2.30
|
||||
uses: ./.forgejo/workflows-composite/apt-install-from
|
||||
with:
|
||||
packages: git/bullseye git-lfs/bullseye
|
||||
release: bullseye
|
||||
- name: install git 2.34.1 and git-lfs 3.0.2
|
||||
uses: ./.forgejo/workflows-composite/install-minimum-git-version
|
||||
- uses: ./.forgejo/workflows-composite/build-backend
|
||||
- run: |
|
||||
su forgejo -c 'make test-sqlite-migration test-sqlite'
|
||||
|
|
2
Makefile
2
Makefile
|
@ -47,7 +47,7 @@ GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 # renovate: datasour
|
|||
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1 # renovate: datasource=go
|
||||
DEADCODE_PACKAGE ?= golang.org/x/tools/cmd/deadcode@v0.34.0 # renovate: datasource=go
|
||||
GOMOCK_PACKAGE ?= go.uber.org/mock/mockgen@v0.5.2 # renovate: datasource=go
|
||||
RENOVATE_NPM_PACKAGE ?= renovate@41.1.4 # renovate: datasource=docker packageName=data.forgejo.org/renovate/renovate
|
||||
RENOVATE_NPM_PACKAGE ?= renovate@41.17.2 # renovate: datasource=docker packageName=data.forgejo.org/renovate/renovate
|
||||
|
||||
# https://github.com/disposable-email-domains/disposable-email-domains/commits/main/
|
||||
DISPOSABLE_EMAILS_SHA ?= 0c27e671231d27cf66370034d7f6818037416989 # renovate: ...
|
||||
|
|
14
assets/go-licenses.json
generated
14
assets/go-licenses.json
generated
|
@ -595,8 +595,8 @@
|
|||
"licenseText": "The MIT License (MIT)\n\nCopyright (c) 2015 Huan Du\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 all\ncopies 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 THE\nSOFTWARE.\n\n"
|
||||
},
|
||||
{
|
||||
"name": "github.com/jaytaylor/html2text",
|
||||
"path": "github.com/jaytaylor/html2text/LICENSE",
|
||||
"name": "github.com/inbucket/html2text",
|
||||
"path": "github.com/inbucket/html2text/LICENSE",
|
||||
"licenseText": "The MIT License (MIT)\n\nCopyright (c) 2015 Jay Taylor\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 all\ncopies 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 THE\nSOFTWARE.\n\n"
|
||||
},
|
||||
{
|
||||
|
@ -779,6 +779,16 @@
|
|||
"path": "github.com/nwaples/rardecode/LICENSE",
|
||||
"licenseText": "Copyright (c) 2015, Nicholas Waples\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\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/olekukonko/errors",
|
||||
"path": "github.com/olekukonko/errors/LICENSE",
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2025 Oleku Konko\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 all\ncopies 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 THE\nSOFTWARE.\n"
|
||||
},
|
||||
{
|
||||
"name": "github.com/olekukonko/ll",
|
||||
"path": "github.com/olekukonko/ll/LICENSE",
|
||||
"licenseText": "MIT License\n\nCopyright (c) 2025 Oleku Konko\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 all\ncopies 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 THE\nSOFTWARE.\n"
|
||||
},
|
||||
{
|
||||
"name": "github.com/olekukonko/tablewriter",
|
||||
"path": "github.com/olekukonko/tablewriter/LICENSE.md",
|
||||
|
|
|
@ -82,6 +82,11 @@ wiki, issues, labels, releases, release_assets, milestones, pull_requests, comme
|
|||
}
|
||||
|
||||
func runDumpRepository(stdCtx context.Context, ctx *cli.Command) error {
|
||||
setupConsoleLogger(log.INFO, log.CanColorStderr, os.Stderr)
|
||||
|
||||
// setting.DisableLoggerInit()
|
||||
setting.LoadSettings() // cannot access skip_tls_verify settings otherwise
|
||||
|
||||
stdCtx, cancel := installSignals(stdCtx)
|
||||
defer cancel()
|
||||
|
||||
|
|
14
cmd/hook.go
14
cmd/hook.go
|
@ -231,8 +231,6 @@ Forgejo or set your environment appropriately.`, "")
|
|||
}
|
||||
}
|
||||
|
||||
supportProcReceive := git.CheckGitVersionAtLeast("2.29") == nil
|
||||
|
||||
for scanner.Scan() {
|
||||
// TODO: support news feeds for wiki
|
||||
if isWiki {
|
||||
|
@ -250,10 +248,7 @@ Forgejo or set your environment appropriately.`, "")
|
|||
total++
|
||||
lastline++
|
||||
|
||||
// If the ref is a branch or tag, check if it's protected
|
||||
// if supportProcReceive all ref should be checked because
|
||||
// permission check was delayed
|
||||
if supportProcReceive || refFullName.IsBranch() || refFullName.IsTag() {
|
||||
// All references should be checked because permission check was delayed.
|
||||
oldCommitIDs[count] = oldCommitID
|
||||
newCommitIDs[count] = newCommitID
|
||||
refFullNames[count] = refFullName
|
||||
|
@ -273,9 +268,6 @@ Forgejo or set your environment appropriately.`, "")
|
|||
count = 0
|
||||
lastline = 0
|
||||
}
|
||||
} else {
|
||||
fmt.Fprint(out, ".")
|
||||
}
|
||||
if lastline >= hookBatchSize {
|
||||
fmt.Fprint(out, "\n")
|
||||
lastline = 0
|
||||
|
@ -513,10 +505,6 @@ Forgejo or set your environment appropriately.`, "")
|
|||
return nil
|
||||
}
|
||||
|
||||
if git.CheckGitVersionAtLeast("2.29") != nil {
|
||||
return fail(ctx, "No proc-receive support", "current git version doesn't support proc-receive.")
|
||||
}
|
||||
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
repoUser := os.Getenv(repo_module.EnvRepoUsername)
|
||||
repoName := os.Getenv(repo_module.EnvRepoName)
|
||||
|
|
|
@ -193,13 +193,11 @@ func runServ(ctx context.Context, c *cli.Command) error {
|
|||
}
|
||||
|
||||
if len(words) < 2 {
|
||||
if git.CheckGitVersionAtLeast("2.29") == nil {
|
||||
// for AGit Flow
|
||||
if cmd == "ssh_info" {
|
||||
fmt.Print(`{"type":"agit","version":1}`)
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return fail(ctx, "Too few arguments", "Too few arguments in cmd: %s", cmd)
|
||||
}
|
||||
|
||||
|
|
16
go.mod
16
go.mod
|
@ -56,15 +56,15 @@ require (
|
|||
github.com/golang-jwt/jwt/v5 v5.2.2
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
|
||||
github.com/google/go-github/v64 v64.0.0
|
||||
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e
|
||||
github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5
|
||||
github.com/google/uuid v1.6.0
|
||||
github.com/gorilla/feeds v1.2.0
|
||||
github.com/gorilla/sessions v1.4.0
|
||||
github.com/hashicorp/go-version v1.7.0
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||
github.com/huandu/xstrings v1.5.0
|
||||
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056
|
||||
github.com/jhillyerd/enmime/v2 v2.1.0
|
||||
github.com/inbucket/html2text v0.9.0
|
||||
github.com/jhillyerd/enmime/v2 v2.2.0
|
||||
github.com/json-iterator/go v1.1.12
|
||||
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
|
||||
github.com/klauspost/compress v1.18.0
|
||||
|
@ -79,7 +79,7 @@ require (
|
|||
github.com/minio/minio-go/v7 v7.0.94
|
||||
github.com/msteinert/pam/v2 v2.1.0
|
||||
github.com/nektos/act v0.2.52
|
||||
github.com/niklasfasching/go-org v1.8.0
|
||||
github.com/niklasfasching/go-org v1.9.0
|
||||
github.com/olivere/elastic/v7 v7.0.32
|
||||
github.com/opencontainers/go-digest v1.0.0
|
||||
github.com/opencontainers/image-spec v1.1.1
|
||||
|
@ -158,7 +158,7 @@ require (
|
|||
github.com/dlclark/regexp2 v1.11.5 // indirect
|
||||
github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43 // indirect
|
||||
github.com/emirpasic/gods v1.18.1 // indirect
|
||||
github.com/fatih/color v1.16.0 // indirect
|
||||
github.com/fatih/color v1.18.0 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.8.0 // indirect
|
||||
github.com/go-ap/errors v0.0.0-20231003111023-183eef4b31b7 // indirect
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect
|
||||
|
@ -192,7 +192,7 @@ require (
|
|||
github.com/libdns/libdns v1.0.0-beta.1 // indirect
|
||||
github.com/mailru/easyjson v0.9.0 // indirect
|
||||
github.com/markbates/going v1.0.3 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-colorable v0.1.14 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.16 // indirect
|
||||
github.com/mholt/acmez/v3 v3.1.2 // indirect
|
||||
github.com/miekg/dns v1.1.63 // indirect
|
||||
|
@ -205,7 +205,9 @@ require (
|
|||
github.com/mschoch/smat v0.2.0 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/nwaples/rardecode v1.1.3 // indirect
|
||||
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||
github.com/olekukonko/errors v1.1.0 // indirect
|
||||
github.com/olekukonko/ll v0.0.9 // indirect
|
||||
github.com/olekukonko/tablewriter v1.0.7 // indirect
|
||||
github.com/onsi/ginkgo v1.16.5 // indirect
|
||||
github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c // indirect
|
||||
github.com/pierrec/lz4/v4 v4.1.21 // indirect
|
||||
|
|
35
go.sum
35
go.sum
|
@ -192,8 +192,8 @@ github.com/emersion/go-sasl v0.0.0-20231106173351-e73c9f7bad43/go.mod h1:iL2twTe
|
|||
github.com/emersion/go-textwrapper v0.0.0-20200911093747-65d896831594/go.mod h1:aqO8z8wPrjkscevZJFVE1wXJrLpC5LtJG7fqLOsPb2U=
|
||||
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
|
||||
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
|
||||
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
|
||||
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
|
||||
github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY=
|
||||
github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM=
|
||||
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
|
||||
|
@ -307,8 +307,8 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/
|
|||
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
|
||||
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/pprof v0.0.0-20240227163752-401108e1b7e7/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
|
||||
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs=
|
||||
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
|
||||
github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5 h1:xhMrHhTJ6zxu3gA4enFM9MLn9AY7613teCdFnlUVbSQ=
|
||||
github.com/google/pprof v0.0.0-20250630185457-6e76a2b096b5/go.mod h1:5hDyRhoBCxViHszMt12TnOpEI4VVi+U8Gm9iphldiMA=
|
||||
github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
|
@ -341,12 +341,12 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO
|
|||
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
|
||||
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
|
||||
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056 h1:iCHtR9CQyktQ5+f3dMVZfwD2KWJUgm7M0gdL9NGr8KA=
|
||||
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056/go.mod h1:CVKlgaMiht+LXvHG173ujK6JUhZXKb2u/BQtjPDIvyk=
|
||||
github.com/inbucket/html2text v0.9.0 h1:ULJmVcBEMAcmLE+/rN815KG1Fx6+a4HhbUxiDiN+qks=
|
||||
github.com/inbucket/html2text v0.9.0/go.mod h1:QDaumzl+/OzlSVbNohhmg+yAy5pKjUjzCKW2BMvztKE=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
|
||||
github.com/jhillyerd/enmime/v2 v2.1.0 h1:c8Qwi5Xq5EdtMN6byQWoZ/8I2RMTo6OJ7Xay+s1oPO0=
|
||||
github.com/jhillyerd/enmime/v2 v2.1.0/go.mod h1:EJ74dcRbBcqHSP2TBu08XRoy6y3Yx0cevwb1YkGMEmQ=
|
||||
github.com/jhillyerd/enmime/v2 v2.2.0 h1:Pe35MB96eZK5Q0XjlvPftOgWypQpd1gcbfJKAt7rsB8=
|
||||
github.com/jhillyerd/enmime/v2 v2.2.0/go.mod h1:SOBXlCemjhiV2DvHhAKnJiWrtJGS/Ffuw4Iy7NjBTaI=
|
||||
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||
|
@ -389,12 +389,10 @@ github.com/markbates/going v1.0.3 h1:mY45T5TvW+Xz5A6jY7lf4+NLg9D8+iuStIHyR7M8qsE
|
|||
github.com/markbates/going v1.0.3/go.mod h1:fQiT6v6yQar9UD6bd/D4Z5Afbk9J6BBVBtLiyY4gp2o=
|
||||
github.com/markbates/goth v1.80.0 h1:NnvatczZDzOs1hn9Ug+dVYf2Viwwkp/ZDX5K+GLjan8=
|
||||
github.com/markbates/goth v1.80.0/go.mod h1:4/GYHo+W6NWisrMPZnq0Yr2Q70UntNLn7KXEFhrIdAY=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
|
||||
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
|
||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
|
||||
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||
github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A=
|
||||
|
@ -428,16 +426,20 @@ github.com/msteinert/pam/v2 v2.1.0 h1:er5F9TKV5nGFuTt12ubtqPHEUdeBwReP7vd3wovidG
|
|||
github.com/msteinert/pam/v2 v2.1.0/go.mod h1:KT28NNIcDFf3PcBmNI2mIGO4zZJ+9RSs/At2PB3IDVc=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||
github.com/niklasfasching/go-org v1.8.0 h1:WyGLaajLLp8JbQzkmapZ1y0MOzKuKV47HkZRloi+HGY=
|
||||
github.com/niklasfasching/go-org v1.8.0/go.mod h1:e2A9zJs7cdONrEGs3gvxCcaAEpwwPNPG7csDpXckMNg=
|
||||
github.com/niklasfasching/go-org v1.9.0 h1:4/Sr68Qx06hjC9MVDB/4etGP67JionLHGscLMOClpnk=
|
||||
github.com/niklasfasching/go-org v1.9.0/go.mod h1:ZAGFFkWvUQcpazmi/8nHqwvARpr1xpb+Es67oUGX/48=
|
||||
github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
|
||||
github.com/nwaples/rardecode v1.1.3 h1:cWCaZwfM5H7nAD6PyEdcVnczzV8i/JtotnyW/dD9lEc=
|
||||
github.com/nwaples/rardecode v1.1.3/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
|
||||
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
|
||||
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
|
||||
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
|
||||
github.com/olekukonko/errors v1.1.0 h1:RNuGIh15QdDenh+hNvKrJkmxxjV4hcS50Db478Ou5sM=
|
||||
github.com/olekukonko/errors v1.1.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y=
|
||||
github.com/olekukonko/ll v0.0.9 h1:Y+1YqDfVkqMWuEQMclsF9HUR5+a82+dxJuL1HHSRpxI=
|
||||
github.com/olekukonko/ll v0.0.9/go.mod h1:En+sEW0JNETl26+K8eZ6/W4UQ7CYSrrgg/EdIYT2H8g=
|
||||
github.com/olekukonko/tablewriter v1.0.7 h1:HCC2e3MM+2g72M81ZcJU11uciw6z/p82aEnm4/ySDGw=
|
||||
github.com/olekukonko/tablewriter v1.0.7/go.mod h1:H428M+HzoUXC6JU2Abj9IT9ooRmdq9CxuDmKMtrOCMs=
|
||||
github.com/olivere/elastic/v7 v7.0.32 h1:R7CXvbu8Eq+WlsLgxmKVKPox0oOwAE/2T9Si5BnvK6E=
|
||||
github.com/olivere/elastic/v7 v7.0.32/go.mod h1:c7PVmLe3Fxq77PIfY/bZmxY/TAamBhCzZ8xDOE09a9k=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
|
@ -645,7 +647,6 @@ golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
|
|
|
@ -15,8 +15,6 @@ func TestMain(m *testing.M) {
|
|||
"gpg_key.yml",
|
||||
"public_key.yml",
|
||||
"TestParseCommitWithSSHSignature/public_key.yml",
|
||||
"deploy_key.yml",
|
||||
"gpg_key_import.yml",
|
||||
"user.yml",
|
||||
"email_address.yml",
|
||||
},
|
||||
|
|
|
@ -15,6 +15,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"forgejo.org/modules/container"
|
||||
"forgejo.org/modules/log"
|
||||
"forgejo.org/modules/setting"
|
||||
|
||||
|
@ -438,3 +439,12 @@ func GetMasterEngine(x Engine) (*xorm.Engine, error) {
|
|||
|
||||
return engine, nil
|
||||
}
|
||||
|
||||
// GetTableNames returns the table name of all registered models.
|
||||
func GetTableNames() container.Set[string] {
|
||||
names := make(container.Set[string])
|
||||
for _, table := range tables {
|
||||
names.Add(x.TableName(table))
|
||||
}
|
||||
return names
|
||||
}
|
||||
|
|
40
models/db/table_names_test.go
Normal file
40
models/db/table_names_test.go
Normal file
|
@ -0,0 +1,40 @@
|
|||
// Copyright 2025 The Forgejo Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
"slices"
|
||||
"testing"
|
||||
|
||||
"forgejo.org/modules/test"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestGetTableNames(t *testing.T) {
|
||||
t.Run("Simple", func(t *testing.T) {
|
||||
defer test.MockVariableValue(&tables, []any{new(GPGKey)})()
|
||||
|
||||
assert.Equal(t, []string{"gpg_key"}, GetTableNames().Values())
|
||||
})
|
||||
|
||||
t.Run("Multiple tables", func(t *testing.T) {
|
||||
defer test.MockVariableValue(&tables, []any{new(GPGKey), new(User), new(BlockedUser)})()
|
||||
|
||||
tableNames := GetTableNames().Values()
|
||||
slices.Sort(tableNames)
|
||||
|
||||
assert.Equal(t, []string{"forgejo_blocked_user", "gpg_key", "user"}, tableNames)
|
||||
})
|
||||
}
|
||||
|
||||
type GPGKey struct{}
|
||||
|
||||
type User struct{}
|
||||
|
||||
type BlockedUser struct{}
|
||||
|
||||
func (*BlockedUser) TableName() string {
|
||||
return "forgejo_blocked_user"
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -186,10 +186,46 @@
|
|||
type: 8 # milestone
|
||||
poster_id: 1
|
||||
issue_id: 1 # in repo_id 1
|
||||
milestone_id: 10 # not exsting milestone
|
||||
milestone_id: 10 # not existing milestone
|
||||
old_milestone_id: 0
|
||||
created_unix: 946685080
|
||||
|
||||
-
|
||||
id: 2004
|
||||
type: 8 # milestone
|
||||
poster_id: 1
|
||||
issue_id: 1 # in repo_id 1
|
||||
milestone_id: 1
|
||||
old_milestone_id: 10 # not existing (ghost) milestone
|
||||
created_unix: 946685085
|
||||
|
||||
-
|
||||
id: 2005
|
||||
type: 8 # milestone
|
||||
poster_id: 1
|
||||
issue_id: 1 # in repo_id 1
|
||||
milestone_id: 10 # not existing (ghost) milestone
|
||||
old_milestone_id: 1
|
||||
created_unix: 946685090
|
||||
|
||||
-
|
||||
id: 2006
|
||||
type: 8 # milestone
|
||||
poster_id: 1
|
||||
issue_id: 1 # in repo_id 1
|
||||
milestone_id: 11 # not existing (ghost) milestone
|
||||
old_milestone_id: 10 # not existing (ghost) milestone
|
||||
created_unix: 946685095
|
||||
|
||||
-
|
||||
id: 2007
|
||||
type: 8 # milestone
|
||||
poster_id: 1
|
||||
issue_id: 1 # in repo_id 1
|
||||
milestone_id: 0
|
||||
old_milestone_id: 11 # not existing (ghost) milestone
|
||||
created_unix: 946685100
|
||||
|
||||
-
|
||||
id: 2010
|
||||
type: 30 # project
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -1 +0,0 @@
|
|||
[] # empty
|
|
@ -101,7 +101,7 @@ func (comments CommentList) loadMilestones(ctx context.Context) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
milestoneMaps := make(map[int64]*Milestone, len(milestoneIDs))
|
||||
milestones := make(map[int64]*Milestone, len(milestoneIDs))
|
||||
left := len(milestoneIDs)
|
||||
for left > 0 {
|
||||
limit := db.DefaultMaxInSize
|
||||
|
@ -110,7 +110,7 @@ func (comments CommentList) loadMilestones(ctx context.Context) error {
|
|||
}
|
||||
err := db.GetEngine(ctx).
|
||||
In("id", milestoneIDs[:limit]).
|
||||
Find(&milestoneMaps)
|
||||
Find(&milestones)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -118,8 +118,8 @@ func (comments CommentList) loadMilestones(ctx context.Context) error {
|
|||
milestoneIDs = milestoneIDs[limit:]
|
||||
}
|
||||
|
||||
for _, issue := range comments {
|
||||
issue.Milestone = milestoneMaps[issue.MilestoneID]
|
||||
for _, comment := range comments {
|
||||
comment.Milestone = milestones[comment.MilestoneID]
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ func (comments CommentList) loadOldMilestones(ctx context.Context) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
milestoneMaps := make(map[int64]*Milestone, len(milestoneIDs))
|
||||
milestones := make(map[int64]*Milestone, len(milestoneIDs))
|
||||
left := len(milestoneIDs)
|
||||
for left > 0 {
|
||||
limit := db.DefaultMaxInSize
|
||||
|
@ -149,7 +149,7 @@ func (comments CommentList) loadOldMilestones(ctx context.Context) error {
|
|||
}
|
||||
err := db.GetEngine(ctx).
|
||||
In("id", milestoneIDs[:limit]).
|
||||
Find(&milestoneMaps)
|
||||
Find(&milestones)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -157,8 +157,8 @@ func (comments CommentList) loadOldMilestones(ctx context.Context) error {
|
|||
milestoneIDs = milestoneIDs[limit:]
|
||||
}
|
||||
|
||||
for _, issue := range comments {
|
||||
issue.OldMilestone = milestoneMaps[issue.MilestoneID]
|
||||
for _, comment := range comments {
|
||||
comment.OldMilestone = milestones[comment.OldMilestoneID]
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -48,6 +48,8 @@ type IssuesOptions struct { //nolint
|
|||
UpdatedBeforeUnix int64
|
||||
// prioritize issues from this repo
|
||||
PriorityRepoID int64
|
||||
// if this issue index (not ID) exists and matches the filters, *and* priorityrepo sort is used, show it first
|
||||
PriorityIssueIndex int64
|
||||
IsArchived optional.Option[bool]
|
||||
|
||||
// If combined with AllPublic, then private as well as public issues
|
||||
|
@ -60,7 +62,7 @@ type IssuesOptions struct { //nolint
|
|||
|
||||
// applySorts sort an issues-related session based on the provided
|
||||
// sortType string
|
||||
func applySorts(sess *xorm.Session, sortType string, priorityRepoID int64) {
|
||||
func applySorts(sess *xorm.Session, sortType string, priorityRepoID, priorityIssueIndex int64) {
|
||||
switch sortType {
|
||||
case "oldest":
|
||||
sess.Asc("issue.created_unix").Asc("issue.id")
|
||||
|
@ -97,8 +99,11 @@ func applySorts(sess *xorm.Session, sortType string, priorityRepoID int64) {
|
|||
case "priorityrepo":
|
||||
sess.OrderBy("CASE "+
|
||||
"WHEN issue.repo_id = ? THEN 1 "+
|
||||
"ELSE 2 END ASC", priorityRepoID).
|
||||
Desc("issue.created_unix").
|
||||
"ELSE 2 END ASC", priorityRepoID)
|
||||
if priorityIssueIndex != 0 {
|
||||
sess.OrderBy("issue.index = ? DESC", priorityIssueIndex)
|
||||
}
|
||||
sess.Desc("issue.created_unix").
|
||||
Desc("issue.id")
|
||||
case "project-column-sorting":
|
||||
sess.Asc("project_issue.sorting").Desc("issue.created_unix").Desc("issue.id")
|
||||
|
@ -470,7 +475,7 @@ func Issues(ctx context.Context, opts *IssuesOptions) (IssueList, error) {
|
|||
Join("INNER", "repository", "`issue`.repo_id = `repository`.id")
|
||||
applyLimit(sess, opts)
|
||||
applyConditions(sess, opts)
|
||||
applySorts(sess, opts.SortType, opts.PriorityRepoID)
|
||||
applySorts(sess, opts.SortType, opts.PriorityRepoID, opts.PriorityIssueIndex)
|
||||
|
||||
issues := IssueList{}
|
||||
if err := sess.Find(&issues); err != nil {
|
||||
|
@ -494,7 +499,7 @@ func IssueIDs(ctx context.Context, opts *IssuesOptions, otherConds ...builder.Co
|
|||
}
|
||||
|
||||
applyLimit(sess, opts)
|
||||
applySorts(sess, opts.SortType, opts.PriorityRepoID)
|
||||
applySorts(sess, opts.SortType, opts.PriorityRepoID, opts.PriorityIssueIndex)
|
||||
|
||||
var res []int64
|
||||
total, err := sess.Select("`issue`.id").Table(&Issue{}).FindAndCount(&res)
|
||||
|
|
|
@ -149,7 +149,7 @@ func PullRequests(ctx context.Context, baseRepoID int64, opts *PullRequestsOptio
|
|||
}
|
||||
|
||||
findSession := listPullRequestStatement(ctx, baseRepoID, opts)
|
||||
applySorts(findSession, opts.SortType, 0)
|
||||
applySorts(findSession, opts.SortType, 0, 0)
|
||||
findSession = db.SetSessionPagination(findSession, opts)
|
||||
prs := make([]*PullRequest, 0, opts.PageSize)
|
||||
found := findSession.Find(&prs)
|
||||
|
|
|
@ -96,6 +96,7 @@ func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (*xorm.Engine, fu
|
|||
if err := unittest.InitFixtures(
|
||||
unittest.FixturesOptions{
|
||||
Dir: fixturesDir,
|
||||
SkipCleanRegistedModels: true,
|
||||
}, x); err != nil {
|
||||
t.Errorf("error whilst initializing fixtures from %s: %v", fixturesDir, err)
|
||||
return x, deferFn
|
||||
|
|
|
@ -100,7 +100,7 @@ type AbuseReport struct {
|
|||
// The abuse category selected by the reporter.
|
||||
Category AbuseCategoryType `xorm:"INDEX NOT NULL"`
|
||||
// Remarks provided by the reporter.
|
||||
Remarks string
|
||||
Remarks string `xorm:"VARCHAR(500)"`
|
||||
// The ID of the corresponding shadow-copied content when exists; otherwise null.
|
||||
ShadowCopyID sql.NullInt64 `xorm:"DEFAULT NULL"`
|
||||
CreatedUnix timeutil.TimeStamp `xorm:"created NOT NULL"`
|
||||
|
|
|
@ -17,7 +17,7 @@ import (
|
|||
|
||||
type AbuseReportShadowCopy struct {
|
||||
ID int64 `xorm:"pk autoincr"`
|
||||
RawValue string `xorm:"NOT NULL"`
|
||||
RawValue string `xorm:"LONGTEXT NOT NULL"` // A JSON with relevant fields from user, repository, issue or comment table.
|
||||
CreatedUnix timeutil.TimeStamp `xorm:"created NOT NULL"`
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ import (
|
|||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"forgejo.org/modules/container"
|
||||
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
|
@ -32,13 +34,15 @@ type loader struct {
|
|||
fixtureFiles []*fixtureFile
|
||||
}
|
||||
|
||||
func newFixtureLoader(db *sql.DB, dialect string, fixturePaths []string) (*loader, error) {
|
||||
func newFixtureLoader(db *sql.DB, dialect string, fixturePaths []string, allTableNames container.Set[string]) (*loader, error) {
|
||||
l := &loader{
|
||||
db: db,
|
||||
dialect: dialect,
|
||||
fixtureFiles: []*fixtureFile{},
|
||||
}
|
||||
|
||||
tablesWithoutFixture := allTableNames
|
||||
|
||||
// Load fixtures
|
||||
for _, fixturePath := range fixturePaths {
|
||||
stat, err := os.Stat(fixturePath)
|
||||
|
@ -60,6 +64,7 @@ func newFixtureLoader(db *sql.DB, dialect string, fixturePaths []string) (*loade
|
|||
return nil, err
|
||||
}
|
||||
l.fixtureFiles = append(l.fixtureFiles, fixtureFile)
|
||||
tablesWithoutFixture.Remove(fixtureFile.name)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -71,6 +76,14 @@ func newFixtureLoader(db *sql.DB, dialect string, fixturePaths []string) (*loade
|
|||
}
|
||||
}
|
||||
|
||||
// Even though these tables have no fixtures, they can still be used and ensure
|
||||
// they are cleaned.
|
||||
for table := range tablesWithoutFixture.Seq() {
|
||||
l.fixtureFiles = append(l.fixtureFiles, &fixtureFile{
|
||||
name: table,
|
||||
})
|
||||
}
|
||||
|
||||
return l, nil
|
||||
}
|
||||
|
||||
|
@ -178,13 +191,13 @@ func (l *loader) Load() error {
|
|||
}()
|
||||
|
||||
// Clean the table and re-insert the fixtures.
|
||||
tableDeleted := map[string]struct{}{}
|
||||
tableDeleted := make(container.Set[string])
|
||||
for _, fixture := range l.fixtureFiles {
|
||||
if _, ok := tableDeleted[fixture.name]; !ok {
|
||||
if !tableDeleted.Contains(fixture.name) {
|
||||
if _, err := tx.Exec(fmt.Sprintf("DELETE FROM %s", l.quoteKeyword(fixture.name))); err != nil {
|
||||
return fmt.Errorf("cannot delete table %s: %w", fixture.name, err)
|
||||
}
|
||||
tableDeleted[fixture.name] = struct{}{}
|
||||
tableDeleted.Add(fixture.name)
|
||||
}
|
||||
|
||||
for _, insertSQL := range fixture.insertSQLs {
|
||||
|
|
|
@ -7,10 +7,12 @@ package unittest
|
|||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"forgejo.org/models/db"
|
||||
"forgejo.org/modules/auth/password/hash"
|
||||
"forgejo.org/modules/container"
|
||||
"forgejo.org/modules/setting"
|
||||
|
||||
"xorm.io/xorm"
|
||||
|
@ -44,6 +46,8 @@ func OverrideFixtures(dir string) func() {
|
|||
}
|
||||
}
|
||||
|
||||
var allTableNames = sync.OnceValue(db.GetTableNames)
|
||||
|
||||
// InitFixtures initialize test fixtures for a test database
|
||||
func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
|
||||
e, err := GetXORMEngine(engine...)
|
||||
|
@ -75,7 +79,12 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
|
|||
panic("Unsupported RDBMS for test")
|
||||
}
|
||||
|
||||
fixturesLoader, err = newFixtureLoader(e.DB().DB, dialect, fixturePaths)
|
||||
var allTables container.Set[string]
|
||||
if !opts.SkipCleanRegistedModels {
|
||||
allTables = allTableNames().Clone()
|
||||
}
|
||||
|
||||
fixturesLoader, err = newFixtureLoader(e.DB().DB, dialect, fixturePaths, allTables)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -217,6 +217,10 @@ type FixturesOptions struct {
|
|||
Files []string
|
||||
Dirs []string
|
||||
Base string
|
||||
// By default all registered models are cleaned, even if they do not have
|
||||
// fixture. Enabling this will skip that and only models with fixtures are
|
||||
// considered.
|
||||
SkipCleanRegistedModels bool
|
||||
}
|
||||
|
||||
// CreateTestEngine creates a memory database and loads the fixture data from fixturesDir
|
||||
|
|
|
@ -74,3 +74,8 @@ func (s Set[T]) Values() []T {
|
|||
func (s Set[T]) Seq() iter.Seq[T] {
|
||||
return maps.Keys(s)
|
||||
}
|
||||
|
||||
// Clone returns a identical shallow copy of this set.
|
||||
func (s Set[T]) Clone() Set[T] {
|
||||
return maps.Clone(s)
|
||||
}
|
||||
|
|
|
@ -47,4 +47,11 @@ func TestSet(t *testing.T) {
|
|||
assert.False(t, s.IsSubset([]string{"key1"}))
|
||||
|
||||
assert.True(t, s.IsSubset([]string{}))
|
||||
|
||||
t.Run("Clone", func(t *testing.T) {
|
||||
clonedSet := s.Clone()
|
||||
clonedSet.Remove("key6")
|
||||
assert.False(t, clonedSet.Contains("key6"))
|
||||
assert.True(t, s.Contains("key6"))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -132,7 +132,7 @@ func (r *BlameReader) Close() error {
|
|||
// CreateBlameReader creates reader for given repository, commit and file
|
||||
func CreateBlameReader(ctx context.Context, objectFormat ObjectFormat, repoPath string, commit *Commit, file string, bypassBlameIgnore bool) (*BlameReader, error) {
|
||||
var ignoreRevsFile *string
|
||||
if CheckGitVersionAtLeast("2.23") == nil && !bypassBlameIgnore {
|
||||
if !bypassBlameIgnore {
|
||||
ignoreRevsFile = tryCreateBlameIgnoreRevsFile(commit)
|
||||
}
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ import (
|
|||
"bufio"
|
||||
"bytes"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"forgejo.org/modules/log"
|
||||
|
@ -172,60 +173,43 @@ func (b *Blob) GetBlobContent(limit int64) (string, error) {
|
|||
return string(buf), err
|
||||
}
|
||||
|
||||
// GetBlobLineCount gets line count of the blob
|
||||
func (b *Blob) GetBlobLineCount() (int, error) {
|
||||
reader, err := b.DataAsync()
|
||||
if err != nil {
|
||||
return 0, err
|
||||
type BlobTooLargeError struct {
|
||||
Size, Limit int64
|
||||
}
|
||||
defer reader.Close()
|
||||
buf := make([]byte, 32*1024)
|
||||
count := 1
|
||||
lineSep := []byte{'\n'}
|
||||
|
||||
c, err := reader.Read(buf)
|
||||
if c == 0 && err == io.EOF {
|
||||
return 0, nil
|
||||
func (b BlobTooLargeError) Error() string {
|
||||
return fmt.Sprintf("blob: content larger than limit (%d > %d)", b.Size, b.Limit)
|
||||
}
|
||||
for {
|
||||
count += bytes.Count(buf[:c], lineSep)
|
||||
switch {
|
||||
case err == io.EOF:
|
||||
return count, nil
|
||||
case err != nil:
|
||||
return count, err
|
||||
}
|
||||
c, err = reader.Read(buf)
|
||||
|
||||
// GetContentBase64 Reads the content of the blob and returns it as base64 encoded string.
|
||||
// Returns [BlobTooLargeError] if the (unencoded) content is larger than the limit.
|
||||
func (b *Blob) GetContentBase64(limit int64) (string, error) {
|
||||
if b.Size() > limit {
|
||||
return "", BlobTooLargeError{
|
||||
Size: b.Size(),
|
||||
Limit: limit,
|
||||
}
|
||||
}
|
||||
|
||||
// GetBlobContentBase64 Reads the content of the blob with a base64 encode and returns the encoded string
|
||||
func (b *Blob) GetBlobContentBase64() (string, error) {
|
||||
dataRc, err := b.DataAsync()
|
||||
rc, size, err := b.NewTruncatedReader(limit)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer dataRc.Close()
|
||||
defer rc.Close()
|
||||
|
||||
pr, pw := io.Pipe()
|
||||
encoder := base64.NewEncoder(base64.StdEncoding, pw)
|
||||
encoding := base64.StdEncoding
|
||||
buf := bytes.NewBuffer(make([]byte, 0, encoding.EncodedLen(int(size))))
|
||||
|
||||
go func() {
|
||||
_, err := io.Copy(encoder, dataRc)
|
||||
_ = encoder.Close()
|
||||
encoder := base64.NewEncoder(encoding, buf)
|
||||
|
||||
if err != nil {
|
||||
_ = pw.CloseWithError(err)
|
||||
} else {
|
||||
_ = pw.Close()
|
||||
}
|
||||
}()
|
||||
|
||||
out, err := io.ReadAll(pr)
|
||||
if err != nil {
|
||||
if _, err := io.Copy(encoder, rc); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return string(out), nil
|
||||
if err := encoder.Close(); err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return buf.String(), nil
|
||||
}
|
||||
|
||||
// GuessContentType guesses the content type of the blob.
|
||||
|
|
|
@ -63,6 +63,24 @@ func TestBlob(t *testing.T) {
|
|||
require.Equal(t, "file2\n", r)
|
||||
})
|
||||
|
||||
t.Run("GetContentBase64", func(t *testing.T) {
|
||||
r, err := testBlob.GetContentBase64(100)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "ZmlsZTIK", r)
|
||||
|
||||
r, err = testBlob.GetContentBase64(-1)
|
||||
require.ErrorAs(t, err, &BlobTooLargeError{})
|
||||
require.Empty(t, r)
|
||||
|
||||
r, err = testBlob.GetContentBase64(4)
|
||||
require.ErrorAs(t, err, &BlobTooLargeError{})
|
||||
require.Empty(t, r)
|
||||
|
||||
r, err = testBlob.GetContentBase64(6)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "ZmlsZTIK", r)
|
||||
})
|
||||
|
||||
t.Run("NewTruncatedReader", func(t *testing.T) {
|
||||
// read fewer than available
|
||||
rc, size, err := testBlob.NewTruncatedReader(100)
|
||||
|
|
|
@ -412,11 +412,7 @@ func (c *Commit) GetSubModule(entryname string) (string, error) {
|
|||
|
||||
// GetBranchName gets the closest branch name (as returned by 'git name-rev --name-only')
|
||||
func (c *Commit) GetBranchName() (string, error) {
|
||||
cmd := NewCommand(c.repo.Ctx, "name-rev")
|
||||
if CheckGitVersionAtLeast("2.13.0") == nil {
|
||||
cmd.AddArguments("--exclude", "refs/tags/*")
|
||||
}
|
||||
cmd.AddArguments("--name-only", "--no-undefined").AddDynamicArguments(c.ID.String())
|
||||
cmd := NewCommand(c.repo.Ctx, "name-rev", "--exclude", "refs/tags/*", "--name-only", "--no-undefined").AddDynamicArguments(c.ID.String())
|
||||
data, _, err := cmd.RunStdString(&RunOpts{Dir: c.repo.Path})
|
||||
if err != nil {
|
||||
// handle special case where git can not describe commit
|
||||
|
|
|
@ -23,7 +23,7 @@ import (
|
|||
)
|
||||
|
||||
// RequiredVersion is the minimum Git version required
|
||||
const RequiredVersion = "2.0.0"
|
||||
const RequiredVersion = "2.34.1"
|
||||
|
||||
var (
|
||||
// GitExecutable is the command name of git
|
||||
|
@ -33,7 +33,6 @@ var (
|
|||
// DefaultContext is the default context to run git commands in, must be initialized by git.InitXxx
|
||||
DefaultContext context.Context
|
||||
|
||||
SupportProcReceive bool // >= 2.29
|
||||
SupportHashSha256 bool // >= 2.42, SHA-256 repositories no longer an ‘experimental curiosity’
|
||||
InvertedGitFlushEnv bool // 2.43.1
|
||||
SupportCheckAttrOnBare bool // >= 2.40
|
||||
|
@ -113,7 +112,7 @@ func VersionInfo() string {
|
|||
format := "%s"
|
||||
args := []any{GitVersion.Original()}
|
||||
// Since git wire protocol has been released from git v2.18
|
||||
if setting.Git.EnableAutoGitWireProtocol && CheckGitVersionAtLeast("2.18") == nil {
|
||||
if setting.Git.EnableAutoGitWireProtocol {
|
||||
format += ", Wire Protocol %s Enabled"
|
||||
args = append(args, "Version 2") // for focus color
|
||||
}
|
||||
|
@ -172,16 +171,13 @@ func InitFull(ctx context.Context) (err error) {
|
|||
_ = os.Setenv("GNUPGHOME", filepath.Join(HomeDir(), ".gnupg"))
|
||||
}
|
||||
|
||||
// Since git wire protocol has been released from git v2.18
|
||||
if setting.Git.EnableAutoGitWireProtocol && CheckGitVersionAtLeast("2.18") == nil {
|
||||
if setting.Git.EnableAutoGitWireProtocol {
|
||||
globalCommandArgs = append(globalCommandArgs, "-c", "protocol.version=2")
|
||||
}
|
||||
|
||||
// Explicitly disable credential helper, otherwise Git credentials might leak
|
||||
if CheckGitVersionAtLeast("2.9") == nil {
|
||||
globalCommandArgs = append(globalCommandArgs, "-c", "credential.helper=")
|
||||
}
|
||||
SupportProcReceive = CheckGitVersionAtLeast("2.29") == nil
|
||||
|
||||
SupportHashSha256 = CheckGitVersionAtLeast("2.42") == nil
|
||||
SupportCheckAttrOnBare = CheckGitVersionAtLeast("2.40") == nil
|
||||
if SupportHashSha256 {
|
||||
|
@ -195,9 +191,6 @@ func InitFull(ctx context.Context) (err error) {
|
|||
SupportGrepMaxCount = CheckGitVersionAtLeast("2.38") == nil
|
||||
|
||||
if setting.LFS.StartServer {
|
||||
if CheckGitVersionAtLeast("2.1.2") != nil {
|
||||
return errors.New("LFS server support requires Git >= 2.1.2")
|
||||
}
|
||||
globalCommandArgs = append(globalCommandArgs, "-c", "filter.lfs.required=", "-c", "filter.lfs.smudge=", "-c", "filter.lfs.clean=")
|
||||
}
|
||||
|
||||
|
@ -234,18 +227,15 @@ func syncGitConfig() (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
// Set git some configurations - these must be set to these values for gitea to work correctly
|
||||
// Set git some configurations - these must be set to these values for forgejo to work correctly
|
||||
if err := configSet("core.quotePath", "false"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if CheckGitVersionAtLeast("2.10") == nil {
|
||||
if err := configSet("receive.advertisePushOptions", "true"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if CheckGitVersionAtLeast("2.18") == nil {
|
||||
if err := configSet("core.commitGraph", "true"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -255,18 +245,11 @@ func syncGitConfig() (err error) {
|
|||
if err := configSet("fetch.writeCommitGraph", "true"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if SupportProcReceive {
|
||||
// set support for AGit flow
|
||||
if err := configAddNonExist("receive.procReceiveRefs", "refs/for"); err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
if err := configUnsetAll("receive.procReceiveRefs", "refs/for"); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Due to CVE-2022-24765, git now denies access to git directories which are not owned by current user
|
||||
// however, some docker users and samba users find it difficult to configure their systems so that Gitea's git repositories are owned by the Gitea user. (Possibly Windows Service users - but ownership in this case should really be set correctly on the filesystem.)
|
||||
|
@ -284,11 +267,6 @@ func syncGitConfig() (err error) {
|
|||
|
||||
switch setting.Repository.Signing.Format {
|
||||
case "ssh":
|
||||
// First do a git version check.
|
||||
if CheckGitVersionAtLeast("2.34.0") != nil {
|
||||
return errors.New("ssh signing requires Git >= 2.34.0")
|
||||
}
|
||||
|
||||
// Get the ssh-keygen binary that Git will use.
|
||||
// This can be overridden in app.ini in [git.config] section, so we must
|
||||
// query this information.
|
||||
|
@ -325,8 +303,7 @@ func syncGitConfig() (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
// By default partial clones are disabled, enable them from git v2.22
|
||||
if !setting.Git.DisablePartialClone && CheckGitVersionAtLeast("2.22") == nil {
|
||||
if !setting.Git.DisablePartialClone {
|
||||
if err = configSet("uploadpack.allowfilter", "true"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ import (
|
|||
"forgejo.org/modules/test"
|
||||
"forgejo.org/modules/util"
|
||||
|
||||
"github.com/hashicorp/go-version"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
@ -105,10 +104,6 @@ func TestSyncConfigGPGFormat(t *testing.T) {
|
|||
})
|
||||
|
||||
t.Run("SSH format", func(t *testing.T) {
|
||||
if CheckGitVersionAtLeast("2.34.0") != nil {
|
||||
t.SkipNow()
|
||||
}
|
||||
|
||||
r, err := os.OpenRoot(t.TempDir())
|
||||
require.NoError(t, err)
|
||||
f, err := r.OpenFile("ssh-keygen", os.O_CREATE|os.O_TRUNC, 0o700)
|
||||
|
@ -121,13 +116,6 @@ func TestSyncConfigGPGFormat(t *testing.T) {
|
|||
assert.True(t, gitConfigContains("[gpg]"))
|
||||
assert.True(t, gitConfigContains("format = ssh"))
|
||||
|
||||
t.Run("Old version", func(t *testing.T) {
|
||||
oldVersion, err := version.NewVersion("2.33.0")
|
||||
require.NoError(t, err)
|
||||
defer test.MockVariableValue(&GitVersion, oldVersion)()
|
||||
require.ErrorContains(t, syncGitConfig(), "ssh signing requires Git >= 2.34.0")
|
||||
})
|
||||
|
||||
t.Run("No ssh-keygen binary", func(t *testing.T) {
|
||||
require.NoError(t, r.Remove("ssh-keygen"))
|
||||
require.ErrorContains(t, syncGitConfig(), "git signing requires a ssh-keygen binary")
|
||||
|
|
|
@ -16,26 +16,6 @@ import (
|
|||
"forgejo.org/modules/log"
|
||||
)
|
||||
|
||||
// RevListAllObjects runs rev-list --objects --all and writes to a pipewriter
|
||||
func RevListAllObjects(ctx context.Context, revListWriter *io.PipeWriter, wg *sync.WaitGroup, basePath string, errChan chan<- error) {
|
||||
defer wg.Done()
|
||||
defer revListWriter.Close()
|
||||
|
||||
stderr := new(bytes.Buffer)
|
||||
var errbuf strings.Builder
|
||||
cmd := git.NewCommand(ctx, "rev-list", "--objects", "--all")
|
||||
if err := cmd.Run(&git.RunOpts{
|
||||
Dir: basePath,
|
||||
Stdout: revListWriter,
|
||||
Stderr: stderr,
|
||||
}); err != nil {
|
||||
log.Error("git rev-list --objects --all [%s]: %v - %s", basePath, err, errbuf.String())
|
||||
err = fmt.Errorf("git rev-list --objects --all [%s]: %w - %s", basePath, err, errbuf.String())
|
||||
_ = revListWriter.CloseWithError(err)
|
||||
errChan <- err
|
||||
}
|
||||
}
|
||||
|
||||
// RevListObjects run rev-list --objects from headSHA to baseSHA
|
||||
func RevListObjects(ctx context.Context, revListWriter *io.PipeWriter, wg *sync.WaitGroup, tmpBasePath, headSHA, baseSHA string, errChan chan<- error) {
|
||||
defer wg.Done()
|
||||
|
|
|
@ -12,14 +12,7 @@ import (
|
|||
|
||||
// GetRemoteAddress returns remote url of git repository in the repoPath with special remote name
|
||||
func GetRemoteAddress(ctx context.Context, repoPath, remoteName string) (string, error) {
|
||||
var cmd *Command
|
||||
if CheckGitVersionAtLeast("2.7") == nil {
|
||||
cmd = NewCommand(ctx, "remote", "get-url").AddDynamicArguments(remoteName)
|
||||
} else {
|
||||
cmd = NewCommand(ctx, "config", "--get").AddDynamicArguments("remote." + remoteName + ".url")
|
||||
}
|
||||
|
||||
result, _, err := cmd.RunStdString(&RunOpts{Dir: repoPath})
|
||||
result, _, err := NewCommand(ctx, "remote", "get-url").AddDynamicArguments(remoteName).RunStdString(&RunOpts{Dir: repoPath})
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
|
|
@ -5,7 +5,6 @@ package git
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/fs"
|
||||
"os"
|
||||
|
@ -197,7 +196,7 @@ func TestGitAttributeCheckerError(t *testing.T) {
|
|||
path := t.TempDir()
|
||||
|
||||
// we can't use unittest.CopyDir because of an import cycle (git.Init in unittest)
|
||||
require.NoError(t, CopyFS(path, os.DirFS(filepath.Join(testReposDir, "language_stats_repo"))))
|
||||
require.NoError(t, os.CopyFS(path, os.DirFS(filepath.Join(testReposDir, "language_stats_repo"))))
|
||||
|
||||
gitRepo, err := openRepositoryWithDefaultContext(path)
|
||||
require.NoError(t, err)
|
||||
|
@ -324,32 +323,3 @@ func TestGitAttributeCheckerError(t *testing.T) {
|
|||
require.ErrorIs(t, err, fs.ErrClosed)
|
||||
})
|
||||
}
|
||||
|
||||
// CopyFS is adapted from https://github.com/golang/go/issues/62484
|
||||
// which should be available with go1.23
|
||||
func CopyFS(dir string, fsys fs.FS) error {
|
||||
return fs.WalkDir(fsys, ".", func(path string, d fs.DirEntry, _ error) error {
|
||||
targ := filepath.Join(dir, filepath.FromSlash(path))
|
||||
if d.IsDir() {
|
||||
return os.MkdirAll(targ, 0o777)
|
||||
}
|
||||
r, err := fsys.Open(path)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer r.Close()
|
||||
info, err := r.Stat()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
w, err := os.OpenFile(targ, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0o666|info.Mode()&0o777)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if _, err := io.Copy(w, r); err != nil {
|
||||
w.Close()
|
||||
return fmt.Errorf("copying %s: %v", path, err)
|
||||
}
|
||||
return w.Close()
|
||||
})
|
||||
}
|
||||
|
|
|
@ -443,7 +443,6 @@ func (repo *Repository) getCommitsBeforeLimit(id ObjectID, num int) ([]*Commit,
|
|||
}
|
||||
|
||||
func (repo *Repository) getBranches(commit *Commit, limit int) ([]string, error) {
|
||||
if CheckGitVersionAtLeast("2.7.0") == nil {
|
||||
command := NewCommand(repo.Ctx, "for-each-ref", "--format=%(refname:strip=2)").AddOptionValues("--contains", commit.ID.String(), BranchPrefix)
|
||||
|
||||
if limit != -1 {
|
||||
|
@ -459,29 +458,6 @@ func (repo *Repository) getBranches(commit *Commit, limit int) ([]string, error)
|
|||
return branches, nil
|
||||
}
|
||||
|
||||
stdout, _, err := NewCommand(repo.Ctx, "branch").AddOptionValues("--contains", commit.ID.String()).RunStdString(&RunOpts{Dir: repo.Path})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
refs := strings.Split(stdout, "\n")
|
||||
|
||||
var max int
|
||||
if len(refs) > limit {
|
||||
max = limit
|
||||
} else {
|
||||
max = len(refs) - 1
|
||||
}
|
||||
|
||||
branches := make([]string, max)
|
||||
for i, ref := range refs[:max] {
|
||||
parts := strings.Fields(ref)
|
||||
|
||||
branches[i] = parts[len(parts)-1]
|
||||
}
|
||||
return branches, nil
|
||||
}
|
||||
|
||||
// GetCommitsFromIDs get commits from commit IDs
|
||||
func (repo *Repository) GetCommitsFromIDs(commitIDs []string) []*Commit {
|
||||
commits := make([]*Commit, 0, len(commitIDs))
|
||||
|
|
|
@ -11,10 +11,8 @@ import (
|
|||
// WriteCommitGraph write commit graph to speed up repo access
|
||||
// this requires git v2.18 to be installed
|
||||
func WriteCommitGraph(ctx context.Context, repoPath string) error {
|
||||
if CheckGitVersionAtLeast("2.18") == nil {
|
||||
if _, _, err := NewCommand(ctx, "commit-graph", "write").RunStdString(&RunOpts{Dir: repoPath}); err != nil {
|
||||
return fmt.Errorf("unable to write commit-graph for '%s' : %w", repoPath, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -116,32 +116,37 @@ func (te *TreeEntry) Type() string {
|
|||
}
|
||||
}
|
||||
|
||||
// LinkTarget returns the target of the symlink as string.
|
||||
func (te *TreeEntry) LinkTarget() (string, error) {
|
||||
if !te.IsLink() {
|
||||
return "", ErrBadLink{te.Name(), "not a symlink"}
|
||||
}
|
||||
|
||||
const symlinkLimit = 4096 // according to git config core.longpaths https://stackoverflow.com/a/22575737
|
||||
blob := te.Blob()
|
||||
if blob.Size() > symlinkLimit {
|
||||
return "", ErrBadLink{te.Name(), "symlink too large"}
|
||||
}
|
||||
|
||||
rc, size, err := blob.NewTruncatedReader(symlinkLimit)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer rc.Close()
|
||||
|
||||
buf := make([]byte, int(size))
|
||||
_, err = io.ReadFull(rc, buf)
|
||||
return string(buf), err
|
||||
}
|
||||
|
||||
// FollowLink returns the entry pointed to by a symlink
|
||||
func (te *TreeEntry) FollowLink() (*TreeEntry, string, error) {
|
||||
if !te.IsLink() {
|
||||
return nil, "", ErrBadLink{te.Name(), "not a symlink"}
|
||||
}
|
||||
|
||||
// read the link
|
||||
r, err := te.Blob().DataAsync()
|
||||
lnk, err := te.LinkTarget()
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
closed := false
|
||||
defer func() {
|
||||
if !closed {
|
||||
_ = r.Close()
|
||||
}
|
||||
}()
|
||||
buf := make([]byte, te.Size())
|
||||
_, err = io.ReadFull(r, buf)
|
||||
if err != nil {
|
||||
return nil, "", err
|
||||
}
|
||||
_ = r.Close()
|
||||
closed = true
|
||||
|
||||
lnk := string(buf)
|
||||
t := te.ptree
|
||||
|
||||
// traverse up directories
|
||||
|
|
|
@ -170,7 +170,7 @@ func (b *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
|||
|
||||
if issueID, err := token.ParseIssueReference(); err == nil {
|
||||
idQuery := inner_bleve.NumericEqualityQuery(issueID, "index")
|
||||
idQuery.SetBoost(5.0)
|
||||
idQuery.SetBoost(20.0)
|
||||
innerQ.AddQuery(idQuery)
|
||||
}
|
||||
|
||||
|
@ -197,6 +197,15 @@ func (b *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
|||
queries = append(queries, bleve.NewDisjunctionQuery(repoQueries...))
|
||||
}
|
||||
|
||||
if options.PriorityRepoID.Has() {
|
||||
eq := inner_bleve.NumericEqualityQuery(options.PriorityRepoID.Value(), "repo_id")
|
||||
eq.SetBoost(10.0)
|
||||
meh := bleve.NewMatchAllQuery()
|
||||
meh.SetBoost(0)
|
||||
should := bleve.NewDisjunctionQuery(eq, meh)
|
||||
queries = append(queries, should)
|
||||
}
|
||||
|
||||
if options.IsPull.Has() {
|
||||
queries = append(queries, inner_bleve.BoolFieldQuery(options.IsPull.Value(), "is_pull"))
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ func (i *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
|||
|
||||
cond := builder.NewCond()
|
||||
|
||||
var priorityIssueIndex int64
|
||||
if options.Keyword != "" {
|
||||
repoCond := builder.In("repo_id", options.RepoIDs)
|
||||
if len(options.RepoIDs) == 1 {
|
||||
|
@ -82,6 +83,7 @@ func (i *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
|||
builder.Eq{"`index`": issueID},
|
||||
cond,
|
||||
)
|
||||
priorityIssueIndex = issueID
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -89,6 +91,7 @@ func (i *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
opt.PriorityIssueIndex = priorityIssueIndex
|
||||
|
||||
// If pagesize == 0, return total count only. It's a special case for search count.
|
||||
if options.Paginator != nil && options.Paginator.PageSize == 0 {
|
||||
|
|
|
@ -78,6 +78,11 @@ func ToDBOptions(ctx context.Context, options *internal.SearchOptions) (*issue_m
|
|||
User: nil,
|
||||
}
|
||||
|
||||
if options.PriorityRepoID.Has() {
|
||||
opts.SortType = "priorityrepo"
|
||||
opts.PriorityRepoID = options.PriorityRepoID.Value()
|
||||
}
|
||||
|
||||
if len(options.MilestoneIDs) == 1 && options.MilestoneIDs[0] == 0 {
|
||||
opts.MilestoneIDs = []int64{db.NoConditionID}
|
||||
} else {
|
||||
|
|
|
@ -165,7 +165,7 @@ func (b *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
|||
}
|
||||
var eitherQ elastic.Query = innerQ
|
||||
if issueID, err := token.ParseIssueReference(); err == nil {
|
||||
indexQ := elastic.NewTermQuery("index", issueID).Boost(15.0)
|
||||
indexQ := elastic.NewTermQuery("index", issueID).Boost(20)
|
||||
eitherQ = elastic.NewDisMaxQuery().Query(indexQ).Query(innerQ).TieBreaker(0.5)
|
||||
}
|
||||
switch token.Kind {
|
||||
|
@ -188,6 +188,10 @@ func (b *Indexer) Search(ctx context.Context, options *internal.SearchOptions) (
|
|||
}
|
||||
query.Must(q)
|
||||
}
|
||||
if options.PriorityRepoID.Has() {
|
||||
q := elastic.NewTermQuery("repo_id", options.PriorityRepoID.Value()).Boost(10)
|
||||
query.Should(q)
|
||||
}
|
||||
|
||||
if options.IsPull.Has() {
|
||||
query.Must(elastic.NewTermQuery("is_pull", options.IsPull.Value()))
|
||||
|
|
|
@ -77,6 +77,7 @@ type SearchOptions struct {
|
|||
|
||||
RepoIDs []int64 // repository IDs which the issues belong to
|
||||
AllPublic bool // if include all public repositories
|
||||
PriorityRepoID optional.Option[int64] // issues from this repository will be prioritized when SortByScore
|
||||
|
||||
IsPull optional.Option[bool] // if the issues is a pull request
|
||||
IsClosed optional.Option[bool] // if the issues is closed
|
||||
|
|
|
@ -742,6 +742,25 @@ var cases = []*testIndexerCase{
|
|||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
Name: "PriorityRepoID",
|
||||
SearchOptions: &internal.SearchOptions{
|
||||
IsPull: optional.Some(false),
|
||||
IsClosed: optional.Some(false),
|
||||
PriorityRepoID: optional.Some(int64(3)),
|
||||
Paginator: &db.ListOptionsAll,
|
||||
SortBy: internal.SortByScore,
|
||||
},
|
||||
Expected: func(t *testing.T, data map[int64]*internal.IndexerData, result *internal.SearchResult) {
|
||||
for i, v := range result.Hits {
|
||||
if i < 7 {
|
||||
assert.Equal(t, int64(3), data[v.ID].RepoID)
|
||||
} else {
|
||||
assert.NotEqual(t, int64(3), data[v.ID].RepoID)
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
type testIndexerCase struct {
|
||||
|
|
|
@ -39,16 +39,7 @@ func SearchPointerBlobs(ctx context.Context, repo *git.Repository, pointerChan c
|
|||
go pipeline.BlobsLessThan1024FromCatFileBatchCheck(catFileCheckReader, shasToBatchWriter, &wg)
|
||||
|
||||
// 1. Run batch-check on all objects in the repository
|
||||
if git.CheckGitVersionAtLeast("2.6.0") != nil {
|
||||
revListReader, revListWriter := io.Pipe()
|
||||
shasToCheckReader, shasToCheckWriter := io.Pipe()
|
||||
wg.Add(2)
|
||||
go pipeline.CatFileBatchCheck(ctx, shasToCheckReader, catFileCheckWriter, &wg, basePath)
|
||||
go pipeline.BlobsFromRevListObjects(revListReader, shasToCheckWriter, &wg)
|
||||
go pipeline.RevListAllObjects(ctx, revListWriter, &wg, basePath, errChan)
|
||||
} else {
|
||||
go pipeline.CatFileBatchCheckAllObjects(ctx, catFileCheckWriter, &wg, basePath, errChan)
|
||||
}
|
||||
wg.Wait()
|
||||
|
||||
close(pointerChan)
|
||||
|
|
|
@ -104,7 +104,7 @@ func TestRender_Images(t *testing.T) {
|
|||
|
||||
test(
|
||||
"",
|
||||
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`"/></a></p>`)
|
||||
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`" loading="lazy"/></a></p>`)
|
||||
|
||||
test(
|
||||
"[["+title+"|"+url+"]]",
|
||||
|
@ -115,7 +115,7 @@ func TestRender_Images(t *testing.T) {
|
|||
|
||||
test(
|
||||
"",
|
||||
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`"/></a></p>`)
|
||||
`<p><a href="`+result+`" target="_blank" rel="nofollow noopener"><img src="`+result+`" alt="`+title+`" loading="lazy"/></a></p>`)
|
||||
|
||||
test(
|
||||
"[["+title+"|"+url+"]]",
|
||||
|
@ -412,8 +412,8 @@ func TestRenderSiblingImages_Issue12925(t *testing.T) {
|
|||
testcase := `
|
||||

|
||||
`
|
||||
expected := `<p><a href="/image1" target="_blank" rel="nofollow noopener"><img src="/image1" alt="image1"></a><br>
|
||||
<a href="/image2" target="_blank" rel="nofollow noopener"><img src="/image2" alt="image2"></a></p>
|
||||
expected := `<p><a href="/image1" target="_blank" rel="nofollow noopener"><img src="/image1" alt="image1" loading="lazy"></a><br>
|
||||
<a href="/image2" target="_blank" rel="nofollow noopener"><img src="/image2" alt="image2" loading="lazy"></a></p>
|
||||
`
|
||||
res, err := markdown.RenderRawString(&markup.RenderContext{Ctx: git.DefaultContext}, testcase)
|
||||
require.NoError(t, err)
|
||||
|
@ -845,10 +845,10 @@ mail@domain.com
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/src/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image"/></a><br/>
|
||||
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/path/file" target="_blank" rel="nofollow noopener"><img src="/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -872,10 +872,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/wiki/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/wiki/raw/image.jpg" rel="nofollow"><img src="/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -901,10 +901,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="https://gitea.io/src/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="https://gitea.io/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="https://gitea.io/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://gitea.io/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="https://gitea.io/image.jpg" rel="nofollow"><img src="https://gitea.io/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -930,10 +930,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="https://gitea.io/wiki/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="https://gitea.io/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="https://gitea.io/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://gitea.io/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="https://gitea.io/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="https://gitea.io/wiki/raw/image.jpg" rel="nofollow"><img src="https://gitea.io/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -959,10 +959,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/src/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/relative/path/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/image.jpg" rel="nofollow"><img src="/relative/path/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -988,10 +988,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -1018,10 +1018,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/user/repo/src/branch/main/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/user/repo/media/branch/main/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -1048,10 +1048,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -1078,10 +1078,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/user/repo/src/sub/folder/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/user/repo/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image"/></a><br/>
|
||||
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/user/repo/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/image.jpg" rel="nofollow"><img src="/user/repo/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -1108,10 +1108,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -1139,10 +1139,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/user/repo/src/branch/main/sub/folder/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/sub/folder/path/file" target="_blank" rel="nofollow noopener"><img src="/user/repo/media/branch/main/sub/folder/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/user/repo/media/branch/main/sub/folder/image.jpg" rel="nofollow"><img src="/user/repo/media/branch/main/sub/folder/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
@ -1170,10 +1170,10 @@ space</p>
|
|||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/file.bin" rel="nofollow">local link</a><br/>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/image.jpg" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/path/file" target="_blank" rel="nofollow noopener"><img src="/relative/path/wiki/raw/path/file" alt="local image" loading="lazy"/></a><br/>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a><br/>
|
||||
<a href="/relative/path/wiki/raw/image.jpg" rel="nofollow"><img src="/relative/path/wiki/raw/image.jpg" title="local image" alt=""/></a><br/>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a><br/>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow">https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash</a><br/>
|
||||
|
|
|
@ -44,6 +44,7 @@ func (g *ASTTransformer) transformImage(ctx *markup.RenderContext, v *ast.Image)
|
|||
for _, attr := range v.Attributes() {
|
||||
image.SetAttribute(attr.Name, attr.Value)
|
||||
}
|
||||
image.SetAttributeString("loading", []byte("lazy"))
|
||||
for child := v.FirstChild(); child != nil; {
|
||||
next := child.NextSibling()
|
||||
image.AppendChild(image, child)
|
||||
|
|
|
@ -108,6 +108,9 @@ func createDefaultPolicy() *bluemonday.Policy {
|
|||
// Allow classes for emojis
|
||||
policy.AllowAttrs("class").Matching(regexp.MustCompile(`^emoji$`)).OnElements("img")
|
||||
|
||||
// Allow attributes for images
|
||||
policy.AllowAttrs("loading").Matching(regexp.MustCompile(`^lazy$`)).OnElements("img")
|
||||
|
||||
// Allow icons, emojis, chroma syntax and keyword markup on span
|
||||
policy.AllowAttrs("class").Matching(regexp.MustCompile(`^((icon(\s+[\p{L}\p{N}_-]+)+)|(emoji)|(language-math display)|(language-math inline))$|^([a-z][a-z0-9]{0,2})$|^` + keywordClass + `$`)).OnElements("span")
|
||||
policy.AllowAttrs("data-alias").Matching(regexp.MustCompile(`^[a-zA-Z0-9-_+]+$`)).OnElements("span")
|
||||
|
|
|
@ -75,6 +75,10 @@ func Test_Sanitizer(t *testing.T) {
|
|||
// Emoji
|
||||
`<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up" data-alias="+1">THUMBS UP</span>`,
|
||||
`<span class="emoji" aria-label="thumbs up" data-alias="(+!)">THUMBS UP</span>`, `<span class="emoji" aria-label="thumbs up">THUMBS UP</span>`,
|
||||
|
||||
// Images lazy loading
|
||||
`<img src="/image1" alt="image1" loading="lazy">`, `<img src="/image1" alt="image1" loading="lazy">`,
|
||||
`<img src="/image1" alt="image1" loading="eager">`, `<img src="/image1" alt="image1">`,
|
||||
}
|
||||
|
||||
for i := 0; i < len(testCases); i += 2 {
|
||||
|
|
|
@ -22,6 +22,12 @@ type Attachment struct {
|
|||
Type string `json:"type"`
|
||||
}
|
||||
|
||||
// WebAttachment the generic attachment with mime type
|
||||
type WebAttachment struct {
|
||||
*Attachment
|
||||
MimeType string `json:"mime_type"`
|
||||
}
|
||||
|
||||
// EditAttachmentOptions options for editing attachments
|
||||
// swagger:model
|
||||
type EditAttachmentOptions struct {
|
||||
|
|
|
@ -54,7 +54,6 @@ type CreateHookOption struct {
|
|||
AuthorizationHeader string `json:"authorization_header"`
|
||||
// default: false
|
||||
Active bool `json:"active"`
|
||||
IsSystemWebhook bool `json:"is_system_webhook"`
|
||||
}
|
||||
|
||||
// EditHookOption options when modify one hook
|
||||
|
|
|
@ -192,8 +192,8 @@ func TestRenderMarkdownToHtml(t *testing.T) {
|
|||
<a href="https://example.com" rel="nofollow">remote link</a>
|
||||
<a href="/src/file.bin" rel="nofollow">local link</a>
|
||||
<a href="https://example.com" rel="nofollow">remote link</a>
|
||||
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image"/></a>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image"/></a>
|
||||
<a href="/image.jpg" target="_blank" rel="nofollow noopener"><img src="/image.jpg" alt="local image" loading="lazy"/></a>
|
||||
<a href="https://example.com/image.jpg" target="_blank" rel="nofollow noopener"><img src="https://example.com/image.jpg" alt="remote image" loading="lazy"/></a>
|
||||
<a href="/image.jpg" rel="nofollow"><img src="/image.jpg" title="local image" alt=""/></a>
|
||||
<a href="https://example.com/image.jpg" rel="nofollow"><img src="https://example.com/image.jpg" title="remote link" alt=""/></a>
|
||||
<a href="https://example.com/user/repo/compare/88fc37a3c0a4dda553bdcfc80c178a58247f42fb...12fc37a3c0a4dda553bdcfc80c178a58247f42fb#hash" rel="nofollow"><code>88fc37a3c0...12fc37a3c0 (hash)</code></a>
|
||||
|
|
|
@ -699,7 +699,7 @@ issues.filter_milestone_all = كل الأهداف
|
|||
issues.unlock.notice_2 = - يمكنك دوما إقفال هذه المسألة من جديد في المستقبل.
|
||||
issues.num_participants_few = %d متحاور
|
||||
release.title = عنوان الإصدار
|
||||
issues.closed_at = `أغلق هذه المسألة <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at = `أغلق هذه المسألة %s`
|
||||
issues.lock.title = إقفال التحاور في هذه المسألة.
|
||||
issues.new.no_label = بلا تصنيف
|
||||
issues.filter_sort.mostforks = الأعلى اشتقاقا
|
||||
|
@ -759,7 +759,7 @@ branch.renamed = غُيّر اسم الفرع %s إلى %s.
|
|||
delete_preexisting = احذف الملفات الموجودة سابقا
|
||||
branch.included_desc = هذا الفرع جزء من الفرع المبدئي
|
||||
trust_model_helper_collaborator_committer = مشترك+مودع: ثق بتوقيعات المشتركين التي تطابق المودع
|
||||
issues.reopened_at = `أعاد فتح هذه المسألة <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at = `أعاد فتح هذه المسألة %s`
|
||||
issues.action_milestone = هدف
|
||||
issues.new.assignees = المكلَّفون
|
||||
release.tag_name_protected = اسم الوسم محمي.
|
||||
|
@ -1166,7 +1166,7 @@ pulls.status_checking = في انتظار بعض الفحوص
|
|||
pulls.status_checks_failure = بعض الفحوص فشلت
|
||||
pulls.status_checks_success = جميع الفحوص ناجحة
|
||||
pulls.status_checks_warning = بعض الفحوص تعطي تحذيرات
|
||||
pulls.commit_ref_at = `أشار إلى طلب الدمج من إيداع <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `أشار إلى طلب الدمج من إيداع %s`
|
||||
pulls.cmd_instruction_hint = `أظهر شرح استخدام سطر الأوامر.`
|
||||
pulls.cmd_instruction_checkout_title = اسحب
|
||||
pulls.cmd_instruction_checkout_desc = من مستودع مشروعك، اسحب (check out) فرعا جديدا واختبر التغييرات.
|
||||
|
@ -1257,8 +1257,8 @@ pulls.status_checks_details = تفاصيل
|
|||
pulls.status_checks_hide_all = أخفِ كل الفحوص
|
||||
pulls.status_checks_show_all = أظهر كل الفحوص
|
||||
pulls.close = أغلق طلب الدمج
|
||||
pulls.closed_at = `أغلق طلب الدمج <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at = `أعاد فتح طلب الدمج <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at = `أغلق طلب الدمج %s`
|
||||
pulls.reopened_at = `أعاد فتح طلب الدمج %s`
|
||||
milestones.title = العنوان
|
||||
milestones.desc = الوصف
|
||||
milestones.edit = عدّل الهدف
|
||||
|
@ -1302,11 +1302,11 @@ issues.closed_by_fake = من %[2]s أُغلقت %[1]s
|
|||
issues.num_comments_1 = %d تعليق
|
||||
issues.num_comments = %d تعليقا
|
||||
issues.commented_at = `علّق <a href="#%s">%s</a>`
|
||||
issues.commit_ref_at = `أشار إلى هذه المسألة من إيداع <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from = `<a href="%[3]s">أشار إلى هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from = `<a href="%[3]s">أشار إلى هذا الطلب %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from = `<a href="%[3]s">أشار إلى طلب دمج %[4]s سيغلق هذه المسألة</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from = `<a href="%[3]s">أشار إلى طلب دمج %[4]s سيعيد فتح هذه المسألة</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at = `أشار إلى هذه المسألة من إيداع %s`
|
||||
issues.ref_issue_from = `<a href="%[2]s">أشار إلى هذه المسألة %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from = `<a href="%[2]s">أشار إلى هذا الطلب %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from = `<a href="%[2]s">أشار إلى طلب دمج %[3]s سيغلق هذه المسألة</a> %[1]s`
|
||||
issues.ref_reopening_from = `<a href="%[2]s">أشار إلى طلب دمج %[3]s سيعيد فتح هذه المسألة</a> %[1]s`
|
||||
issues.ref_closed_from = `<a href="%[3]s">أغلق هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from = `<a href="%[3]s">أعاد فتح هذه المسألة %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reference_issue.body = المحتوى
|
||||
|
|
|
@ -749,7 +749,7 @@ settings.admin_settings = Администраторски настройки
|
|||
issues.role.owner = Притежател
|
||||
settings.transfer.title = Прехвърляне на притежанието
|
||||
issues.author = Автор
|
||||
issues.closed_at = `затвори тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at = `затвори тази задача %s`
|
||||
settings.collaborator_deletion_desc = Премахването на сътрудник ще отнеме достъпа му до това хранилище. Продължаване?
|
||||
commits.message = Съобщение
|
||||
issues.due_date_not_set = Няма зададен краен срок.
|
||||
|
@ -773,9 +773,9 @@ issues.filter_type.all_issues = Всички задачи
|
|||
issues.filter_poster_no_select = Всички автори
|
||||
issues.opened_by = отворена %[1]s от <a href="%[2]s">%[3]s</a>
|
||||
issues.action_open = Отваряне
|
||||
pulls.closed_at = `затвори тази заявка за сливане <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at = `отвори наново тази заявка за сливане <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at = `отвори наново тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at = `затвори тази заявка за сливане %s`
|
||||
pulls.reopened_at = `отвори наново тази заявка за сливане %s`
|
||||
issues.reopened_at = `отвори наново тази задача %s`
|
||||
projects.column.edit = Редактиране на колоната
|
||||
issues.close = Затваряне на задачата
|
||||
issues.ref_reopened_from = `<a href="%[3]s">отвори наново тази задача %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
|
@ -1205,7 +1205,7 @@ issues.dependency.cancel = Отказ
|
|||
issues.dependency.add_error_dep_exists = Зависимостта вече съществува.
|
||||
issues.dependency.add_error_dep_not_exist = Зависимостта не съществува.
|
||||
issues.remove_ref_at = `премахна препратката <b>%s</b> %s`
|
||||
issues.ref_pull_from = `<a href="%[3]s">спомена тази заявка за сливане %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from = `<a href="%[2]s">спомена тази заявка за сливане %[3]s</a> %[1]s`
|
||||
issues.dependency.pr_no_dependencies = Няма зададени зависимости.
|
||||
issues.dependency.remove_info = Премахване на тази зависимост
|
||||
issues.dependency.removed_dependency = `премахна зависимостта %s`
|
||||
|
@ -1230,11 +1230,11 @@ issues.dependency.title = Зависимости
|
|||
issues.dependency.issue_no_dependencies = Няма зададени зависимости.
|
||||
issues.dependency.pr_close_blocked = Трябва да затворите всички задачи, блокиращи тази заявка за сливане, преди да можете да я слеете.
|
||||
issues.dependency.pr_close_blocks = Тази заявка за сливане блокира затварянето на следните задачи
|
||||
issues.ref_issue_from = `<a href="%[3]s">спомена тази задача %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at = `спомена тази задача в подаване <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from = `<a href="%[2]s">спомена тази задача %[3]s</a> %[1]s`
|
||||
issues.commit_ref_at = `спомена тази задача в подаване %s`
|
||||
issues.add_ref_at = `добави препратка <b>%s</b> %s`
|
||||
pulls.merged_info_text = Клонът %s вече може да бъде изтрит.
|
||||
pulls.commit_ref_at = `спомена тази заявка за сливане в подаване <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `спомена тази заявка за сливане в подаване %s`
|
||||
issues.change_ref_at = `промени препратката от <b><strike>%s</strike></b> на <b>%s</b> %s`
|
||||
diff.review.reject = Поискване на промени
|
||||
diff.bin_not_shown = Двоичният файл не е показан.
|
||||
|
@ -1299,9 +1299,9 @@ branch.create_new_branch = Създаване на клон от клон:
|
|||
pulls.status_checks_show_all = Показване на всички проверки
|
||||
size_format = %[1]s: %[2]s; %[3]s: %[4]s
|
||||
pulls.filter_changes_by_commit = Филтриране по подаване
|
||||
issues.ref_closing_from = `<a href="%[3]s">спомена тази задача в заявка за сливане %[4]s, която ще я затвори</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from = `<a href="%[2]s">спомена тази задача в заявка за сливане %[3]s, която ще я затвори</a>, %[1]s`
|
||||
issues.ref_from = `от %[1]s`
|
||||
issues.ref_reopening_from = `<a href="%[3]s">спомена тази задача в заявка за сливане %[4]s, която ще я отвори наново </a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from = `<a href="%[2]s">спомена тази задача в заявка за сливане %[3]s, която ще я отвори наново </a>, %[1]s`
|
||||
issues.draft_title = Чернова
|
||||
pulls.reopen_to_merge = Моля, отворете наново тази заявка за сливане, за да извършите сливане.
|
||||
pulls.cant_reopen_deleted_branch = Тази заявка за сливане не може да бъде отворена наново, защото клонът е изтрит.
|
||||
|
|
|
@ -1633,13 +1633,13 @@ issues.opened_by_fake=otevřeno %[1]s uživatelem %[2]s
|
|||
issues.closed_by_fake=od %[2]s byl uzavřen %[1]s
|
||||
issues.previous=Předchozí
|
||||
issues.next=Další
|
||||
issues.open_title=Otevřeno
|
||||
issues.closed_title=Uzavřeno
|
||||
issues.open_title=Otevřené
|
||||
issues.closed_title=Uzavřené
|
||||
issues.draft_title=Koncept
|
||||
issues.num_comments_1=%d komentář
|
||||
issues.num_comments=%d komentářů
|
||||
issues.commented_at=`okomentoval/a <a href="#%s">%s</a>`
|
||||
issues.delete_comment_confirm=Jste si jist, že chcete smazat tento komentář?
|
||||
issues.delete_comment_confirm=Opravdu chcete smazat tento komentář?
|
||||
issues.context.copy_link=Kopírovat odkaz
|
||||
issues.context.quote_reply=Citovat odpověď
|
||||
issues.context.reference_issue=Odkázat v novém problému
|
||||
|
@ -1653,13 +1653,13 @@ issues.close_comment_issue=Zavřít s komentářem
|
|||
issues.reopen_issue=Znovu otevřít
|
||||
issues.reopen_comment_issue=Znovu otevřít s komentářem
|
||||
issues.create_comment=Komentovat
|
||||
issues.closed_at=`uzavřel/a tento problém <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`znovu otevřel/a tento problém <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`odkázal/a na tento problém z revize <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">odkázal/a na tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">odkázal/a na tuto žádost o sloučení %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">odkazoval/a na tento problém ze žádosti o sloučení %[4]s, která jej uzavře</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">odkazoval/a na tento problém ze žádosti o sloučení %[4]s, která jej znovu otevře</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`uzavřel/a tento problém %s`
|
||||
issues.reopened_at=`znovu otevřel/a tento problém %s`
|
||||
issues.commit_ref_at=`odkázal/a na tento problém z revize %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">odkázal/a na tento problém %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">odkázal/a na tuto žádost o sloučení %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">odkázal/a na tento problém ze žádosti o sloučení %[3]s, která jej uzavře</a>, %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">odkázal/a na tento problém ze žádosti o sloučení %[3]s, která jej znovu otevře</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">uzavřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">znovu otevřel/a tento problém %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`z %[1]s`
|
||||
|
@ -1966,8 +1966,8 @@ pulls.update_branch_success=Aktualizace větve byla úspěšná
|
|||
pulls.update_not_allowed=Nemáte oprávnění aktualizovat větev
|
||||
pulls.outdated_with_base_branch=Tato větev je zastaralá oproti základní větvi
|
||||
pulls.close=Zavřít žádost o sloučení
|
||||
pulls.closed_at=`uzavřel/a tuto žádost o sloučení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`znovu otevřel/a tuto žádost o sloučení <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`uzavřel/a tuto žádost o sloučení %s`
|
||||
pulls.reopened_at=`znovu otevřel/a tuto žádost o sloučení %s`
|
||||
pulls.cmd_instruction_hint=Zobrazit instrukce příkazové řádky
|
||||
pulls.cmd_instruction_checkout_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
|
||||
pulls.cmd_instruction_merge_title=Sloučit
|
||||
|
@ -2758,7 +2758,7 @@ settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning = Tuto ak
|
|||
settings.new_owner_blocked_doer = Nový majitel vás zablokoval.
|
||||
settings.mirror_settings.pushed_repository = Odeslaný repozitář
|
||||
settings.add_collaborator_blocked_our = Nepodařilo se přidat spolupracovníka, jelikož byl zablokován majitelem repozitáře.
|
||||
pulls.commit_ref_at = `se odkázal/a na tuto žádost o sloučení z revize <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `odkázal/a na tuto žádost o sloučení z revize %s`
|
||||
settings.wiki_rename_branch_main = Normalizovat název větve wiki
|
||||
settings.wiki_rename_branch_main_desc = Přejmenovat větev interně používanou pro wiki na „%s“. Tato změna je trvalá a nelze ji vrátit.
|
||||
pulls.fast_forward_only_merge_pull_request = Pouze zrychlené
|
||||
|
|
|
@ -1520,15 +1520,15 @@ issues.add_labels = tilføjede %s etiketterne %s
|
|||
issues.add_remove_labels = tilføjede %s og fjernede %s etiketter %s
|
||||
issues.add_milestone_at = `føjede dette til <b>%s</b> milepælen %s`
|
||||
issues.add_project_at = `føjede dette til <b>%s</b>- projektet %s`
|
||||
issues.ref_reopening_from = `<a href="%[3]s">henviste til dette problem fra en pull-anmodning %[4]s, der vil genåbne den</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from = `<a href="%[2]s">henviste til dette problem fra en pull-anmodning %[3]s, der vil genåbne den</a>, %[1]s`
|
||||
issues.ref_closed_from = `<a href="%[3]s">lukkede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
|
||||
issues.ref_reopened_from = `<a href="%[3]s">genåbnede dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
|
||||
issues.ref_from = `fra %[1]s`
|
||||
issues.author = Forfatter
|
||||
issues.commit_ref_at = `henviste til dette problem fra en commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from = `<a href="%[3]s">henviste til dette problem %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
|
||||
issues.ref_pull_from = `<a href="%[3]s">henviste til denne pull-anmodning %[4]s</a> <a id="%[1]s" href="#%[1]s">%[ 2]s</a>`
|
||||
issues.ref_closing_from = `<a href="%[3]s">henviste til dette problem fra en pull-anmodning %[4]s, der vil lukke det</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at = `henviste til dette problem fra en commit %s`
|
||||
issues.ref_issue_from = `<a href="%[2]s">henviste til dette problem %[3]s</a> <a id="%[1]s" href="#%[1]s">%[2 ]s</a>`
|
||||
issues.ref_pull_from = `<a href="%[2]s">henviste til denne pull-anmodning %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from = `<a href="%[2]s">henviste til dette problem fra en pull-anmodning %[3]s, der vil lukke det</a>, %[1]s`
|
||||
issues.author.tooltip.issue = Denne bruger er forfatteren til dette problem.
|
||||
issues.author.tooltip.pr = Denne bruger er forfatteren af denne pull-anmodning.
|
||||
issues.role.owner = Ejer
|
||||
|
@ -1564,8 +1564,8 @@ issues.reaction.alt_add = Tilføj %[1]s reaktion til kommentar.
|
|||
issues.context.menu = Kommentar menu
|
||||
issues.reopen_comment_issue = Genåbner med kommentar
|
||||
issues.create_comment = Kommentar
|
||||
issues.closed_at = `lukkede dette problem <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at = `genåbnede dette problem <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at = `lukkede dette problem %s`
|
||||
issues.reopened_at = `genåbnede dette problem %s`
|
||||
issues.remove_label = fjernede %s etiketten %s
|
||||
issues.remove_labels = fjernede %s etiketterne %s
|
||||
issues.change_project_at = `modificerede projektet fra <b>%s</b> til <b>%s</b> %s`
|
||||
|
@ -1911,10 +1911,10 @@ pulls.editable_explanation = Denne pull-anmodning tillader redigeringer fra vedl
|
|||
pulls.auto_merge_button_when_succeed = (Når kontroller lykkes)
|
||||
pulls.status_checks_requested = Påkrævet
|
||||
pulls.close = Luk pull anmodning
|
||||
pulls.commit_ref_at = `henviste til denne pull-anmodning fra en commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `henviste til denne pull-anmodning fra en commit %s`
|
||||
pulls.cmd_instruction_hint = Se instruktionerne på kommandolinjen
|
||||
pulls.reopened_at = `genåbnede denne pull-anmodning <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at = `lukkede denne pull-anmodning <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at = `genåbnede denne pull-anmodning %s`
|
||||
pulls.closed_at = `lukkede denne pull-anmodning %s`
|
||||
pulls.cmd_instruction_checkout_desc = Fra dit projektdepot, tjek en ny gren og test ændringerne.
|
||||
pulls.editable = Redigerbar
|
||||
pulls.made_using_agit = AGit
|
||||
|
|
|
@ -1577,7 +1577,7 @@ issues.remove_ref_at=`hat die Referenz <b>%s</b> %s entfernt`
|
|||
issues.add_ref_at=`hat die Referenz <b>%s</b> %s hinzugefügt`
|
||||
issues.delete_branch_at=`löschte den Branch <b>%s</b> %s`
|
||||
issues.filter_label=Label
|
||||
issues.filter_label_exclude=`<code>Alt</code> + <code>Klick/Enter</code> verwenden, um Labels auszuschließen`
|
||||
issues.filter_label_exclude=`Verwende <kbd>Alt</kbd> + <kbd>Klick/Enter</kbd>, um Labels auszuschließen`
|
||||
issues.filter_label_no_select=Alle Labels
|
||||
issues.filter_label_select_no_label=Kein Label
|
||||
issues.filter_milestone=Meilenstein
|
||||
|
@ -1651,13 +1651,13 @@ issues.close_comment_issue=Mit Kommentar schließen
|
|||
issues.reopen_issue=Wieder öffnen
|
||||
issues.reopen_comment_issue=Mit Kommentar wieder öffnen
|
||||
issues.create_comment=Kommentieren
|
||||
issues.closed_at=`hat diesen Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
|
||||
issues.reopened_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
|
||||
issues.commit_ref_at=`hat dieses Issue <a id="%[1]s" href="#%[1]s">%[2]s</a> aus einem Commit referenziert`
|
||||
issues.ref_issue_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">auf dieses Issue verwiesen %[4]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">auf diesen Pull-Request verwiesen %[4]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es schließen wird</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">hat</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> in einem Pull-Request %[4]s auf dieses Issue verwiesen, welcher es erneut öffnen wird</a>`
|
||||
issues.closed_at=`hat dieses Issue %s geschlossen`
|
||||
issues.reopened_at=`hat dieses Issue %s wieder geöffnet`
|
||||
issues.commit_ref_at=`hat dieses Issue %s aus einem Commit referenziert`
|
||||
issues.ref_issue_from=`<a href="%[2]s">hat</a> %[1]s <a href="%[2]s">auf dieses Issue verwiesen %[3]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[2]s">referenzierte diesen Pull-Request %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">referenzierte dieses Issue aus einem Pull-Request %[3]s der es schließen wird</a>, %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">referenzierte dieses Issue aus einem Pull-Request %[3]s der es wieder öffnen wird</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">hat dieses Issue %[4]s geschlossen</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">hat dieses Issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
|
||||
issues.ref_from=`von %[1]s`
|
||||
|
@ -1962,8 +1962,8 @@ pulls.update_branch_success=Branch-Aktualisierung erfolgreich
|
|||
pulls.update_not_allowed=Du hast keine Berechtigung, den Branch zu updaten
|
||||
pulls.outdated_with_base_branch=Dieser Branch enthält nicht die neusten Commits des Basis-Branches
|
||||
pulls.close=Pull-Request schließen
|
||||
pulls.closed_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> geschlossen`
|
||||
pulls.reopened_at=`hat diesen Pull-Request <a id="%[1]s" href="#%[1]s">%[2]s</a> wieder geöffnet`
|
||||
pulls.closed_at=`hat diesen Pull-Request %s geschlossen`
|
||||
pulls.reopened_at=`hat diesen Pull-Request %s wieder geöffnet`
|
||||
pulls.clear_merge_message=Merge-Nachricht löschen
|
||||
pulls.clear_merge_message_hint=Das Löschen der Merge-Nachricht wird nur den Inhalt der Commit-Nachricht entfernen und generierte Git-Trailer wie „Co-Authored-By …“ erhalten.
|
||||
|
||||
|
@ -2767,7 +2767,7 @@ settings.wiki_globally_editable = Allen erlauben, das Wiki zu bearbeiten
|
|||
settings.protect_branch_name_pattern_desc = Geschützte Branch-Namens-Patterns. Siehe <a href="%s">die Dokumentation</a> für Pattern-Syntax. Beispiele: main, release/**
|
||||
settings.ignore_stale_approvals = Abgestandene Genehmigungen ignorieren
|
||||
settings.ignore_stale_approvals_desc = Genehmigungen, welche für ältere Commits gemacht wurden (abgestandene Reviews), nicht in die Gesamtzahl der Genehmigung des PRs mitzählen. Irrelevant, falls abgestandene Reviews bereits verworfen werden.
|
||||
pulls.commit_ref_at = `hat sich auf diesen Pull-Request von einem Commit <a id="%[1]s" href="#%[1]s">%[2]s</a> bezogen`
|
||||
pulls.commit_ref_at = `referenzierte diesen Pull-Request aus einem Commit %s`
|
||||
pulls.fast_forward_only_merge_pull_request = Nur Fast-forward
|
||||
pulls.cmd_instruction_checkout_desc = Checke einen neuen Branch aus deinem Projekt-Repository aus und teste die Änderungen.
|
||||
pulls.cmd_instruction_merge_title = Zusammenführen
|
||||
|
@ -3061,8 +3061,8 @@ teams.invite.by=Von %s eingeladen
|
|||
teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Team beizutreten.
|
||||
follow_blocked_user = Du kannst dieser Organisation nicht folgen, weil diese Organisation dich blockiert hat.
|
||||
open_dashboard = Übersicht öffnen
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Organisationsname ist nach einer Abkühldauer von einem Tag wieder für alle verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Organisationsname ist nach einer Abkühldauer von %[1]d Tagen wieder für alle verfügbar. Du kannst den alten Namen während dieser Abkühldauer erneut beanspruchen.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = Der alte Organisationsname ist nach einer Schutzzeit von einem Tag wieder für alle verfügbar. Du kannst den alten Namen während dieser Schutzzeit erneut beanspruchen.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = Der alte Organisationsname ist nach einer Schutzzeit von %[1]d Tagen wieder für alle verfügbar. Du kannst den alten Namen während dieser Schutzzeit erneut beanspruchen.
|
||||
|
||||
[admin]
|
||||
dashboard=Übersicht
|
||||
|
|
|
@ -1626,13 +1626,13 @@ issues.close_comment_issue=Αποστολή σχολίου και κλείσιμ
|
|||
issues.reopen_issue=Ανοίξτε ξανά
|
||||
issues.reopen_comment_issue=Αποστολή σχολίου και επανάνοιγμα ζητήματος
|
||||
issues.create_comment=Προσθήκη Σχολίου
|
||||
issues.closed_at=`αυτό το ζήτημα έκλεισε <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`ξανά άνοιξε αυτό το ζήτημα <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`αναφορά σε αυτό το ζήτημα από την παραπομπή <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">ανέφερε αυτό το ζήτημα σε ένα pull request %[4]s που στοχεύει να κλείσει το ζήτημα</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">αναφέρθηκε σε αυτό το ζήτημα σε ένα pull request %[4]s που θα ξαναανοίξει αυτό το ζήτημα</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`αυτό το ζήτημα έκλεισε %s`
|
||||
issues.reopened_at=`ξανά άνοιξε αυτό το ζήτημα %s`
|
||||
issues.commit_ref_at=`αναφορά σε αυτό το ζήτημα από την παραπομπή %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το ζήτημα %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το pull request %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">ανέφερε αυτό το ζήτημα σε ένα pull request %[3]s που στοχεύει να κλείσει το ζήτημα</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">αναφέρθηκε σε αυτό το ζήτημα σε ένα pull request %[3]s που θα ξαναανοίξει αυτό το ζήτημα</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">έκλεισε αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">άνοιξε ξανά αυτό το ζήτημα %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`από %[1]s`
|
||||
|
@ -1939,8 +1939,8 @@ pulls.update_branch_success=Η ενημέρωση του κλάδου ήταν
|
|||
pulls.update_not_allowed=Δεν επιτρέπεται να ενημερώσετε τον κλάδο
|
||||
pulls.outdated_with_base_branch=Αυτός ο κλάδος δεν είναι ενημερωμένος με τον βασικό κλάδο
|
||||
pulls.close=Κλείσιμο pull request
|
||||
pulls.closed_at=`έκλεισε αυτό το pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`άνοιξε ξανά αυτό το pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`έκλεισε αυτό το pull request %s`
|
||||
pulls.reopened_at=`άνοιξε ξανά αυτό το pull request %s`
|
||||
pulls.cmd_instruction_hint=Προβολή οδηγιών γραμμής εντολών
|
||||
pulls.cmd_instruction_checkout_title=Έλεγχος
|
||||
pulls.cmd_instruction_checkout_desc=Από το repository του έργου σας, ελέγξτε έναν νέο κλάδο και δοκιμάστε τις αλλαγές.
|
||||
|
@ -2720,7 +2720,7 @@ settings.new_owner_blocked_doer = Ο νέος κάτοχος του αποθετ
|
|||
settings.enter_repo_name = Γράψτε το όνομα του κατόχου και του αποθετηρίου ακριβώς όπως το βλέπετε:
|
||||
settings.confirmation_string = Κείμενο επιβεβαίωσης
|
||||
settings.units.overview = Επισκόπηση
|
||||
pulls.commit_ref_at = `ανέφερε το pull request στο commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `ανέφερε το pull request στο commit %s`
|
||||
contributors.contribution_type.filter_label = Είδος συνεισφοράς:
|
||||
settings.wiki_rename_branch_main_notices_1 = Αυτή η ενέργεια <strong>ΔΕΝ</strong> αναιρείται.
|
||||
activity.navbar.contributors = Συνεισφέροντες
|
||||
|
|
|
@ -1648,13 +1648,13 @@ issues.close_comment_issue=Cerrar con comentario
|
|||
issues.reopen_issue=Reabrir
|
||||
issues.reopen_comment_issue=Reabrir con comentario
|
||||
issues.create_comment=Comentar
|
||||
issues.closed_at=`cerró esta incidencia <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`reabrió esta incidencia <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`referenció esta incidencia en un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">referenció esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">referenció este pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">hizo referencia a esta incidencia desde un pull request %[4]s que lo cerrará</a> , <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">hizo referencia a esta incidencia desde un pull request %[4]s que lo reabrirá</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`cerró esta incidencia %s`
|
||||
issues.reopened_at=`reabrió esta incidencia %s`
|
||||
issues.commit_ref_at=`referenció esta incidencia en un commit %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">referenció esta incidencia %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">referenció este pull request %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">hizo referencia a esta incidencia desde un pull request %[3]s que lo cerrará</a> , %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">hizo referencia a esta incidencia desde un pull request %[3]s que lo reabrirá</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">cerró esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">reabrió esta incidencia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`de %[1]s`
|
||||
|
@ -1959,8 +1959,8 @@ pulls.update_branch_success=La actualización de la rama ha finalizado correctam
|
|||
pulls.update_not_allowed=No tiene permisos para actualizar esta rama
|
||||
pulls.outdated_with_base_branch=Esta rama está desactualizada con la rama base
|
||||
pulls.close=Cerrar pull request
|
||||
pulls.closed_at=`cerró este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`reabrió este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`cerró este pull request %s`
|
||||
pulls.reopened_at=`reabrió este pull request %s`
|
||||
pulls.clear_merge_message=Borrar mensaje de fusión
|
||||
pulls.clear_merge_message_hint=Limpiar el mensaje de fusión solo eliminará el contenido del mensaje de commit y mantendrá frases generadas como "Co-Autorizado por …".
|
||||
|
||||
|
@ -2789,7 +2789,7 @@ pulls.status_checks_hide_all = Ocultar todas las verificaciones
|
|||
settings.federation_not_enabled = La federación no está habilitada en tu instancia.
|
||||
wiki.search = Buscar en wiki
|
||||
pulls.status_checks_show_all = Mostrar todas las verificaciones
|
||||
pulls.commit_ref_at = `hizo referencia a este pull request desde un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `hizo referencia a este pull request desde un commit %s`
|
||||
pulls.cmd_instruction_merge_title = Fusionar
|
||||
contributors.contribution_type.deletions = Eliminaciones
|
||||
contributors.contribution_type.filter_label = Tipo de contribución:
|
||||
|
|
|
@ -1250,13 +1250,13 @@ issues.close_comment_issue=ثبت دیدگاه و بستن
|
|||
issues.reopen_issue=بازگشایی
|
||||
issues.reopen_comment_issue=ثبت دیدگاه و بازگشایی
|
||||
issues.create_comment=دیدگاه
|
||||
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را بست`
|
||||
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> این موضوع را دوباره باز کرد`
|
||||
issues.commit_ref_at=`ارجاع این مسئله به کامیت <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s"> ارجاعات این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s"> ارجاعات این تقاضای ادغام %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s"> ارجاعات این تقاضای واکشی %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s"> تقاضای واکشی ارجاع شده %[4] که مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>`
|
||||
issues.closed_at=`%s این موضوع را بست`
|
||||
issues.reopened_at=`%s این موضوع را دوباره باز کرد`
|
||||
issues.commit_ref_at=`ارجاع این مسئله به کامیت %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s"> ارجاعات این مسائله %[3]</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s"> ارجاعات این تقاضای ادغام %[4]</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s"> ارجاعات این تقاضای واکشی %[4]</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s"> تقاضای واکشی ارجاع شده %[3]sکه مسائله بازگشایی خواهد کرد</a> <a id="%[1]s" href="#%[1]s">%[2] </a>`
|
||||
issues.ref_closed_from=`<a href="%[3]s"> بسته شده این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s"> بازگشایی این مسائله %[4]</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`از %[1]`
|
||||
|
@ -1493,8 +1493,8 @@ pulls.update_branch_rebase=بروزآوری شاخه با بازسازی مجد
|
|||
pulls.update_branch_success=شاخه به موفقیت بروز شد
|
||||
pulls.update_not_allowed=شما اجازه بروزرسانی شاخه را ندارید
|
||||
pulls.outdated_with_base_branch=این شاخه با شاخه پایه منسوخ شده است
|
||||
pulls.closed_at=`این درخواست pull بسته شده <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`این درخواست pull را بازگشایی کرد <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`این درخواست pull بسته شده %s`
|
||||
pulls.reopened_at=`این درخواست pull را بازگشایی کرد %s`
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1293,9 +1293,9 @@ issues.close_comment_issue=Kommentoi ja sulje
|
|||
issues.reopen_issue=Avaa uudelleen
|
||||
issues.reopen_comment_issue=Kommentoi ja avaa uudelleen
|
||||
issues.create_comment=Kommentoi
|
||||
issues.closed_at=`sulki tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`uudelleenavasi tämän ongelman <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`viittasi tähän ongelmaan kommitissa <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`sulki tämän ongelman %s`
|
||||
issues.reopened_at=`uudelleenavasi tämän ongelman %s`
|
||||
issues.commit_ref_at=`viittasi tähän ongelmaan kommitissa %s`
|
||||
issues.author=Tekijä
|
||||
issues.role.owner=Omistaja
|
||||
issues.role.member=Jäsen
|
||||
|
@ -2185,7 +2185,7 @@ settings.confirmation_string = Vahvistusteksti
|
|||
settings.delete_notices_2 = - Tämä toiminto poistaa pysyvästi tietovaraston <strong>%s</strong> mukaan lukien koodin, ongelmat, kommentit, wikidatan ja avustaja-asetukset.
|
||||
issues.filter_assginee_no_select = Kaikki käsittelijät
|
||||
issues.new.assign_to_me = Osoita itselle
|
||||
pulls.closed_at = `sulki tämän vetopyynnön <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at = `sulki tämän vetopyynnön %s`
|
||||
tree_path_not_found_branch = Polkua %[1]s ei ole olemassa haarassa %[2]s
|
||||
transfer.no_permission_to_reject = Sinulla ei ole oikeutta hylätä tätä siirtoa.
|
||||
generate_repo = Luo tietovarasto
|
||||
|
@ -2199,8 +2199,8 @@ issues.new.no_reviewers = Ei katselmoijia
|
|||
issues.add_label = lisäsi nimilapun %s %s
|
||||
issues.due_date_added = lisäsi eräpäivän %s %s
|
||||
issues.review.add_review_request = pyysi katselmointia käyttäjältä %[1]s %[2]s
|
||||
issues.ref_pull_from = `<a href="%[3]s">viittasi tähän vetopyyntöön %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `viittasi tähän vetopyyntöön kommitista <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from = `<a href="%[2]s">viittasi tähän vetopyyntöön %[3]s</a> %[1]s`
|
||||
pulls.commit_ref_at = `viittasi tähän vetopyyntöön kommitista %s`
|
||||
issues.review.comment = katselmoi %s
|
||||
issues.add_labels = lisäsi nimilaput %s %s
|
||||
issues.review.add_review_requests = pyysi katselmointeja käyttäjiltä %[1]s %[2]s
|
||||
|
@ -2381,7 +2381,7 @@ wiki.page_name_desc = Kirjoita tämän wikisivun nimi. Joitain erikoisnimiä ova
|
|||
pulls.blocked_by_changed_protected_files_1 = Tämä vetopyyntö sisältää suojatun tiedoston ja on siksi estetty:
|
||||
pulls.status_checks_warning = Jotkin tarkistukset raportoivat varoituksia
|
||||
pulls.status_checks_error = Jotkin tarkistukset raportoivat virheitä
|
||||
pulls.reopened_at = `avasi uudelleen tämän vetopyynnön <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at = `avasi uudelleen tämän vetopyynnön %s`
|
||||
pulls.auto_merge_when_succeed = Yhdistä automaatisesti kun kaikki tarkistukset onnistuvat
|
||||
signing.wont_sign.error = Tapahtui virhe tarkistaessa voiko kommitin allekirjoittaa.
|
||||
signing.wont_sign.twofa = Sinulla tulee olla kaksivaiheinen todennus käytössä, jotta kommitit voi allekirjoittaa.
|
||||
|
|
|
@ -365,7 +365,7 @@ table_modal.label.columns = Mga Column
|
|||
link_modal.header = Magdagdag ng link
|
||||
link_modal.url = Url
|
||||
link_modal.description = Deskripsyon
|
||||
link_modal.paste_reminder = Pahiwatig: Kapag may URL sa clipboard, maari mong direktang i-paste sa editor para gumawa ng link.
|
||||
link_modal.paste_reminder = Pahiwatig: Kapag may URL sa clipboard, maaari mong direktang i-paste sa editor para gumawa ng link.
|
||||
|
||||
[filter]
|
||||
string.asc = A - Z
|
||||
|
@ -432,7 +432,7 @@ openid_connect_desc = Ang piniling OpenID URI ay hindi alam. Iugnay iyan sa bago
|
|||
invalid_code = Ang iyong confirmation code ay hindi wasto o nag-expire na.
|
||||
oauth_signin_title = Mag-sign in para pahintulutan ang naka-link na account
|
||||
invalid_code_forgot_password = Ang iyong confirmation code ay hindi wasto o nag-expire na. Mag-click <a href="%s">dito</a> para magsimula ng bagong session.
|
||||
confirmation_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa <b>%s</b>. Para kumpletuhin ang proseso ng pagrehistro, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s. Kung mali ang email, maari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address.
|
||||
confirmation_mail_sent_prompt = Ang isang bagong email na pang-kumpirma ay ipinadala sa <b>%s</b>. Para kumpletuhin ang proseso ng pagrehistro, pakisuri ang iyong inbox at sundan ang ibinigay na link sa loob ng %s. Kung mali ang email, maaari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address.
|
||||
invalid_password = Ang iyong password ay hindi tugma sa password na ginamit para gawin ang account.
|
||||
twofa_scratch_used = Ginamit mo na ang scratch code. Na-redirect ka sa two-factor settings page para tanggalin ang device enrollment o mag-generate ng bagong scratch code.
|
||||
manual_activation_only = Makipag-ugnayan sa tagapangangasiwa ng site para kumpletuhin ang pagrehistro.
|
||||
|
@ -484,7 +484,7 @@ admin.new_user.text = Mangyaring <a href="%s">mag-click dito</a> para ipamahala
|
|||
register_notify = Maligayang Pagdating sa %s
|
||||
register_notify.title = %[1]s, maligayang pagdating sa %[2]s
|
||||
register_notify.text_1 = ito ang iyong registration confirmation email para sa %s!
|
||||
register_notify.text_2 = Maari kang mag-sign in sa iyong account gamit ng iyong username: %s
|
||||
register_notify.text_2 = Maaari kang mag-sign in sa iyong account gamit ng iyong username: %s
|
||||
reset_password = I-recover ang iyong account
|
||||
reset_password.title = %s, nagkaroon kami ng hiling para i-recover ang iyong account
|
||||
reset_password.text = Kung ikaw ito, paki-click ang sumusunod na link para i-recover ang iyong account sa loob ng <b>%s</b>:
|
||||
|
@ -535,7 +535,7 @@ totp_disabled.text_1 = Ngayon lang na-disable ang Time-based one-time password (
|
|||
totp_disabled.no_2fa = Wala nang mga ibang paraan ng 2FA ang naka-configure, nangangahulugan na hindi na kailangang mag-log in sa iyong account gamit ang 2FA.
|
||||
removed_security_key.subject = May tinanggal na security key
|
||||
removed_security_key.text_1 = Tinanggal ngayon lang ang security key na "%[1]s" sa iyong account.
|
||||
account_security_caution.text_1 = Kung ikaw ito, maari mong ligtas na huwag pansinin ang mail na ito.
|
||||
account_security_caution.text_1 = Kung ikaw ito, maaari mong ligtas na huwag pansinin ang mail na ito.
|
||||
account_security_caution.text_2 = Kung hindi ito ikaw, nakompromiso ang iyong account. Mangyaring makipag-ugnayan sa mga tagapangasiwa ng site na ito.
|
||||
totp_enrolled.subject = Nag-activate ka ng TOTP bilang paraan ng 2FA
|
||||
totp_enrolled.text_1.has_webauthn = Na-enable mo lang ang TOTP para sa iyong account. Nangangahulugan ito na para sa lahat ng mga hinaharap na pag-login sa iyong account, kailangan mong gumamit ng TOTP bilang paraan ng 2FA o gamitin ang iyong mga security key.
|
||||
|
@ -644,7 +644,7 @@ AccessToken = Token ng pag-access
|
|||
Biography = Byograpya
|
||||
Location = Lokasyon
|
||||
visit_rate_limit = Natugunan ang limitasyon sa rate ng malayuang pagbisita.
|
||||
username_claiming_cooldown = Hindi ma-claim ang username na ito, dahil hindi pa tapos ang panahon ng cooldown. Maari itong i-claim sa %[1]s.
|
||||
username_claiming_cooldown = Hindi ma-claim ang username na ito, dahil hindi pa tapos ang panahon ng cooldown. Maaari itong i-claim sa %[1]s.
|
||||
email_domain_is_not_allowed = Sumasalungat ang domain ng email address ng user <b>%s</b> sa EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Siguraduhing natakda mo ang email address nang tama.
|
||||
|
||||
[user]
|
||||
|
@ -685,7 +685,7 @@ followers.title.few = Mga tagasunod
|
|||
following.title.one = Sinusundan
|
||||
followers.title.one = Tagasunod
|
||||
public_activity.visibility_hint.self_public = Nakikita ng lahat ang iyong aktibidad, maliban sa mga interaksyon sa pribadong espasyo. <a href="%s">I-configure</a>.
|
||||
public_activity.visibility_hint.admin_public = Nakikita ng lahat ang aktibidad na ito, ngunit bilang tagapangasiwa maari mo ring makita ang mga interaksyon sa mga pribadong espasyo.
|
||||
public_activity.visibility_hint.admin_public = Nakikita ng lahat ang aktibidad na ito, ngunit bilang tagapangasiwa maaari mo ring makita ang mga interaksyon sa mga pribadong espasyo.
|
||||
public_activity.visibility_hint.self_private = Nakikita mo lang at mga tagapangasiwa ng instansya ang iyong aktibidad. <a href="%s">I-configure</a>.
|
||||
public_activity.visibility_hint.admin_private = Nakikita mo ang aktibidad na ito dahil isa kang tagapangasiwa, ngunit gusto ng user na panatilihin itong pribado.
|
||||
public_activity.visibility_hint.self_private_profile = Ikaw lang at ang mga tagapangasiwa ng instansya ang makakakita ng iyong aktibidad dahil pribado ang iyong profile. <a href="%s">I-configure</a>.
|
||||
|
@ -842,7 +842,7 @@ gpg_key_verify = I-verify
|
|||
gpg_invalid_token_signature = Ang ibinigay na GPG key, signature, at token ay hindi tumutugma o luma.
|
||||
gpg_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba
|
||||
gpg_token = Token
|
||||
gpg_token_help = Maari kang mag-generate ng signature gamit ng:
|
||||
gpg_token_help = Maaari kang mag-generate ng signature gamit ng:
|
||||
gpg_token_signature = Naka-armor na GPG signature
|
||||
key_signature_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP SIGNATURE-----"
|
||||
verify_gpg_key_success = Na-verify na ang GPG key na "%s".
|
||||
|
@ -851,7 +851,7 @@ ssh_key_verify = I-verify
|
|||
ssh_invalid_token_signature = Ang ibinigay na SSH key, signature, o token ay hindi tumutugma o luma.
|
||||
ssh_token_required = Kailangan mong magbigay ng signature para sa token sa ibaba
|
||||
ssh_token = Token
|
||||
ssh_token_help = Maari kang mag-generate ng signature gamit ng:
|
||||
ssh_token_help = Maaari kang mag-generate ng signature gamit ng:
|
||||
ssh_token_signature = Naka-armor na SSH signature
|
||||
key_signature_ssh_placeholder = Nagsisimula sa "-----BEGIN SSH SIGNATURE-----"
|
||||
verify_ssh_key_success = Na-verify na ang SSH key na "%s".
|
||||
|
@ -912,10 +912,10 @@ create_oauth2_application_success = Matagumpay kang gumawa ang bagong OAuth2 app
|
|||
oauth2_confidential_client = Kumpidensyal na kliyente. Piliin para sa mga app na pinapatilihing kumpidensyal ang sikreto, tulad ng mga web app. Huwag piliin para sa mga web app kasama ang mga desktop at mobile app.
|
||||
twofa_desc = Para protektahin ang iyong account laban sa pagnanakaw ng password, pwede mo gamitin ang iyong smartphone o ibang device para sa pagtanggap ng time-based one-time password ("TOTP").
|
||||
twofa_scratch_token_regenerated = Ang iyong isang-beses na paggamit na recovery key ngayon ay %s. Ilagay ito sa ligtas na lugar, dahil hindi na ito ipapakita muli.
|
||||
regenerate_scratch_token_desc = Kapag nawala mo ang iyong recovery key o ginamit mo na oara mag-sign in, maari mong i-reset dito.
|
||||
regenerate_scratch_token_desc = Kapag nawala mo ang iyong recovery key o ginamit mo na oara mag-sign in, maaari mong i-reset dito.
|
||||
twofa_disable_desc = Ang pag-disable ng authentikasyong two-factor ay gagawing hindi gaanong ligtas ang iyong account. Magpatuloy?
|
||||
twofa_enrolled = Matagumpay na na-enroll ang iyong account. Ilagay ang iyong isang-beses na paggamit na recovery key (%s) sa isang ligtas na lugar, dahil hindi na ito ipapakita muli.
|
||||
webauthn_desc = Ang mga security key ay isang hardware device na naglalaman ng mga cryptographic key. Maari silang gamitin para sa authentikasyong two-factor. Ang mga security key ay dapat suportahan ang <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> na standard.
|
||||
webauthn_desc = Ang mga security key ay isang hardware device na naglalaman ng mga cryptographic key. Maaari silang gamitin para sa authentikasyong two-factor. Ang mga security key ay dapat suportahan ang <a rel="noreferrer" target="_blank" href="%s">WebAuthn Authenticator</a> na standard.
|
||||
remove_oauth2_application = Tanggalin ang OAuth2 Application
|
||||
remove_oauth2_application_desc = Ang pagtanggal ng OAuth2 application ay babawiin ang access sa lahat ng mga naka-sign na access token. Magpatuloy?
|
||||
remove_oauth2_application_success = Binura na ang application.
|
||||
|
@ -931,13 +931,13 @@ oauth2_regenerate_secret = I-regenerate ang sikreto
|
|||
oauth2_regenerate_secret_hint = Nawala mo ang iyong sikreto?
|
||||
oauth2_client_secret_hint = Ang sikreto ay hindi ipapakita muli pagkatapos umalis ka o i-refresh ang page na ito. Mangyaring siguraduhin na na-save mo iyan.
|
||||
oauth2_application_edit = I-edit
|
||||
twofa_recovery_tip = Kapag mawala mo ang iyong device, maari kang gumamit ng isang isang-beses na paggamit na recovery key para makakuha muli ng access sa iyong account.
|
||||
twofa_recovery_tip = Kapag mawala mo ang iyong device, maaari kang gumamit ng isang isang-beses na paggamit na recovery key para makakuha muli ng access sa iyong account.
|
||||
twofa_is_enrolled = Ang iyong account ay kasalukuyang <strong>naka-enroll</strong> sa autentikasyong two-factor.
|
||||
twofa_not_enrolled = Kasalukuyang hindi naka-enroll ang iyong account sa authentikasyong two-factor.
|
||||
twofa_disable = I-disable ang authentikasyong two-factor
|
||||
twofa_scratch_token_regenerate = I-regenerate ang isang-beses na paggamit na recovery key
|
||||
twofa_enroll = Mag-enroll sa authentikasyong two-factor
|
||||
twofa_disable_note = Maari mong i-disable ang authentikasyong two-factor kapag kinakailangan.
|
||||
twofa_disable_note = Maaari mong i-disable ang authentikasyong two-factor kapag kinakailangan.
|
||||
twofa_disabled = Na-disable na ang authentikasyong two-factor.
|
||||
scan_this_image = I-scan ang image na ito gamit ng iyong aplikasyong pang-authentikasyon:
|
||||
or_enter_secret = O ilagay ang sikreto: %s
|
||||
|
@ -1005,8 +1005,8 @@ language.description = Mase-save ang wika sa iyong account at gagamitin bilang d
|
|||
language.localization_project = Tulungan kaming isalin ang Forgejo sa iyong wika! <a href="%s">Matuto pa</a>.
|
||||
pronouns_custom_label = Mga pasadyang pronoun
|
||||
user_block_yourself = Hindi mo maaaring harangan ang sarili mo.
|
||||
change_username_redirect_prompt.with_cooldown.one = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
|
||||
change_username_redirect_prompt.with_cooldown.few = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
|
||||
change_username_redirect_prompt.with_cooldown.one = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
|
||||
change_username_redirect_prompt.with_cooldown.few = Magiging available ang lumang username sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang username sa panahon ng panahon ng cooldown.
|
||||
keep_pronouns_private = Ipakita lang ang mga panghalip sa mga naka-authenticate na user
|
||||
keep_pronouns_private.description = Itatago nito ang iyong mga panghalip mula sa mga bisita na hindi naka-log in.
|
||||
quota.applies_to_user = Nag-aapply ang mga sumusunod na panuntunan ng quota sa iyong account
|
||||
|
@ -1071,7 +1071,7 @@ readme_helper_desc = Ito ang lugar kung saan makakasulat ka ng kumpletong deskri
|
|||
trust_model_helper_collaborator_committer = Katulong+Committer: I-trust ang mga signature batay sa mga katulong na tumutugma sa committer
|
||||
mirror_interval = Interval ng mirror (ang mga wastong unit ng oras ay "h", "m", "s"). 0 para i-disable ang periodic sync. (Pinakamababang interval: %s)
|
||||
transfer.reject_desc = Kanselahin ang pag-transfer mula sa "%s"
|
||||
mirror_lfs_endpoint_desc = Ang sync ay susubukang gamitin ang clone url upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maari ka rin tumukoy ng isang custom na endpoint kapag ang LFS data ng repositoryo ay nilalagay sa ibang lugar.
|
||||
mirror_lfs_endpoint_desc = Ang sync ay susubukang gamitin ang clone url upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maaari ka rin tumukoy ng isang custom na endpoint kapag ang LFS data ng repositoryo ay nilalagay sa ibang lugar.
|
||||
adopt_search = Ilagay ang username para maghanap ng mga unadopted na repositoryo… (iwanang walang laman para hanapin lahat)
|
||||
object_format = Format ng object
|
||||
readme_helper = Pumili ng README file template
|
||||
|
@ -1164,8 +1164,8 @@ tree_path_not_found_commit = Hindi umiiral ang path na %[1]s sa commit %[2]s
|
|||
tree_path_not_found_branch = Hindi umiiral ang daanang %[1]s sa branch %[2]s
|
||||
migrate_items_pullrequests = Mga hiling sa paghila
|
||||
archive.pull.nocomment = Naka-archive ang repositoryong ito. Hindi ka makakakomento sa mga pull request.
|
||||
archive.title = Naka-archive ang repositoryong ito. Maari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado ito, tulad ng pagtulak at paggawa ng mga isyu, pull request o mga komento.
|
||||
archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado nito, tulad ng pagtulak o paggawa ng mga bagong isyu, mga pull request, o komento.
|
||||
archive.title = Naka-archive ang repositoryong ito. Maaari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado ito, tulad ng pagtulak at paggawa ng mga isyu, pull request o mga komento.
|
||||
archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maaari mong itignan ang mga file at i-clone ito, pero hindi ka makakagawa ng anumang pagbabago sa estado nito, tulad ng pagtulak o paggawa ng mga bagong isyu, mga pull request, o komento.
|
||||
pulls = Mga hiling sa paghila
|
||||
activity.merged_prs_count_n = Mga naisamang hiling sa paghila
|
||||
wiki.last_updated = Huling binago %s
|
||||
|
@ -1183,7 +1183,7 @@ issues.action_open = Buksan
|
|||
issues.closed_title = Sarado
|
||||
issues.reopen_issue = Buksang muli
|
||||
pulls.merged = Naisama na
|
||||
pulls.merged_info_text = Maari nang burahin ang branch %s.
|
||||
pulls.merged_info_text = Maaari nang burahin ang branch %s.
|
||||
milestones.update_ago = Binago %s
|
||||
activity.closed_issue_label = Sarado
|
||||
activity.merged_prs_label = Naisama
|
||||
|
@ -1205,7 +1205,7 @@ migrate.clone_address_desc = Ang HTTP(S) o Git "clone" URL ng umiiral na reposit
|
|||
need_auth = Awtorisasyon
|
||||
migrate.github_token_desc = Maaari kang maglagay ng isa o higit pang mga token na hinihiwalay ng kuwit dito upang gawing mas-mabilis ang pagmigrate dahil sa rate limit ng GitHub API. BABALA: Ang pagabuso ng feature na ito ay maaaring maglabag sa patakaran ng tagapagbigay ng serbisyo at maaaring magdulot ng pag-block ng account.
|
||||
template.invalid = Kailangang pumili ng kahit isang template na repositoryo
|
||||
migrate_options_lfs_endpoint.description = Susubukan ng migration na gamitin ang iyong Git remote upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maari mong magtiyak ng custom na endpoint kapag ang LFS data ng repositoryo ay nakalagay sa ibang lugar.
|
||||
migrate_options_lfs_endpoint.description = Susubukan ng migration na gamitin ang iyong Git remote upang <a target="_blank" rel="noopener noreferrer" href="%s">matukoy ang LFS server</a>. Maaari mong magtiyak ng custom na endpoint kapag ang LFS data ng repositoryo ay nakalagay sa ibang lugar.
|
||||
blame.ignore_revs.failed = Nabigong hindi pansinin ang mga rebisyon sa <a href="%s">.git-blame-ignore-revs</a>.
|
||||
tree_path_not_found_tag = Hindi umiiral ang path na %[1]s sa tag %[2]s
|
||||
form.reach_limit_of_creation_n = Naabot na ng may-ari ang limitasyon na %d mga repositoryo.
|
||||
|
@ -1471,10 +1471,10 @@ activity.new_issue_label = Nabuksan
|
|||
activity.merged_prs_count_1 = Naisamang hiling sa paghila
|
||||
activity.opened_prs_count_1 = Inimungkahing hiling sa paghila
|
||||
activity.opened_prs_label = Inimungkahi
|
||||
pulls.reopened_at = `nabuksang muli ang hiling sa paghatak na <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at = `binuksan muli ang hiling sa paghila %s`
|
||||
issues.opened_by_fake = binuksan ang %[1]s ni/ng %[2]s
|
||||
pulls.reopen_failed.base_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil hindi na umiiral ang base branch.
|
||||
issues.reopened_at = `binuksang muli ang isyung ito <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at = `binuksang muli ang isyung ito %s`
|
||||
pulls.reopen_failed.head_branch = Hindi mabubuksan muli ang hiling sa paghila, dahil hindi na umiiral ang head branch.
|
||||
settings.event_pull_request_desc = Binuksan, sinara, muling binuksan, o binago ang hiling sa paghatak.
|
||||
activity.opened_prs_count_n = Mga inimungkahing hiling sa paghila
|
||||
|
@ -1500,7 +1500,7 @@ issues.content_history.created = ginawa
|
|||
editor.patching = Pina-patch:
|
||||
editor.fail_to_apply_patch = Hindi malapat ang patch na "%s"
|
||||
settings.danger_zone = Mapanganib na lugar
|
||||
issues.closed_at = `isinara ang isyung ito <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at = `isinara ang isyung ito %s`
|
||||
settings.collaboration.admin = Tagapangasiwa
|
||||
settings.admin_settings = Mga setting ng tagapangasiwa
|
||||
issues.start_tracking_history = `sinimulan ang trabaho %s`
|
||||
|
@ -1627,7 +1627,7 @@ projects.column.edit_title = Pangalan
|
|||
projects.column.new_title = Pangalan
|
||||
projects.card_type.desc = Mga preview ng card
|
||||
commits.desc = I-browse ang history ng pagbabago ng source code.
|
||||
commits.search.tooltip = Maari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09".
|
||||
commits.search.tooltip = Maaari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09".
|
||||
issues.force_push_codes = `puwersahang itinulak ang %[1]s mula <a class="%[7]s" href="%[3]s"><code>%[2]s</code></a> sa <a class="%[7]s" href="%[5]s"><code>%[4]s</code></a> %[6]s`
|
||||
issues.push_commit_1 = idinagdag ang %d commit %s
|
||||
issues.push_commits_n = idinagdag ang %d mga commit %s
|
||||
|
@ -1707,7 +1707,7 @@ issues.action_milestone = Milestone
|
|||
issues.action_milestone_no_select = Walang milestone
|
||||
issues.delete_branch_at = `binura ang branch na <b>%s</b> %s`
|
||||
issues.filter_label = Label
|
||||
issues.filter_label_exclude = `Gamitin ang <code>alt</code> + <code>click/enter</code> para hindi isama ang mga label`
|
||||
issues.filter_label_exclude = `Gamitin ang <kbd>Alt</kbd> + <kbd>Click</kbd> para hindi isama ang mga label`
|
||||
issues.filter_label_no_select = Lahat ng mga label
|
||||
issues.filter_milestone_closed = Mga nakasarang milestone
|
||||
issues.filter_assignee = Mangangasiwa
|
||||
|
@ -1771,7 +1771,7 @@ issues.lock = I-lock ang usapan
|
|||
issues.unlock = I-unlock ang usapan
|
||||
issues.unlock_comment = na-unlock ang usapang ito %s
|
||||
issues.unlock.notice_1 = - Makakakomento muli ang lahat ng mga tao sa isyung ito.
|
||||
issues.unlock.notice_2 = - Maari mong i-lock muli ang isyung ito sa hinaharap.
|
||||
issues.unlock.notice_2 = - Maaari mong i-lock muli ang isyung ito sa hinaharap.
|
||||
issues.comment_on_locked = Hindi ka makakakomento sa naka-lock na isyu.
|
||||
issues.closed_by_fake = ni/ng %[2]s ay isinara %[1]s
|
||||
issues.comment_manually_pull_merged_at = manwal na isinama ang commit %[1]s sa %[2]s %[3]s
|
||||
|
@ -1787,10 +1787,10 @@ issues.label_archive_tooltip = Ang mga naka-archive na label ay hindi isasama bi
|
|||
issues.is_stale = May mga pagbabago sa PR na ito mula sa pagsuri na ito
|
||||
issues.role.first_time_contributor = Unang-beses na contributor
|
||||
issues.lock.notice_1 = - Hindi makakadagdag ng mga bagong komento ang mga ibang user sa isyu na ito.
|
||||
issues.lock.notice_3 = - Maari mong i-unlock muli ang isyung ito sa hinaharap.
|
||||
issues.lock.notice_3 = - Maaari mong i-unlock muli ang isyung ito sa hinaharap.
|
||||
issues.label_deletion_desc = Ang pagbura ng label ay tatanggalin ito sa lahat ng mga isyu. Magpatuloy?
|
||||
issues.commit_ref_at = `isinangguni ang isyu na ito mula sa commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from = `<a href="%[3]s">isinangguni ang isyu na ito sa %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at = `isinangguni ang isyu na ito mula sa commit %s`
|
||||
issues.ref_issue_from = `<a href="%[2]s">isinangguni ang isyu na ito sa %[3]s</a> %[1]s`
|
||||
issues.num_participants_one = %d kasali
|
||||
issues.attachment.download = `I-click para i-download ang "%s" `
|
||||
issues.num_participants_few = %d mga kasali
|
||||
|
@ -1815,10 +1815,10 @@ issues.sign_in_require_desc = <a href="%s">Mag-sign in</a> upang sumali sa usapa
|
|||
issues.num_comments = %d mga komento
|
||||
issues.role.contributor_helper = Nakaraang nag-commit ang user na ito sa repositoryo na ito.
|
||||
issues.comment_pull_merged_at = isinama ang commit %[1]s sa %[2]s %[3]s
|
||||
pulls.commit_ref_at = `isinangguni ang hiling sa paghila mula sa isang commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `isinangguni ang hiling sa paghila mula sa isang commit %s`
|
||||
wiki.last_commit_info = Binago ni %s ang pahinang ito %s
|
||||
issues.content_history.edited = binago
|
||||
issues.ref_pull_from = `<a href="%[3]s">isinangguni ang hiling sa paghila na ito %[4]s </a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from = `<a href="%[2]s">isinangguni ang hiling sa paghila na ito %[3]s</a> %[1]s`
|
||||
pulls.merged_title_desc_few = isinali ang %[1]d mga commit mula sa <code>%[2]s</code> patungong <code>%[3]s</code> %[4]s
|
||||
settings.org_not_allowed_to_be_collaborator = Hindi maaaring idagdag ang mga organisasyon bilang tagatulong.
|
||||
settings.add_collaborator_success = Naidagdag ang tagatulong.
|
||||
|
@ -1828,7 +1828,7 @@ pulls.create = Gumawa ng hiling sa paghila
|
|||
issues.dependency.pr_close_blocked = Kailangan mong isara ang lahat ng mga isyu na humaharang sa hiling sa paghila na ito bago mo ito isama.
|
||||
pulls.delete.title = Burahin ang hiling sa paghila na ito?
|
||||
issues.dependency.pr_closing_blockedby = Hinarang ng mga sumusunod na isyu mula sa pagsara ng hiling sa paghila na ito
|
||||
pulls.closed_at = `isinara ang hiling sa paghila na <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at = `isinara ang hiling sa paghila na ito %s`
|
||||
pulls.close = Isara ang hiling sa paghila
|
||||
pulls.cmd_instruction_hint = Tingnan ang mga panuto para sa command line
|
||||
project = Mga proyekto
|
||||
|
@ -1836,8 +1836,8 @@ issues.content_history.deleted = binura
|
|||
pulls.no_results = Walang mga nahanap na resulta.
|
||||
pulls.closed = Sarado ang hiling sa paghila
|
||||
pulls.is_closed = Naisara na ang hiling sa paghila.
|
||||
issues.ref_closing_from = `<a href="%[3]s">nagsangguni ang isyu mula sa hiling sa paghila %[4]s na magsasara sa isyu</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from = `<a href="%[3]s">nagsangguni ang isyu na ito mula sa hiling sa paghila %[4]s na muling bubukas</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from = `<a href="%[2]s">nagsangguni ang isyu mula sa hiling sa paghila %[3]s na magsasara sa isyu</a>, %[1]s`
|
||||
issues.ref_reopening_from = `<a href="%[2]s">nagsangguni ang isyu na ito mula sa hiling sa paghila %[3]s na muling bubukas nito</a>, %[1]s`
|
||||
issues.ref_closed_from = `<a href="%[3]s">isinara ang isyung ito %[4]s</a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.review.wait = hiniling sa pagsuri %s
|
||||
issues.review.reject = hinihiling ang mga pagbago %s
|
||||
|
@ -2015,14 +2015,14 @@ wiki.cancel = Kanselahin
|
|||
settings.collaboration.undefined = Hindi Natukoy
|
||||
settings.federation_settings = Mga Setting ng Federation
|
||||
settings = Mga Setting
|
||||
settings.desc = Ang mga setting ang lugar kung saan maari mong ipamahala ang mga setting para sa repositoryo
|
||||
settings.desc = Ang mga setting ang lugar kung saan maaari mong ipamahala ang mga setting para sa repositoryo
|
||||
pulls.collapse_files = I-collapse ang lahat ng mga file
|
||||
pulls.add_prefix = Magdagdag ng <strong>%s</strong> na prefix
|
||||
pulls.still_in_progress = Ginagawa pa?
|
||||
activity.title.prs_1 = %d hiling sa paghila
|
||||
activity.active_issues_count_n = <strong>%d</strong> mga aktibong isyu
|
||||
pulls.required_status_check_missing = Nawawala ang ilang mga kinakailangang pagsusuri.
|
||||
pulls.required_status_check_administrator = Bilang tagapangasiwa, maari mo pa ring isama ang hiling sa paghila na ito.
|
||||
pulls.required_status_check_administrator = Bilang tagapangasiwa, maaari mo pa ring isama ang hiling sa paghila na ito.
|
||||
pulls.blocked_by_approvals = Wala pang sapat na pag-apruba ang hiling sa paghila na ito. %d ng %d na pag-apruba ang ibinigay.
|
||||
settings.options = Repositoryo
|
||||
wiki.back_to_wiki = Bumalik sa pahina ng wiki
|
||||
|
@ -2110,7 +2110,7 @@ settings.actions_desc = I-enable ang mga kasamang CI/CD pipeline gamit ang Forge
|
|||
settings.admin_indexer_commit_sha = Huling na-index na commit
|
||||
settings.admin_indexer_unindexed = Hindi naka-index
|
||||
settings.transfer_notices_3 = - Kung pribado ang repositoryo at ilipat sa isang indibidwal na user, ang aksyon na ito ay sinisigurado na ang user ay may pahintulot na basahin (at palitan ang mga pahintulot kung kailangan).
|
||||
settings.convert_desc = Maari mong i-convert ang repositoryo na ito sa regular na repositoryo. Hindi ito mababawi.
|
||||
settings.convert_desc = Maaari mong i-convert ang repositoryo na ito sa regular na repositoryo. Hindi ito mababawi.
|
||||
settings.transfer.button = Ilipat ang pagmamay-ari
|
||||
settings.signing_settings = Mga setting sa pagpapatunay ng pag-sign
|
||||
settings.admin_enable_close_issues_via_commit_in_any_branch = Isara ang isyu sa pamamagitan ng commit na ginawa sa hindi default na branch
|
||||
|
@ -2137,7 +2137,7 @@ settings.deploy_key_deletion = Tanggalin ang deploy key
|
|||
settings.protect_enable_push = I-enable ang pagtulak
|
||||
settings.discord_icon_url.exceeds_max_length = Kailangang bababa o equal sa 2048 characters ang URL ng icon
|
||||
settings.protected_branch.save_rule = I-save ang rule
|
||||
settings.mirror_settings.docs.can_still_use = Bagama't na hindi ka makakabago ng mga umiiral na mirror o gumawa ng bago, maari mo pa rin gamitin ang iyong umiiral na mirror.
|
||||
settings.mirror_settings.docs.can_still_use = Bagama't na hindi ka makakabago ng mga umiiral na mirror o gumawa ng bago, maaari mo pa rin gamitin ang iyong umiiral na mirror.
|
||||
settings.slack_color = Kulay
|
||||
settings.discord_icon_url = URL ng icon
|
||||
settings.convert_fork_confirm = I-convert ang repositoryo
|
||||
|
@ -2254,7 +2254,7 @@ settings.pulls.allow_rebase_update = I-enable ang pag-update ng hiling sa paghil
|
|||
settings.admin_enable_health_check = I-enable ang pagsusuri ng kalusugan ng repositoryo (git fsck)
|
||||
settings.new_owner_has_same_repo = Ang bagong may-ari ay may repositoryo na may katulad na pangalan. Mangyaring pumili ng ibang pangalan.
|
||||
settings.convert = I-convert sa regular na repositoryo
|
||||
settings.convert_fork_desc = Maari mong i-convert ang fork na ito bilang regular na repositoryo. Hindi ito mababawi.
|
||||
settings.convert_fork_desc = Maaari mong i-convert ang fork na ito bilang regular na repositoryo. Hindi ito mababawi.
|
||||
settings.convert_fork_notices_1 = Ang operasyon na ito ay ico-convert ang fork bilang regular na repositoryo at hindi mababawi.
|
||||
settings.transfer_abort_invalid = Hindi mo makakansela ang isang hindi umiiral na paglipat ng repositoryo.
|
||||
settings.transfer_quota_exceeded = Ang bagong may-ari (%s) ay lumalagpas sa quota. Hindi nailipat ang repositoryo.
|
||||
|
@ -2290,8 +2290,8 @@ settings.webhook.headers = Mga header
|
|||
settings.webhook.payload = Nilalaman
|
||||
settings.webhook.body = Katawan
|
||||
settings.webhook.replay.description = I-replay ang webhook na ito.
|
||||
settings.webhook.delivery.success = May nadagdag na event sa delivery queue. Maari magtagal ng ilang segundo bago makita sa delivery history.
|
||||
settings.githooks_desc = Pinapagana ng Git ang mga Git hook. Maari mong baguhin ang mga hook file sa ibaba para mag-set up ng mga custom na operasyon.
|
||||
settings.webhook.delivery.success = May nadagdag na event sa delivery queue. Maaari magtagal ng ilang segundo bago makita sa delivery history.
|
||||
settings.githooks_desc = Pinapagana ng Git ang mga Git hook. Maaari mong baguhin ang mga hook file sa ibaba para mag-set up ng mga custom na operasyon.
|
||||
settings.githook_name = Pangalan ng hook
|
||||
settings.githook_content = Nilalaman ng hook
|
||||
settings.update_githook = I-update ang hook
|
||||
|
@ -2362,7 +2362,7 @@ settings.mirror_settings.docs.pull_mirror_instructions = Para mag-set up ng pull
|
|||
milestones.invalid_due_date_format = Kailangang "yyyy-mm-dd" na format ang takdang petsa.
|
||||
signing.wont_sign.nokey = Walang key ang instansya na ito para i-sign ang commit na ito.
|
||||
activity.title.releases_1 = %d paglabas
|
||||
settings.mirror_settings.docs.more_information_if_disabled = Maari kang matuto pa tungkol sa mga push at pull na mirror dito:
|
||||
settings.mirror_settings.docs.more_information_if_disabled = Maaari kang matuto pa tungkol sa mga push at pull na mirror dito:
|
||||
settings.branches.switch_default_branch = Magpalit ng default branch
|
||||
settings.convert_notices_1 = Ang operasyon na ito ay ico-covert ang mirror sa regular na repositoryo at hindi mababawi.
|
||||
settings.convert_fork_succeed = Na-convert na ang fork sa regular na repositoryo.
|
||||
|
@ -2732,7 +2732,7 @@ settings.protect_protected_file_patterns = Mga pattern ng nakaprotektang file (h
|
|||
settings.update_protect_branch_success = Binago na ang branch protection rule na "%s".
|
||||
settings.remove_protected_branch_success = Tinanggal ang branch protection rule na "%s".
|
||||
settings.tags.protection.pattern = Pattern ng tag
|
||||
settings.tags.protection.pattern.description = Maari kang gumamit ng iisang pangalan o glob pattern o regular expression para magtugma ng maraming tag. Magbasa pa sa <a target="_blank" rel="noopener" href="%s">guide ng mga nakaprotektang tag</a>.
|
||||
settings.tags.protection.pattern.description = Maaari kang gumamit ng iisang pangalan o glob pattern o regular expression para magtugma ng maraming tag. Magbasa pa sa <a target="_blank" rel="noopener" href="%s">guide ng mga nakaprotektang tag</a>.
|
||||
settings.thread_id = ID ng thread
|
||||
settings.matrix.room_id = ID ng room
|
||||
diff.has_escaped = May mga nakatagong Unicode character ang linya na ito
|
||||
|
@ -2746,7 +2746,7 @@ diff.bin = BIN
|
|||
settings.default_update_style_desc = Ang default na istilio na gagamitin sa pag-update ng mga hiling sa paghila na nalilipas sa base branch.
|
||||
pulls.sign_in_require = <a href="%s">Mag-sign in</a> para gumawa ng bagong hiling sa paghila.
|
||||
new_from_template = Gumamit ng template
|
||||
new_from_template_description = Maari kang pumili ng umiiral na repository template sa instansya na ito at i-apply ang mga setting nito.
|
||||
new_from_template_description = Maaari kang pumili ng umiiral na repository template sa instansya na ito at i-apply ang mga setting nito.
|
||||
new_advanced = Mga advanced na setting
|
||||
new_advanced_expand = I-click para i-expand
|
||||
auto_init_description = Simulan ang kasaysayan ng Git gamit ang README at opsyonal na magdagdag ng mga lisensya at .gitignore na file.
|
||||
|
@ -2780,6 +2780,7 @@ settings.event_action_recover = I-recover
|
|||
settings.event_action_success = Matagumpay
|
||||
settings.event_action_success_desc = Matagumpay na natapos ang Action Run.
|
||||
settings.event_action_recover_desc = Matagumpay na natapos ang Action Run pagkatapos na nabigo ang huling Action Run sa katulad na workflow.
|
||||
issues.filter_type.all_pull_requests = Lahat ng mga hiling sa paghila
|
||||
|
||||
[search]
|
||||
commit_kind = Maghanap ng mga commit…
|
||||
|
@ -3205,7 +3206,7 @@ self_check.database_collation_mismatch = Inaasahan ang database na gamitin ang c
|
|||
auths.oauth2_admin_group = Group claim value para sa mga tagapangasiwa. (Opsyonal - kinakailangan ang claim name sa itaas)
|
||||
auths.tip.facebook = Magrehistro ng bagong application sa %s at idagdag ang produktong "Facebook Login"
|
||||
users.restricted.description = Payagan lamang ang interaksyon sa mga repositoryo at organisasyon kung saan ang user ay dinagdag bilang tagatulong. Iniiwasan nito ang pag-access sa publikong repositoryo sa instansya na ito.
|
||||
users.local_import.description = Payagan ang pag-import ng mga repositoryo mula sa local file system ng user. Maari itong maging isyu sa seguridad.
|
||||
users.local_import.description = Payagan ang pag-import ng mga repositoryo mula sa local file system ng user. Maaari itong maging isyu sa seguridad.
|
||||
emails.delete = Burahin ang Email
|
||||
emails.deletion_success = Binura na ang email address.
|
||||
auths.oauth2_required_claim_value = Kinakailangan na claim value
|
||||
|
@ -3450,8 +3451,8 @@ teams.owners_permission_desc = Ang mga owner ay may punong access sa <strong>lah
|
|||
teams.add_nonexistent_repo = Hindi pa umiiral ang repositoryo na sinusubukan mong idagdag. Mangyaring gawin iyan muna.
|
||||
teams.all_repositories = Lahat ng mga repositoryo
|
||||
teams.all_repositories_helper = Ang koponan ay may access sa lahat ng mga repositoryo. Ang pagpili nito ay <strong>idadagdag ang lahat ng mga umiiral</strong> na repositoryo sa koponan.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang pangalan sa panahon ng cooldown.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw, maari mo pa ring ma-claim muli ang lumang pangalan ng panahon ng cooldown.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang pangalan sa panahon ng cooldown.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = Magiging available ang lumang pangalan ng organisasyon sa lahat pagkatapos ng panahon ng cooldown ng %[1]d araw. Maaari mo pa ring ma-claim muli ang lumang pangalan ng panahon ng cooldown.
|
||||
|
||||
|
||||
[packages]
|
||||
|
|
|
@ -1062,8 +1062,8 @@ language.localization_project = Aidez-nous à traduire Forgejo dans votre langue
|
|||
language.description = Cette langue sera enregistrée dans votre compte et utilisée comme langue par défaut après votre connexion.
|
||||
user_block_yourself = Vous ne pouvez pas vous bloquer vous même.
|
||||
pronouns_custom_label = Pronoms personnalisés
|
||||
change_username_redirect_prompt.with_cooldown.one = L'ancien pseudonyme sera disponible pour n'importe qui après une période d'%[1]d jour, vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
|
||||
change_username_redirect_prompt.with_cooldown.few = L'ancien pseudonyme sera disponible pour n'importe qui après une période de %[1]d jours, vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
|
||||
change_username_redirect_prompt.with_cooldown.one = L'ancien pseudonyme sera disponible pour n'importe qui après une période d'%[1]d jour. Vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
|
||||
change_username_redirect_prompt.with_cooldown.few = L'ancien pseudonyme sera disponible pour n'importe qui après une période de %[1]d jours. Vous pouvez toujours réclamer votre ancien pseudonyme pendant cette période.
|
||||
quota.rule.exceeded = Dépassé
|
||||
regenerate_token = Régénérer
|
||||
access_token_regeneration = Régénérer le token d'accès
|
||||
|
@ -1653,13 +1653,13 @@ issues.close_comment_issue=Fermer avec le commentaire
|
|||
issues.reopen_issue=Rouvrir
|
||||
issues.reopen_comment_issue=Réouvrir avec le commentaire
|
||||
issues.create_comment=Commenter
|
||||
issues.closed_at=`a fermé ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
issues.reopened_at=`a rouvert ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
issues.commit_ref_at=`a référencé ce ticket depuis une révision <a id="%[1]s" href="#%[1]s"> %[2]s</a>.`
|
||||
issues.ref_issue_from=`<a href="%[3]s">a fait référence à %[4]s</a> ce ticket <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
issues.ref_pull_from=`<a href="%[3]s">a fait référence</a> à cette demande d'ajout %[4]s <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
issues.ref_closing_from=`<a href="%[3]s">a fait référence</a> à une demande d'ajout %[4]s qui clora ce ticket, <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">a référencé une pull request %[4]s qui va ré-ouvrir ce ticket</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`a fermé ce ticket %s`
|
||||
issues.reopened_at=`a rouvert ce ticket %s`
|
||||
issues.commit_ref_at=`a référencé ce ticket depuis une révision %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">a fait référence à ce ticket %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">a fait référence à cette demande d'ajout %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">a fait référence à une demande d'ajout %[3]s qui clora ce ticket</a>, %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">a référencé ce ticket dans une pull request %[3]s qui va ré-ouvrir ce ticket</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">a fermé ce ticket %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">a rouvert</a> ce ticket %[4]s <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
issues.ref_from=`de %[1]s`
|
||||
|
@ -1967,8 +1967,8 @@ pulls.update_branch_success=La mise à jour de la branche a réussi
|
|||
pulls.update_not_allowed=Vous n'êtes pas autorisé à mettre à jour la branche
|
||||
pulls.outdated_with_base_branch=Cette branche est désynchronisée avec la branche de base
|
||||
pulls.close=Fermer la demande d’ajout
|
||||
pulls.closed_at=`a fermé cette demande d'ajout <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
pulls.reopened_at=`a rouvert cette demande d'ajout <a id="%[1]s" href="#%[1]s">%[2]s</a>.`
|
||||
pulls.closed_at=`a fermé cette demande d'ajout %s`
|
||||
pulls.reopened_at=`a rouvert cette demande d'ajout %s`
|
||||
pulls.cmd_instruction_hint=Voir les instructions en ligne de commande
|
||||
pulls.cmd_instruction_checkout_title=Basculer
|
||||
pulls.cmd_instruction_checkout_desc=Depuis votre dépôt, basculer sur une nouvelle branche et tester des modifications.
|
||||
|
@ -2762,7 +2762,7 @@ issues.blocked_by_user = Vous ne pouvez pas créer de tickets sur ce dépôt car
|
|||
pulls.blocked_by_user = Vous ne pouvez pas créer une pull request sur ce dépôt car vous êtes bloqué par son propriétaire.
|
||||
wiki.cancel = Annuler
|
||||
settings.wiki_globally_editable = Permettre l'édition du wiki a tout le monde
|
||||
pulls.commit_ref_at = `a référencé cette pull request depuis le commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `a référencé cette pull request depuis un commit %s`
|
||||
settings.new_owner_blocked_doer = Le nouveau propriétaire vous a bloqué.
|
||||
settings.enter_repo_name = Confirmez en entrant le propriétaire et le nom du dépôt exactement comme affiché :
|
||||
settings.wiki_rename_branch_main = Normalise le nom de la branche du Wiki
|
||||
|
@ -3058,8 +3058,8 @@ teams.invite.by=Invité par %s
|
|||
teams.invite.description=Veuillez cliquer sur le bouton ci-dessous pour rejoindre l’équipe.
|
||||
follow_blocked_user = Vous ne pouvez pas suivre cette organisation car elle vous a bloqué.
|
||||
open_dashboard = Ouvrir le tableau de bord
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = L'ancien nom d'organisation sera disponible pour n'importe qui après une période de %[1]d jours, vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = L'ancien nom d'organisation sera disponible pour n'importe qui après une période d'%[1]d jour, vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = L'ancien nom d'organisation sera disponible pour n'importe qui après une période de %[1]d jours. Vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = L'ancien nom d'organisation sera disponible pour n'importe qui après une période d'%[1]d jour. Vous pouvez toujours réclamer votre ancien nom d'organisation pendant cette période.
|
||||
|
||||
[admin]
|
||||
dashboard=Tableau de bord
|
||||
|
|
|
@ -1219,11 +1219,11 @@ issues.close_comment_issue = Dún le trácht
|
|||
issues.reopen_issue = Athoscail
|
||||
issues.reopen_comment_issue = Athoscail le trácht
|
||||
issues.create_comment = Trácht
|
||||
issues.closed_at = `dhún an cheist seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at = `athoscail an t-eagrán seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at = `rinne tagairt don cheist seo ó ghealltanas <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from = `<a href="%[3]s">rinne dagairt don cheist seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from = `<a href="%[3]s">rinne dagairt don iarratas tarraingthe seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[ 2]s</a>`
|
||||
issues.closed_at = `dhún an cheist seo %s`
|
||||
issues.reopened_at = `athoscail an t-eagrán seo %s`
|
||||
issues.commit_ref_at = `rinne tagairt don cheist seo ó ghealltanas %s`
|
||||
issues.ref_issue_from = `<a href="%[2]s">rinne dagairt don cheist seo %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from = `<a href="%[2]s">rinne dagairt don iarratas tarraingthe seo %[3]s</a> %[1]s`
|
||||
issues.ref_closed_from = `<a href="%[3]s">dhún an cheist seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from = `<a href="%[3]s">d'athoscail an eagrán seo %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from = `ó %[1]s`
|
||||
|
@ -1456,8 +1456,8 @@ pulls.update_branch_success = Bhí nuashonrú brainse rathúil
|
|||
pulls.update_not_allowed = Ní cheadaítear duit brainse a nuashonrú
|
||||
pulls.outdated_with_base_branch = Tá an brainse seo as dáta leis an mbunbhrainse
|
||||
pulls.close = Dún Iarratas Tarraing
|
||||
pulls.closed_at = `dhún an t-iarratas tarraingthe seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at = `athoscail an t-iarratas tarraingthe seo <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at = `dhún an t-iarratas tarraingthe seo %s`
|
||||
pulls.reopened_at = `athoscail an t-iarratas tarraingthe seo %s`
|
||||
pulls.cmd_instruction_checkout_title = Seiceáil
|
||||
pulls.cmd_instruction_checkout_desc = Ó stór tionscadail, seiceáil brainse nua agus déan tástáil ar na hathruithe.
|
||||
pulls.cmd_instruction_merge_title = Cumaisc
|
||||
|
|
|
@ -932,7 +932,7 @@ issues.close_comment_issue=Hozzászólás és lezárás
|
|||
issues.reopen_issue=Újranyitás
|
||||
issues.reopen_comment_issue=Hozzászólás és újranyitás
|
||||
issues.create_comment=Hozzászólás
|
||||
issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`hivatkozott erre a hibajegyre egy commit-ból %s`
|
||||
issues.role.owner=Tulajdonos
|
||||
issues.role.member=Tag
|
||||
issues.re_request_review=Véleményezés újrakérése
|
||||
|
|
|
@ -796,7 +796,7 @@ issues.close_comment_issue=Komentar dan Tutup
|
|||
issues.reopen_issue=Buka kembali
|
||||
issues.reopen_comment_issue=Komentar dan Buka Kembali
|
||||
issues.create_comment=Komentar
|
||||
issues.commit_ref_at=`merujuk masalah dari komit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`merujuk masalah dari komit %s`
|
||||
issues.role.owner=Pemilik
|
||||
issues.role.member=Anggota
|
||||
issues.sign_in_require_desc=<a href="%s">Masuk</a> untuk bergabung dengan percakapan ini.
|
||||
|
|
|
@ -805,8 +805,8 @@ issues.close_comment_issue=Senda ummæli og Loka
|
|||
issues.reopen_issue=Enduropna
|
||||
issues.reopen_comment_issue=Senda ummæli og Enduropna
|
||||
issues.create_comment=Senda Ummæli
|
||||
issues.closed_at=`lokaði þessu vandamáli <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`enduropnaði þetta vandamál <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`lokaði þessu vandamáli %s`
|
||||
issues.reopened_at=`enduropnaði þetta vandamál %s`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">enduropnaði þetta vandamál %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.author=Höfundur
|
||||
issues.role.owner=Eigandi
|
||||
|
|
|
@ -54,7 +54,7 @@ mirror=Mirror
|
|||
new_repo=Nuovo repository
|
||||
new_migrate=Nuova migrazione
|
||||
new_mirror=Nuovo mirror
|
||||
new_fork=Nuova derivazione
|
||||
new_fork=Nuova biforcazione
|
||||
new_org=Nuova organizzazione
|
||||
new_project=Nuovo progetto
|
||||
manage_org=Gestisci le organizzazioni
|
||||
|
@ -143,12 +143,12 @@ confirm_delete_selected = Confermare l'eliminazione di tutti gli elementi selezi
|
|||
sign_in_with_provider = Accedi con %s
|
||||
new_project_column = Nuova colonna
|
||||
toggle_menu = Mostra/Nascondi menu
|
||||
filter.not_fork = Non fork
|
||||
filter.not_fork = Non biforcazioni
|
||||
filter = Filtro
|
||||
filter.clear = Rimuovi filtri
|
||||
filter.is_archived = Archiviato
|
||||
filter.not_archived = Non archiviato
|
||||
filter.is_fork = Da fork
|
||||
filter.is_fork = Biforcazioni
|
||||
filter.is_mirror = Mirror
|
||||
filter.not_mirror = Non mirror
|
||||
filter.is_template = Modelli
|
||||
|
@ -209,6 +209,7 @@ table_modal.label.columns = Colonne
|
|||
link_modal.header = Aggiungi collegamento
|
||||
link_modal.url = Url
|
||||
link_modal.description = Descrizione
|
||||
link_modal.paste_reminder = Suggerimento: se hai già copiato un URL negli appunti, puoi incollarlo direttamente nell’editor per creare un collegamento.
|
||||
|
||||
[filter]
|
||||
string.asc = A - Z
|
||||
|
@ -232,6 +233,7 @@ lightweight_desc=Forgejo ha requisiti minimi bassi e può funzionare su un econo
|
|||
license=Open Source
|
||||
license_desc=Ottieni <a target="_blank" rel="noopener noreferrer" href="%[1]s">Forgejo</a>! Partecipa per <a target="_blank" rel="noopener noreferrer" href="%[2]s">contribuire</a> a rendere questo progetto ancora più bello. Non aver paura di diventare collaborante!
|
||||
install_desc = Semplicemente <a target="_blank" rel="noopener noreferrer" href="%[1]s">avvia l'eseguibile</a> per la tua piattaforma, distribuiscilo con <a target="_blank" rel="noopener noreferrer" href="%[2]s">Docker</a>, oppure scarica il <a target="_blank" rel="noopener noreferrer" href="%[3]s">pacchetto</a>.
|
||||
platform_desc = È stato verificato che Forgejo è pienamente compatibile con sistemi operativi liberi, come Linux e FreeBSD, nonché con diverse architetture CPU. Scegli liberamente la piattaforma che preferisci!
|
||||
|
||||
[install]
|
||||
install=Installazione
|
||||
|
@ -396,12 +398,12 @@ go_to = Vai a
|
|||
search.type.tooltip = Tipo di ricerca
|
||||
search.fuzzy.tooltip = Includi anche i risultati che corrispondono parzialmente ai termini di ricerca
|
||||
code_search_results = Risultati di ricerca per "%s"
|
||||
relevant_repositories_tooltip = I repositori derivati o che non hanno argomento, icona, né descrizione sono nascosti.
|
||||
relevant_repositories_tooltip = I repositori che sono biforcazioni o che non hanno argomento, icona, né descrizione sono nascosti.
|
||||
relevant_repositories = Sono visibili solo i repositori pertinenti, <a href="%s">mostra risultati non filtrati</a>.
|
||||
search.match.tooltip = Includi solo risultati che combaciano perfettamente con i termini di ricerca
|
||||
stars_few = %d stelle
|
||||
forks_one = %d fork
|
||||
forks_few = %d fork
|
||||
forks_one = %d biforcazioni
|
||||
forks_few = %d biforcazioni
|
||||
stars_one = %d stella
|
||||
|
||||
[auth]
|
||||
|
@ -485,6 +487,8 @@ sign_in_openid = Procedi con OpenID
|
|||
hint_login = Hai già un'utenza? <a href="%s">Accedi!</a>
|
||||
hint_register = Non hai un'utenza? <a href="%s">Registrati ora.</a>
|
||||
sign_up_button = Registrati ora.
|
||||
unauthorized_credentials = Le credenziali non sono corrette o sono scadute. Controlla il comando o vedi %s per maggiori informazioni
|
||||
use_onetime_code = Usa un codice monouso
|
||||
|
||||
[mail]
|
||||
view_it_on=Visualizza su %s
|
||||
|
@ -680,6 +684,8 @@ Location = Posizione
|
|||
AccessToken = Token di accesso
|
||||
FullName = Nome e cognome
|
||||
To = Nome del ramo
|
||||
email_domain_is_not_allowed = Il dominio dell'indirizzo email dell'utente <b>%s</b> è in conflitto con EMAIL_DOMAIN_ALLOWLIST o EMAIL_DOMAIN_BLOCKLIST. Assicurati di aver inserito correttamente l'indirizzo email.
|
||||
username_claiming_cooldown = Il nome utente non può essere assegnato, poiché il periodo di attesa non è ancora terminato. Sarà disponibile il %[1]s.
|
||||
|
||||
|
||||
[user]
|
||||
|
@ -723,6 +729,7 @@ followers.title.one = Seguace
|
|||
followers.title.few = Seguaci
|
||||
following.title.one = Seguito
|
||||
following.title.few = Osservato
|
||||
public_activity.visibility_hint.self_private_profile = Poiché il tuo profilo è privato, la tua attività è visibile solo a te e agli amministratori dell'istanza. <a href="%s">Configura</a>.
|
||||
|
||||
|
||||
[settings]
|
||||
|
@ -1045,7 +1052,7 @@ added_on = Aggiunto su %s
|
|||
additional_repo_units_hint = Suggerisci l'attivazione di unità aggiuntive nel repositorio
|
||||
update_hints = Aggiorna suggerimenti
|
||||
update_hints_success = I suggerimenti sono stati aggiornati.
|
||||
additional_repo_units_hint_description = Mostra un pulsante "Aggiungi più sezioni..." per i repositori che non hanno tutte le sezioni disponibili aggiunte.
|
||||
additional_repo_units_hint_description = Visualizza un suggerimento “Abilita altro” per i repositori che non hanno tutte le unità disponibili abilitate.
|
||||
hints = Suggerimenti
|
||||
pronouns = Pronomi
|
||||
pronouns_custom = Personalizzato
|
||||
|
@ -1053,6 +1060,34 @@ pronouns_unspecified = Non specificato
|
|||
language.title = Lingua predefinita
|
||||
language.description = Questa lingua verrà salvata nella tua utenza e verrà usata come predefinita ogni volta che farai l'accesso.
|
||||
language.localization_project = Aiutaci a tradurre Forgejo nella tua lingua! <a href="%s">Più informazioni</a>.
|
||||
quota.sizes.assets.attachments.all = Allegati
|
||||
quota.rule.no_limit = Illimitato
|
||||
quota.sizes.assets.attachments.releases = Allegati del rilascio
|
||||
quota.rule.exceeded = Superato
|
||||
regenerate_token = Rigenera
|
||||
access_token_regeneration = Rigenera il token d'accesso
|
||||
access_token_regeneration_desc = Rigenerare un token comporterà la revoca dell'accesso al tuo account per tutte le applicazioni che lo utilizzano. Questa operazione è irreversibile. Vuoi procedere?
|
||||
regenerate_token_success = Il token è stato rigenerato. Le applicazioni che lo utilizzano non hanno più accesso alla tua utenza e devono essere aggiornate con il nuovo token.
|
||||
user_block_yourself = Non puoi bloccare te stesso.
|
||||
quota.applies_to_user = Le seguenti regole di quota si applicano al tuo account
|
||||
quota.applies_to_org = Le seguenti regole di quota si applicano a questa organizzazione
|
||||
quota.rule.exceeded.helper = La dimensione totale degli oggetti per questa regola ha superato la quota.
|
||||
quota.sizes.all = Tutti
|
||||
quota.sizes.repos.all = Repositori
|
||||
quota.sizes.repos.public = Repositori pubblici
|
||||
quota.sizes.repos.private = Repositori privati
|
||||
quota.sizes.git.all = Contenuto git
|
||||
quota.sizes.git.lfs = Git LFS
|
||||
quota.sizes.assets.all = Risorse
|
||||
quota.sizes.assets.attachments.issues = Allegati della segnalazione
|
||||
quota.sizes.assets.artifacts = Artefatti
|
||||
quota.sizes.assets.packages.all = Pacchetti
|
||||
quota.sizes.wiki = Wiki
|
||||
keep_pronouns_private = Mostra i pronomi solo agli utenti che hanno effettuato il login
|
||||
keep_pronouns_private.description = Questa impostazione nasconderà i tuoi pronomi agli utenti non ancora autenticati.
|
||||
storage_overview = Panoramica spazio di archiviazione
|
||||
quota = Quota
|
||||
change_username_redirect_prompt.with_cooldown.one = Il vecchio nome utente sarà disponibile per tutti dopo un periodo di protezione di %\[1]d giorni. Durante questo periodo di attesa potrai comunque tornare al vecchio nome utente.
|
||||
|
||||
[repo]
|
||||
owner=Proprietario
|
||||
|
@ -1067,10 +1102,10 @@ template_description=I modelli di repositori consentono allɜ utenti di generare
|
|||
visibility=Visibilità
|
||||
visibility_description=Solo il proprietario o i membri dell'organizzazione se hanno diritti, saranno in grado di vederlo.
|
||||
visibility_helper_forced=L'amministratorə del sito impone che i nuovi repositori siano privati.
|
||||
visibility_fork_helper=(Questa modifica influenzerà la visibilità di tutti i fork.)
|
||||
visibility_fork_helper=(Questa modifica influenzerà la visibilità di tutte le biforcazioni.)
|
||||
clone_helper=Hai bisogno di aiuto per la clonazione? Visita <a target="_blank" rel="noopener noreferrer" href="%s">Help</a>.
|
||||
fork_repo=Deriva repositorio
|
||||
fork_from=Deriva da
|
||||
fork_from=Biforcazione di
|
||||
already_forked=Hai già fatto il fork di %s
|
||||
fork_to_different_account=Fai Fork a un account diverso
|
||||
fork_visibility_helper=La visibilità di un repositorio derivato non può essere modificata.
|
||||
|
@ -1514,13 +1549,13 @@ issues.close_comment_issue=Commenta e chiudi
|
|||
issues.reopen_issue=Riapri
|
||||
issues.reopen_comment_issue=Commenta e riapri
|
||||
issues.create_comment=Commento
|
||||
issues.closed_at=`ha chiuso questa segnalazione <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`ha riaperto questa segnalazione <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`ha fatto riferimento a questa segnalazione dal commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">ha fatto riferimento a questa richiesta di modifica %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la chiuderà</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[4]s che la riaprirà</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`ha chiuso questa segnalazione %s`
|
||||
issues.reopened_at=`ha riaperto questa segnalazione %s`
|
||||
issues.commit_ref_at=`ha fatto riferimento a questa segnalazione dal commit %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">ha fatto riferimento a questa richiesta di modifica %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[3]s che la chiuderà</a>, %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">ha fatto riferimento a questa segnalazione da una richiesta di modifica %[3]s che la riaprirà</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">chiuso questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">ha riaperto questa segnalazione %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`da %[1]s`
|
||||
|
@ -1718,7 +1753,7 @@ pulls.cannot_merge_work_in_progress=Questa richiesta di modifica è contrassegna
|
|||
pulls.still_in_progress=Ancora in corso?
|
||||
pulls.add_prefix=Aggiungi prefisso <strong>%s</strong>
|
||||
pulls.remove_prefix=Rimuovi il prefisso <strong>%s</strong>
|
||||
pulls.data_broken=Questa richiesta di modifica è rovinata a causa di informazioni mancanti riguardo la derivazione.
|
||||
pulls.data_broken=Questa richiesta di modifica non è valida a causa di informazioni mancanti sulla biforcazione.
|
||||
pulls.files_conflicted=Questa richiesta di modifica va in conflitto con il ramo di destinazione.
|
||||
pulls.is_checking=Verifica dei conflitti di fusione in corso. Riprova tra qualche istante.
|
||||
pulls.is_ancestor=Questo ramo è già incluso nel ramo di destinazione. Non c'è nulla da fondere.
|
||||
|
@ -1776,8 +1811,8 @@ pulls.update_branch_rebase=Aggiorna il ramo per cambio base
|
|||
pulls.update_branch_success=Ramo aggiornato con successo
|
||||
pulls.update_not_allowed=Non ti è permesso aggiornare il ramo
|
||||
pulls.outdated_with_base_branch=Questo ramo non è aggiornato con il ramo di base
|
||||
pulls.closed_at=`ha chiuso questa richiesta di modifica <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`ha riaperto questa richiesta di modifica <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`ha chiuso questa richiesta di modifica %s`
|
||||
pulls.reopened_at=`ha riaperto questa richiesta di modifica %s`
|
||||
|
||||
pulls.auto_merge_button_when_succeed=(Quando i controlli sono superati)
|
||||
pulls.auto_merge_when_succeed=Unione automatica quando tutti i controlli sono superati
|
||||
|
@ -2100,7 +2135,7 @@ settings.event_create_desc=Ramo o etichetta creati.
|
|||
settings.event_delete=Elimina
|
||||
settings.event_delete_desc=Ramo o etichetta eliminati.
|
||||
settings.event_fork=Deriva
|
||||
settings.event_fork_desc=Repository derivato.
|
||||
settings.event_fork_desc=Creata una biforcazione del repositorio.
|
||||
settings.event_wiki=Wiki
|
||||
settings.event_release=Release
|
||||
settings.event_release_desc=Release pubblicata, aggiornata o rimossa in una repository.
|
||||
|
@ -2137,7 +2172,7 @@ settings.event_pull_request_sync_desc=Pull request sincronizzata.
|
|||
settings.event_package=Pacchetto
|
||||
settings.event_package_desc=Pacchetto creato o eliminato in un repository.
|
||||
settings.branch_filter=Filtro rami
|
||||
settings.branch_filter_desc=Whitelist dei rami per gli eventi di spinta, creazione dei rami e cancellazione dei rami, specificati come modello globo. Se vuoto o <code>*</code>, gli eventi per tutti i rami sono segnalati. Vedi la documentazione <a href="%[1]s">%[2]s</a> per la sintassi. Esempi: <code>master</code>, <code>{master,release*}</code>.
|
||||
settings.branch_filter_desc=Filtro, scritto come pattern glob, da applicare ai rami per gli eventi di tipo immissione, creazione di rami e rimozione di rami. Se vuoto o <code>*</code>, vengono considerati tutti gli eventi di tutti i rami. Maggiori dettagli sulla sintassi presso <a href="%[1]s">%[2]s</a>. Esempi: <code>master</code>, <code>{master,release*}</code>.
|
||||
settings.active=Attivo
|
||||
settings.active_helper=Le informazioni sugli eventi innescati saranno inviate a questo URL del webhook.
|
||||
settings.add_hook_success=Il webhook è stato aggiunto.
|
||||
|
@ -2167,8 +2202,8 @@ settings.web_hook_name_packagist=Packagist
|
|||
settings.packagist_username=Nome utente Packagist
|
||||
settings.packagist_api_token=API token
|
||||
settings.packagist_package_url=Url pacchetto pacchetti
|
||||
settings.deploy_keys=Dispiega chiavi
|
||||
settings.add_deploy_key=Aggiungi chiave di dispiego
|
||||
settings.deploy_keys=Chiavi di distribuzione
|
||||
settings.add_deploy_key=Aggiungi chiave di distribuzione
|
||||
settings.deploy_key_desc=Le deploy key possiedono l'accesso solamente alla lettura di un repository.
|
||||
settings.is_writable=Abilita accesso scrittura
|
||||
settings.is_writable_info=Permetti a questa deploy key di <strong>pushare</strong> nella repository.
|
||||
|
@ -2177,7 +2212,7 @@ settings.title=Titolo
|
|||
settings.deploy_key_content=Contenuto
|
||||
settings.key_been_used=Una deploy key con contenuto identico è già in uso.
|
||||
settings.key_name_used=Esiste già una deploy key con questo nome.
|
||||
settings.deploy_key_deletion=Rimuovi chiave di dispiego
|
||||
settings.deploy_key_deletion=Rimuovi chiave di distribuzione
|
||||
settings.deploy_key_deletion_desc=Rimuovere una chiave di distribuzione ne revocherà l'accesso a questo repository. Continuare?
|
||||
settings.deploy_key_deletion_success=La chiave di distribuzione è stata rimossa.
|
||||
settings.branches=Rami
|
||||
|
@ -2620,7 +2655,7 @@ issues.filter_type.reviewed_by_you = Revisionati da te
|
|||
projects.edit_success = Il progetto "%s" è stato aggiornato.
|
||||
issues.keyword_search_unavailable = La ricerca per parola chiave non è attualmente disponibile. Contatta l'amministratore del sito.
|
||||
issues.role.collaborator_helper = Quest*utente è statə invitatə a collaborare al progetto.
|
||||
pulls.commit_ref_at = `ha fatto riferimento a questa richiesta di modifica da un commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `ha fatto riferimento a questa richiesta di modifica da un commit %s`
|
||||
settings.thread_id = ID della discussione
|
||||
release.title = Titolo del rilascio
|
||||
visibility_helper = Rendi il repositorio privato
|
||||
|
@ -2660,7 +2695,7 @@ wiki.page_title = Titolo della pagina
|
|||
wiki.page_content = Contenuto della pagina
|
||||
settings.mirror_settings.pushed_repository = Repositorio immesso
|
||||
settings.mirror_settings.push_mirror.edit_sync_time = Modifica intervallo di sincronizzazione degli specchi
|
||||
settings.units.units = Unità della repository
|
||||
settings.units.units = Sezioni del repositorio
|
||||
settings.units.add_more = Aggiungi ancora...
|
||||
settings.wiki_globally_editable = Consenti a tutti di modificare la wiki
|
||||
settings.pull_mirror_sync_in_progress = Prelevando cambiamenti dal progetto remoto %s.
|
||||
|
@ -2732,7 +2767,7 @@ pulls.merged_title_desc_one = ha fuso %[1]d commit da <code>%[2]s</code> in <cod
|
|||
settings.event_pull_request_approvals = Approvazioni della richiesta di modifica
|
||||
settings.event_pull_request_merge = Fusione della richiesta di modifica
|
||||
settings.authorization_header = Intestazione dell'autorizzazione
|
||||
settings.add_key_success = La chiave di dispiego "%s" è stata aggiunta.
|
||||
settings.add_key_success = La chiave di distribuzione "%s" è stata aggiunta.
|
||||
settings.protected_branch.save_rule = Salva regola
|
||||
settings.protected_branch.delete_rule = Elimina regola
|
||||
settings.protect_invalid_status_check_pattern = Sequenza per il controllo dello stato non valida: "%s".
|
||||
|
@ -2810,6 +2845,79 @@ wiki.search = Cerca nel wiki
|
|||
wiki.no_search_results = Nessun risultato
|
||||
mirror_use_ssh.helper = Selezionando quest'opzione, Forgejo replicherà il repositorio tramite Git con SSH e creerà un paio di chiavi per te. Assicurati che la chiave pubblica generata sia autorizzata per l'immissione nel repositorio di destinazione. Non puoi usare l'autorizzazione tramite password se selezioni quest'opzione.
|
||||
archive.pull.noreview = Il repositorio è archiviato. Non puoi revisionare le richieste di modifica.
|
||||
settings.event_action_failure = Fallimento
|
||||
release.asset_external_url = URL esterno
|
||||
release.add_external_asset = Aggiungi risorsa esterna
|
||||
pulls.delete_after_merge.head_branch.insufficient_branch = Non hai i permessi per eliminare il ramo genitore.
|
||||
settings.mirror_settings.push_mirror.copy_public_key = Copia chiave pubblica
|
||||
issues.context.menu = Menu commenti
|
||||
activity.published_tag_label = Etichetta
|
||||
settings.event_header_action = Eventi di esecuzione delle azioni
|
||||
settings.event_action_failure_desc = L'esecuzione dell'azione è terminata con un fallimento.
|
||||
settings.event_action_recover_desc = L'esecuzione dell'azione ha avuto successo dopo che l'ultima esecuzione dell'azione nello stesso flusso di lavoro è fallita.
|
||||
mirror_use_ssh.text = Utilizza SSH per l'autenticazione
|
||||
mirror_use_ssh.not_available = L'autenticazione tramite SSH non è disponibile.
|
||||
archive.nocomment = Non è possibile commentare perché il repositorio è archiviato.
|
||||
settings.event_action_recover = Recupera
|
||||
issues.all_title = Tutti
|
||||
issues.review.add_remove_review_requests = aggiunte richieste di revisione da %\[1]s e rimosse richieste di revisione da %\[2]s %\[3]s
|
||||
commits.view_single_diff = Visualizza le modifiche apportate a questo file in questo commit
|
||||
issues.new.assign_to_me = Assegna a me
|
||||
issues.reaction.alt_few = %[1] ha reagito %[2]s.
|
||||
pulls.delete_after_merge.head_branch.is_protected = Il ramo head che desideri eliminare è protetto e non può essere eliminato.
|
||||
issues.filter_type.all_pull_requests = Tutte le richieste di modifica
|
||||
migrate.repo_desc_helper = Lascia vuoto per importare una descrizione esistente
|
||||
settings.discord_icon_url.exceeds_max_length = L'URL dell'icona non deve essere più lungo di 2048 caratteri
|
||||
issues.review.add_review_requests = richiesto revisioni da %[1]s %[2]s
|
||||
diff.git-notes.add = Aggiunti nota
|
||||
release.type_external_asset = Risorsa esterna
|
||||
issues.reopen.blocked_by_user = Non puoi riaprire questa segnalazione perché sei bloccato dal proprietario del repositorio o dall’autore di questa segnalazione.
|
||||
pulls.editable_explanation = Questa richiesta di modifica consente modifiche da parte dei manutentori. Puoi contribuire direttamente.
|
||||
activity.published_prerelease_label = Pre-rilascio
|
||||
settings.pull_mirror_sync_quota_exceeded = Quota superata, non è possibile unire le modifiche.
|
||||
settings.default_update_style_desc = Stile di aggiornamento predefinito utilizzato per aggiornare le richieste di modifica che sono indietro rispetto al ramo di base.
|
||||
release.asset_name = Nome della risorsa
|
||||
settings.transfer_quota_exceeded = Il nuovo proprietario (%s) è sopra la sua quota. Il repositorio non è stato trasferito.
|
||||
release.summary_card_alt = Scheda riepilogativa di un rilascio con titolo "%s" nel repositorio %s
|
||||
issues.filter_no_results = Nessun risultato
|
||||
issues.filter_no_results_placeholder = Prova a modificare i filtri di ricerca.
|
||||
auto_init_description = Inizializza la cronologia Git con un README e, opzionalmente, aggiungi i file di licenza e .gitignore.
|
||||
sync_fork.button = Sincronizza
|
||||
pulls.editable = Modificabile
|
||||
pulls.sign_in_require = <a href="%s">Accedi</a> per creare una richiesta di modifica.
|
||||
settings.mirror_settings.push_mirror.none_ssh = Nessuno
|
||||
sync_fork.branch_behind_one = Questo ramo è indietro di %[1]d commit rispetto a %[2]s
|
||||
sync_fork.branch_behind_few = Questo ramo è indietro di %[1]d commit rispetto a %[2]s
|
||||
no_eol.text = Nessun fine linea
|
||||
no_eol.tooltip = Questo file non contiene un carattere di fine linea finale.
|
||||
milestones.filter_sort.name = Nome
|
||||
settings.protect_new_rule = Crea una nuova regola di protezione dei rami
|
||||
editor.commit_email = E-mail di commit
|
||||
mirror_public_key = Chiave SSH pubblica
|
||||
mirror_denied_combination = Non è possibile utilizzare contemporaneamente l'autenticazione tramite chiave pubblica e password.
|
||||
release.type_attachment = Allegato
|
||||
release.invalid_external_url = URL esterno invalido: "%s"
|
||||
new_from_template = Utilizza un modello
|
||||
new_from_template_description = Puoi selezionare un modello di repositorio esistente su questa istanza e applicare le sue impostazioni.
|
||||
new_advanced = Impostazioni avanzate
|
||||
new_advanced_expand = Clicca per espandere
|
||||
summary_card_alt = Scheda riepilogativa del repository %s
|
||||
issues.filter_sort.relevance = Rilevanza
|
||||
issues.num_reviews_one = %d revisioni
|
||||
issues.num_reviews_few = %d revisioni
|
||||
issues.reaction.add = Aggiungi reazione
|
||||
issues.reaction.alt_many = %[1] e altri %[2]d hanno reagito %[3]s.
|
||||
issues.reaction.alt_remove = Rimuovi la reazione %[1]s dal commento.
|
||||
issues.reaction.alt_add = Aggiungi la reazione %[1]s al commento.
|
||||
issues.review.remove_review_requests = rimosso richieste di revisione per %\[1]s %\[2]s
|
||||
comment.blocked_by_user = Non è possibile commentare perché sei stato bloccato dal proprietario del repositorio o dall'autore.
|
||||
issues.summary_card_alt = Scheda riepilogativa di una segnalazione intitolata "%s" nel repositorio %s
|
||||
pulls.delete_after_merge.head_branch.is_default = Il ramo head che desideri eliminare è il ramo predefinito e non può essere eliminato.
|
||||
settings.event_action_success = Successo
|
||||
settings.event_action_success_desc = L'esecuzione dell'azione è andata a buon fine.
|
||||
diff.git-notes.remove-header = Rimuovi nota
|
||||
diff.git-notes.remove-body = Questa nota verrà rimossa.
|
||||
activity.commit = Attività di commit
|
||||
|
||||
[graphs]
|
||||
contributors.what = contribuzioni
|
||||
|
@ -2839,7 +2947,7 @@ team_name_helper=I nomi dei team devono essere brevi e semplici da ricordare.
|
|||
team_desc_helper=Descrivi lo scopo o il ruolo del team.
|
||||
team_access_desc=Accesso al repository
|
||||
team_permission_desc=Autorizzazione
|
||||
team_unit_desc=Consenti l'accesso a sezioni di progetto
|
||||
team_unit_desc=Consenti l'accesso alle sezioni del repositorio
|
||||
team_unit_disabled=(Disabilitato)
|
||||
|
||||
form.create_org_not_allowed=Non disponi dell'autorizzazione per creare un organizzazione.
|
||||
|
@ -3493,6 +3601,12 @@ config.cache_test_slow = Successo nel controllo della cache, ma la risposta è l
|
|||
config.app_slogan = Slogan dell'istanza
|
||||
auths.default_domain_name = Nome di dominio predefinito utilizzato per l'indirizzo e-mail
|
||||
users.restricted.description = Permetti di interagire solo con i repositori e le organizzazioni in cui l'utente è aggiuntə come collaborante. Ciò evita l'accesso ai repositori pubblici di quest'istanza.
|
||||
emails.deletion_success = L'indirizzo e-mail è stato eliminato.
|
||||
monitor.duration = Durata (s)
|
||||
emails.delete_desc = Confermare l’eliminazione di questo indirizzo email?
|
||||
emails.delete_primary_email_error = Non puoi eliminare la e-mail primaria.
|
||||
emails.delete = Elimina e-mail
|
||||
users.organization_creation.description = Abilita la creazione di nuove organizzazioni.
|
||||
|
||||
|
||||
[action]
|
||||
|
@ -3737,6 +3851,31 @@ owner.settings.cargo.initialize.success = L'indice di Cargo è stato creato corr
|
|||
owner.settings.cargo.rebuild.no_index = Impossibile ricostruire, nessun indice è inizializzato.
|
||||
owner.settings.cargo.rebuild.description = La ricostruzione può essere utile se l'indice non è sincronizzato con i pacchetti Cargo conservati.
|
||||
npm.dependencies.bundle = Dipendenze raggruppate
|
||||
arch.version.groups = Gruppo
|
||||
arch.version.conflicts = Va in conflitto con
|
||||
arch.version.depends = Dipende da
|
||||
arch.version.makedepends = Dipendenze di build
|
||||
arch.version.checkdepends = Dipendenze di controllo
|
||||
arch.version.replaces = Sostituisce
|
||||
arch.version.optdepends = Dipende opzionalmente da
|
||||
arch.version.backup = Backup
|
||||
search_in_external_registry = Cerca in %s
|
||||
arch.version.provides = Fornisce
|
||||
arch.pacman.conf = Aggiungi il server con la relativa distribuzione e architettura a <code>/etc/pacman.conf</code>:
|
||||
alt.setup = Aggiungi il repositorio alla lista dei repositori in rete (seleziona l'architettura necessaria al posto di "_arch_"):
|
||||
container.images.title = Immagini
|
||||
arch.version.properties = Proprietà della versione
|
||||
alt.registry.install = Per installare il pacchetto, esegui il comando seguente:
|
||||
alt.install = Installa pacchetto
|
||||
alt.registry = Configura questo registro dalla riga di comando:
|
||||
arch.pacman.helper.gpg = Aggiungi il certificato a pacman:
|
||||
arch.pacman.repo.multi = %s ha la stessa versione in diverse distribuzioni.
|
||||
arch.pacman.repo.multi.item = Configurazione per %s
|
||||
arch.pacman.sync = Sincronizza il paccketto con pacman:
|
||||
arch.version.description = Descrizione
|
||||
alt.repository = Informazioni del repositorio
|
||||
alt.repository.architectures = Architetture
|
||||
alt.repository.multiple_groups = Questo pacchetto è disponibile per più gruppi.
|
||||
|
||||
[secrets]
|
||||
secrets = Segreti
|
||||
|
@ -3834,7 +3973,7 @@ runs.empty_commit_message = (messaggio di commit vuoto)
|
|||
runs.no_runs = Il flusso di lavoro non è stato ancora eseguito.
|
||||
variables.creation.success = La variabile "%s" è stata aggiunta.
|
||||
variables.description = Le variabili saranno passate a determinate azioni e non possono essere lette altrimenti.
|
||||
need_approval_desc = È necessaria l'approvazione per eseguire flussi di lavoro per richieste di modifica da derivazioni.
|
||||
need_approval_desc = È necessaria l'approvazione per eseguire flussi di lavoro per richieste di modifica da biforcazioni.
|
||||
runs.no_workflows.documentation = Per ulteriori informazioni sulle Forgejo Actions vedi <a target="_blank" rel="noopener noreferrer" href="%s">la documentazione</a>.
|
||||
runs.no_workflows.quick_start = Non sai come iniziare con le Forgejo Actions? Vedi <a target="_blank" rel="noopener noreferrer" href="%s">la guida rapida</a>.
|
||||
runners.delete_runner_notice = Se un'attività è in esecuzione su questo esecutore sarà terminata ed etichettata fallito. Potrebbe rompere flussi di lavoro di costruzione.
|
||||
|
@ -3848,6 +3987,8 @@ workflow.dispatch.invalid_input_type = Tipo ingresso "%s" non valido.
|
|||
workflow.dispatch.warn_input_limit = Visualizzati solo i primi %d ingressi.
|
||||
runs.no_job = Il flusso di lavoro deve contenere almeno un incarico
|
||||
workflow.dispatch.use_from = Usa flusso di lavoro da
|
||||
variables.not_found = Non è stato possibile trovare la variabile.
|
||||
runs.expire_log_message = I log sono stati eliminati in quanto troppo vecchi.
|
||||
|
||||
|
||||
|
||||
|
@ -3856,6 +3997,7 @@ workflow.dispatch.use_from = Usa flusso di lavoro da
|
|||
type-3.display_name = Progetto dell'organizzazione
|
||||
type-1.display_name = Progetto individuale
|
||||
type-2.display_name = Progetto
|
||||
deleted.display_name = Progetto eliminato
|
||||
|
||||
[git.filemode]
|
||||
symbolic_link=Link Simbolico
|
||||
|
@ -3896,6 +4038,7 @@ milestone_kind = Ricerca tappe...
|
|||
regexp_tooltip = Interpreta i termini di ricerca come un'espressione regolare
|
||||
regexp = Espressione Regolare
|
||||
union_tooltip = Include i risultati che combaciano con una qualsiasi delle parole chiave separata da spazi
|
||||
union = Parole chiavi
|
||||
|
||||
[munits.data]
|
||||
gib = GiB
|
||||
|
@ -3915,3 +4058,15 @@ filepreview.line = Linea %[1]d in %[2]s
|
|||
[repo.permissions]
|
||||
issues.write = <b>Scrittura:</b> Chiudere segnalazioni e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze.
|
||||
pulls.write = <b>Scrittura:</b> Chiudere richieste di modifica e gestire metadati come etichette, traguardi, assegnatarɜ, scadenze e dipendenze.
|
||||
releases.write = <b>Scrittura:</b> Può pubblicare, modificare ed eliminare rilasci e le risorse ad essi allegate.
|
||||
code.write = <b>Scrittura:</b> Può aggiungere commit al repositorio, creare rami ed etichette.
|
||||
wiki.read = <b>Lettura:</b> Può leggere la wiki integrata e la sua cronologia.
|
||||
releases.read = <b>Lettura:</b> Può visualizzare e scaricare i rilasci.
|
||||
projects.read = <b>Lettura:</b> Può accedere alle board di progetto del repositorio.
|
||||
code.read = <b>Lettura:</b> Può accedere e clonare il codice del repositorio.
|
||||
wiki.write = <b>Scrittura:</b> Può creare, aggiornare ed eliminare pagine nella wiki integrata.
|
||||
issues.read = <b>Lettura:</b> Può leggere e creare segnalazioni e commenti.
|
||||
pulls.read = <b>Lettura:</b> Può leggere e creare richieste di modifica.
|
||||
|
||||
[translation_meta]
|
||||
test = daje Roma
|
|
@ -1610,13 +1610,13 @@ issues.close_comment_issue=コメントしてクローズ
|
|||
issues.reopen_issue=再オープンする
|
||||
issues.reopen_comment_issue=コメントして再オープン
|
||||
issues.create_comment=コメントする
|
||||
issues.closed_at=`がイシューをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`がイシューを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`がコミットでこのイシューを参照 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">が%[4]s、このイシューを参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">が%[4]s、このプルリクエストを参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">が%[4]s、プルリクエストがこのイシューをクローズするよう参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">が%[4]s、プルリクエストがこのイシューを再オープンするよう参照</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`がイシューをクローズ %s`
|
||||
issues.reopened_at=`がイシューを再オープン %s`
|
||||
issues.commit_ref_at=`がコミットでこのイシューを参照 %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">が%[3]s、このイシューを参照</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">が%[3]s、このプルリクエストを参照</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">が%[3]s、プルリクエストがこのイシューをクローズするよう参照</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">が%[3]s、プルリクエストがこのイシューを再オープンするよう参照</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">が%[4]s、このイシューをクローズ</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">が%[4]s、このイシューを再オープン</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=` %[1]s にて`
|
||||
|
@ -1923,8 +1923,8 @@ pulls.update_branch_success=ブランチの更新が成功しました
|
|||
pulls.update_not_allowed=ブランチを更新する権限がありません
|
||||
pulls.outdated_with_base_branch=このブランチはベースブランチに対して最新ではありません
|
||||
pulls.close=プルリクエストをクローズ
|
||||
pulls.closed_at=`がプルリクエストをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`がプルリクエストを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`がプルリクエストをクローズ %s`
|
||||
pulls.reopened_at=`がプルリクエストを再オープン %s`
|
||||
pulls.cmd_instruction_hint=コマンドラインの手順を表示
|
||||
pulls.cmd_instruction_checkout_title=チェックアウト
|
||||
pulls.cmd_instruction_checkout_desc=プロジェクトリポジトリから新しいブランチをチェックアウトし、変更内容をテストします。
|
||||
|
@ -2721,7 +2721,7 @@ settings.wiki_rename_branch_main = wikiのブランチ名を正規化する
|
|||
settings.wiki_rename_branch_main_desc = wikiによって内部的に使われているブランチ名を "%s" に変更します。これは恒久的で元に戻すことはできません。
|
||||
contributors.contribution_type.additions = 追加
|
||||
vendored = vendor済み
|
||||
pulls.commit_ref_at = `このプルリクエストを言及するコミット <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `このプルリクエストを言及するコミット %s`
|
||||
pulls.fast_forward_only_merge_pull_request = Fast-forwardのみ
|
||||
admin.manage_flags = フラグ管理
|
||||
admin.update_flags = フラグを更新
|
||||
|
|
|
@ -3,3 +3,11 @@
|
|||
|
||||
[common]
|
||||
home = zdani
|
||||
dashboard = jitypalna
|
||||
explore = sisku
|
||||
help = se sidju
|
||||
logo = se'isni
|
||||
sign_in = co'a nerkla
|
||||
sign_in_with_provider = co'a nerka sepi'o la .%s.
|
||||
sign_out = co'a cliva
|
||||
sign_up = co'a gumri
|
|
@ -943,7 +943,7 @@ issues.close_comment_issue=클로즈 및 코멘트
|
|||
issues.reopen_issue=다시 열기
|
||||
issues.reopen_comment_issue=다시 오픈 및 코멘트
|
||||
issues.create_comment=코멘트
|
||||
issues.commit_ref_at=` 커밋 <a id="%[1]s" href="#%[1]s">%[2]s</a>에서 이 이슈 언급`
|
||||
issues.commit_ref_at=` 커밋 %s에서 이 이슈 언급`
|
||||
issues.role.owner=소유자
|
||||
issues.role.member=멤버
|
||||
issues.sign_in_require_desc=<a href="%s">로그인</a>하여 이 대화에 참여하세요.
|
||||
|
@ -1378,7 +1378,7 @@ issues.closed_by_fake = %[2]s님이 %[1]s에 닫음
|
|||
issues.new.closed_projects = 닫힌 프로젝트
|
||||
pulls.merged_by_fake = %[2]s님이 %[1]s 병합함
|
||||
issues.closed_by = <a href="%[2]s">%[3]s</a>님이 %[1]s에 닫음
|
||||
issues.closed_at = `<a id="%[1]s" href="#%[1]s">%[2]s</a>`에 이 이슈를 닫음
|
||||
issues.closed_at = `%s`에 이 이슈를 닫음
|
||||
issues.filter_milestone_closed = 닫힌 마일스톤
|
||||
issues.opened_by_fake = %[2]s님이 %[1]s에 열음
|
||||
issues.filter_project_none = 프로젝트 없음
|
||||
|
|
|
@ -1651,13 +1651,13 @@ issues.close_comment_issue=Aizvērt ar piebildi
|
|||
issues.reopen_issue=Atvērt atkārtoti
|
||||
issues.reopen_comment_issue=Atkārtoti atvērt ar piebildi
|
||||
issues.create_comment=Pievienot piebildi
|
||||
issues.closed_at=`aizvēra šo pieteikumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`atkārtoti atvēra šo pieteikumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`atsaucās uz šo pieteikumu iesūtījumā <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">atsaucās uz šo pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">atsaucās uz šo izmaiņu pieprasījumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[4]s, kas aizvērs to</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[4]s, kas atkārtoti atvērs to</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`aizvēra šo pieteikumu %s`
|
||||
issues.reopened_at=`atkārtoti atvēra šo pieteikumu %s`
|
||||
issues.commit_ref_at=`atsaucās uz šo pieteikumu iesūtījumā %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">atsaucās uz šo pieteikumu %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">atsaucās uz šo izmaiņu pieprasījumu %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[3]s, kas aizvērs to</a>, %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">atsaucās uz šo pieteikumu izmaiņu pieprasījumā %[3]s, kas atkārtoti atvērs to</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">aizvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">atkārtoti atvēra pieteikumu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`no %[1]s`
|
||||
|
@ -1964,8 +1964,8 @@ pulls.update_branch_success=Zara atjaunināšana bija sekmīga
|
|||
pulls.update_not_allowed=Nav ļauts atjaunināt zaru
|
||||
pulls.outdated_with_base_branch=Šis zars ir novecojis salīdzinājumā ar pamata zaru
|
||||
pulls.close=Aizvērt izmaiņu pieprasījumu
|
||||
pulls.closed_at=`aizvēra šo izmaiņu pieprasījumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`atkārtoti atvēra šo izmaiņu pieprasījumu <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`aizvēra šo izmaiņu pieprasījumu %s`
|
||||
pulls.reopened_at=`atkārtoti atvēra šo izmaiņu pieprasījumu %s`
|
||||
pulls.cmd_instruction_hint=Apskatīt komandrindas izmantošanas norādes
|
||||
pulls.cmd_instruction_checkout_title=Paņemt
|
||||
pulls.cmd_instruction_checkout_desc=Projekta glabātavā jāizveido jauns zars un jāpārbauda izmaiņas.
|
||||
|
@ -2826,7 +2826,7 @@ issues.author.tooltip.pr = Šis lietotājs ir šī izmaiņu pieprasījuma izveid
|
|||
pulls.edit.already_changed = Neizdevās saglabāt izmaiņu pieprasījuma izmaiņas. Izskatās, ka saturu jau ir mainījis kāds cits lietotājs. Lūgums atsvaidzināt lapu un mēģināt labot vēlreiz, lai izvairītos no izmaiņu pārrakstīšanas
|
||||
pulls.blocked_by_user = Tu nevari izveidot izmaiņu pieprasījumu šajā glabātavā, jo tās īpašnieks ir Tevi liedzis.
|
||||
issues.all_title = Visi
|
||||
pulls.commit_ref_at = ` atsaucāš uz šo izmaiņu pieprasījumu iesūtījumā <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = ` atsaucās uz šo izmaiņu pieprasījumu iesūtījumā %s`
|
||||
issues.num_participants_one = %d dalībnieks
|
||||
pulls.title_desc_one = vēlas iekļaut %[1]d iesūtījumu no <code>%[2]s</code> <code id="%[4]s">%[3]s</code>
|
||||
issues.archived_label_description = (Arhivēts) %s
|
||||
|
|
|
@ -1347,7 +1347,7 @@ issues.change_title_at = `hett %[3]s de Titel vun <b><strike>%[1]s</strike></b>
|
|||
issues.change_ref_at = `hett %[3]s de Nömen vun <b><strike>%[1]s</strike></b> to <b>%[2]s</b> ännert`
|
||||
issues.delete_branch_at = `hett %[2]s de Twieg <b>%[1]s</b> lösket`
|
||||
issues.filter_label = Vermark
|
||||
issues.filter_label_exclude = `Bruuk <code>Alt</code>+<code>Klick/Enter</code>, um Vermarkens uttosluten`
|
||||
issues.filter_label_exclude = Bruuk <kbd>Alt</kbd> + <kbd>Klick</kbd>, um Vermarkens uttosluten
|
||||
issues.filter_label_no_select = All Vermarkens
|
||||
issues.filter_label_select_no_label = Keen Vermark
|
||||
issues.filter_milestone = Marksteen
|
||||
|
@ -1434,12 +1434,12 @@ issues.comment_pull_merged_at = hett Kommitteren %[1]s in %[2]s %[3]s tosamenfö
|
|||
issues.close_comment_issue = Mit Kommentaar dichtmaken
|
||||
issues.reopen_comment_issue = Mit Kommentaar weer opmaken
|
||||
issues.create_comment = Kommenteren
|
||||
issues.reopened_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> weer opmaakt`
|
||||
issues.reopened_at = `hett deeses Gefall %s weer opmaakt`
|
||||
issues.comment_manually_pull_merged_at = hett Kommitteren %[1]s in %[2]s %[3]s vun Hand tosamenföhrt
|
||||
issues.reopen_issue = Weer opmaken
|
||||
issues.closed_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> dichtmaakt`
|
||||
issues.commit_ref_at = `hett deeses Gefall <a id="%[1]s" href="#%[1]s">%[2]s</a> vun eenem Kommitteren benöömt`
|
||||
issues.ref_closing_from = `<a href="%[3]s">hett deeses Gefall</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> vun eenem Haalvörslag, wat ’t %[4]s dichtmaken word, benöömt</a>`
|
||||
issues.closed_at = `hett deeses Gefall %s dichtmaakt`
|
||||
issues.commit_ref_at = `hett deeses Gefall %s vun eenem Kommitteren benöömt`
|
||||
issues.ref_closing_from = `<a href="%[2]s">hett deeses Gefall</a> %[1]s <a href="%[2]s"> vun eenem Haalvörslag, wat ’t %[3]s dichtmaken word, benöömt</a>`
|
||||
issues.ref_closed_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">dichtmaakt</a>`
|
||||
issues.ref_reopened_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">weer opmaakt</a>`
|
||||
issues.ref_from = `vun %[1]s`
|
||||
|
@ -1477,12 +1477,12 @@ issues.label.filter_sort.reverse_alphabetically = Umdreiht na de Alphabeet
|
|||
issues.label.filter_sort.by_size = Lüttste Grött
|
||||
issues.num_participants_one = %d Mitmaker
|
||||
issues.num_participants_few = %d Mitmakers
|
||||
issues.ref_pull_from = `<a href="%[3]s">hett deesen Haalvörslag %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>`
|
||||
issues.ref_pull_from = `<a href="%[2]s">hett deesen Haalvörslag %[3]s</a> %[1]s <a href="%[2]s">benöömt</a>`
|
||||
issues.label_title = Naam
|
||||
issues.label_archived_filter = Archiveert Vermarkens wiesen
|
||||
issues.archived_label_description = (Archiveert) %s
|
||||
issues.ref_issue_from = `<a href="%[3]s">hett deeses Gefall %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>`
|
||||
issues.ref_reopening_from = `<a href="%[3]s">hett deeses Gefall vun eenem Haalvörslag, wat ’t %[4]s weer opmaken word,</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">benöömt</a>`
|
||||
issues.ref_issue_from = `<a href="%[2]s">hett deeses Gefall %[3]s</a> %[1]s benöömt`
|
||||
issues.ref_reopening_from = `<a href="%[2]s">hett deeses Gefall vun eenem Haalvörslag, wat ’t %[3]s weer opmaken word,</a> %[1]s <a href="%[2]s">benöömt</a>`
|
||||
issues.author.tooltip.issue = Deeser Bruker is de Autor vun deesem Gefall.
|
||||
issues.role.member_helper = Deeser Bruker is een Liddmaat vun de Vereenigung, wat de Eegner vun deesem Repositorium is.
|
||||
issues.role.collaborator_helper = Deeser Bruuker is inladen worden, in deesem Repositorium mittoarbeiden.
|
||||
|
@ -1740,8 +1740,8 @@ pulls.status_checks_show_all = All Överprüfens wiesen
|
|||
pulls.update_branch_rebase = Twieg mit Umbaseren vernejen
|
||||
pulls.outdated_with_base_branch = De Twieg is tegen de Grund-Twieg verollt
|
||||
pulls.close = Haalvörslag dichtmaken
|
||||
pulls.closed_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> dichtmaakt`
|
||||
pulls.reopened_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> weer opmaakt`
|
||||
pulls.closed_at = `hett deesen Haalvörslag %s dichtmaakt`
|
||||
pulls.reopened_at = `hett deesen Haalvörslag %s weer opmaakt`
|
||||
pulls.cmd_instruction_hint = Wies Oorderreeg-Instruksjes
|
||||
pulls.cmd_instruction_checkout_title = Utchecken
|
||||
pulls.cmd_instruction_merge_title = Tosamenföhren
|
||||
|
@ -1771,7 +1771,7 @@ milestones.deletion = Marksteen lösken
|
|||
pulls.has_merged = Fehlslagen: De Haalvörslag is tosamenföhrt worden, du kannst nich noch eenmaal tosamenföhren of de Enn-Twieg ännern.
|
||||
pulls.unrelated_histories = Tosamenföhren fehlslagen: De Tosamenföhrens-Kopp un -Grund hebben keene gemeensame Histoorje. Wenk: Versöök eene anner Tosamenföhrens-Aard
|
||||
pulls.update_not_allowed = Du düürst deesen Twieg nich vernejen
|
||||
pulls.commit_ref_at = `hett deesen Haalvörslag <a id="%[1]s" href="#%[1]s">%[2]s</a> vun eenem Kommitteren benöömt`
|
||||
pulls.commit_ref_at = `hett deesen Haalvörslag %s vun eenem Kommitteren benöömt`
|
||||
pulls.auto_merge_newly_scheduled = De Haalvörslag weer sett, sik tosamentoföhren, wenn all Överprüfens kumpleet sünd.
|
||||
milestones.clear = Leeg maken
|
||||
pulls.push_rejected_no_message = Schuven fehlslagen: Dat Schuven is sünner feerne Naricht oflehnt worden. Bidde överprüüf de Git-Hakens för deeses Repositorium
|
||||
|
|
|
@ -1554,13 +1554,13 @@ issues.close_comment_issue=Sluit met commentaar
|
|||
issues.reopen_issue=Heropen
|
||||
issues.reopen_comment_issue=Heropen met commentaar
|
||||
issues.create_comment=Reageer
|
||||
issues.closed_at=`heeft dit probleem gesloten <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`heropende dit probleem <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`verwees naar dit probleem vanuit commit <a id="%[1]s" href="#%[1]s"> %[2]s'</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">refereerde aan dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">refereerde aan deze pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">verwees naar deze issue van een pull request %[4]s dat het zal sluiten</a>, <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">verwees naar een pull request %[4]s dat dit issue heropent</a> <a id="%[1]s" href="#%[1]s">%[2]s</a> `
|
||||
issues.closed_at=`heeft dit probleem gesloten %s`
|
||||
issues.reopened_at=`heropende dit probleem %s`
|
||||
issues.commit_ref_at=`verwees naar dit probleem vanuit commit %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">refereerde aan dit issue %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">refereerde aan deze pull request %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">verwees naar deze issue van een pull request %[3]s dat het zal sluiten</a>, %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">verwees naar een pull request %[3]s dat dit issue heropent</a> %[1]s `
|
||||
issues.ref_closed_from=`<a href="%[3]s">sloot dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">heropende dit issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`van %[1]s`
|
||||
|
@ -1815,8 +1815,8 @@ pulls.update_branch_rebase=Update branch via herbaseren
|
|||
pulls.update_branch_success=Branch update is geslaagd
|
||||
pulls.update_not_allowed=Je hebt geen toestemming om branch bij te werken
|
||||
pulls.outdated_with_base_branch=Deze branch is verouderd met de basis branch
|
||||
pulls.closed_at=`heeft deze pull request gesloten <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`heropende deze pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`heeft deze pull request gesloten %s`
|
||||
pulls.reopened_at=`heropende deze pull request %s`
|
||||
|
||||
pulls.auto_merge_button_when_succeed=(Bij geslaagde controles)
|
||||
pulls.auto_merge_when_succeed=Automatisch samenvoegen wanneer alle controles gelukt zijn
|
||||
|
@ -2627,7 +2627,7 @@ projects.column.set_default_desc = Stel deze kolom in als standaard voor ongecat
|
|||
issues.action_check = Aanvinken/uitvinken
|
||||
issues.dependency.issue_batch_close_blocked = Het is niet mogelijk om de issues die u gekozen heeft in bulk te sluiten, omdat issue #%d nog open afhankelijkheden heeft
|
||||
pulls.review_only_possible_for_full_diff = Beoordeling is alleen mogelijk bij het bekijken van de volledige diff
|
||||
pulls.commit_ref_at = `heeft naar deze pull request verwezen vanuit een commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `heeft naar deze pull request verwezen vanuit een commit %s`
|
||||
pulls.cmd_instruction_hint = Bekijk opdrachtregelinstructies
|
||||
pulls.cmd_instruction_checkout_desc = Vanuit uw project repository, schakel over naar een nieuwe branch en test de veranderingen.
|
||||
pulls.showing_specified_commit_range = Alleen veranderingen weergeven tussen %[1]s..%[2]s
|
||||
|
|
|
@ -1460,13 +1460,13 @@ issues.close_comment_issue=Zamknij z komentarzem
|
|||
issues.reopen_issue=Otwórz ponownie
|
||||
issues.reopen_comment_issue=Otwórz ponownie z komentarzem
|
||||
issues.create_comment=Skomentuj
|
||||
issues.closed_at=`zamknął(-ęła) to zgłoszenie <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`otworzył(-a) ponownie to zgłoszenie <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`wspomniał(-a) to zgłoszenie z commita <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">odwołał(-a) się do tego zgłoszenia %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">odwołał(-a) się do tego Pull Requesta %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">odwołał(-a) się do pull requesta %[4]s, który zamknie to zgłoszenie</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">odwołał(-a) się z pull requesta %[4]s, który otworzy na nowo to zgłoszenie</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`zamknął(-ęła) to zgłoszenie %s`
|
||||
issues.reopened_at=`otworzył(-a) ponownie to zgłoszenie %s`
|
||||
issues.commit_ref_at=`wspomniał(-a) to zgłoszenie z commita %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">odwołał(-a) się do tego zgłoszenia %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">odwołał(-a) się do tego Pull Requesta %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">odwołał(-a) się do pull requesta %[3]s, który zamknie to zgłoszenie</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">odwołał(-a) się z pull requesta %[3]s, który otworzy na nowo to zgłoszenie</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">zamknął(-ęła) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">ponownie otworzył(-a) to zgłoszenie %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`z %[1]s`
|
||||
|
@ -1679,8 +1679,8 @@ pulls.update_branch_rebase=Aktualizuj branch przez rebase
|
|||
pulls.update_branch_success=Aktualizacja gałęzi powiodła się
|
||||
pulls.update_not_allowed=Nie masz uprawnień do aktualizacji gałęzi
|
||||
pulls.outdated_with_base_branch=Ta gałąź jest przestarzała w stosunku do gałęzi bazowej
|
||||
pulls.closed_at=`zamknął(-ęła) ten pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`otworzył(-a) ponownie ten Pull Request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`zamknął(-ęła) ten pull request %s`
|
||||
pulls.reopened_at=`otworzył(-a) ponownie ten Pull Request %s`
|
||||
|
||||
|
||||
|
||||
|
@ -2643,7 +2643,7 @@ pulls.closed = Pull request zamknięty
|
|||
pulls.blocked_by_outdated_branch = Ten pull request jest zablokowany ponieważ jest przedawniony.
|
||||
pulls.blocked_by_changed_protected_files_1 = Ten pull request jest zablokowany ponieważ wprowadza zmiany do chronionego pliku:
|
||||
pulls.push_rejected_no_message = Wypchnięcie nie powiodło się: Wypchnięcie zostało odrzucone, ale nie otrzymano zdalnej wiadomości. Sprawdź hooki Git dla tego repozytorium.=
|
||||
pulls.commit_ref_at = `odniósł się do tego pull requesta z commita <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `odniósł się do tego pull requesta z commita %s`
|
||||
pulls.cmd_instruction_checkout_desc = Ze swojego repozytorium projektu, utwórz nową gałąź i przetestuj zmiany.
|
||||
pulls.clear_merge_message_hint = Wyczyszczenie wiadomości scalenia usunie tylko treść wiadomości commitu pozostawiając wygenerowane przez git dopiski takie jak "Co-Authored-By ...".
|
||||
pulls.delete_after_merge.head_branch.insufficient_branch = Nie masz uprawnień by usunąć head gałęzi.
|
||||
|
|
|
@ -1063,8 +1063,8 @@ language.localization_project = Ajude-nos a traduzir Forgejo para o seu idioma!
|
|||
language.description = Essa língua será salva em sua conta e será usada como padrão após você iniciar a sessão.
|
||||
user_block_yourself = Você não pode se bloquear.
|
||||
pronouns_custom_label = Pronomes personalizados
|
||||
change_username_redirect_prompt.with_cooldown.one = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dia, você ainda pode recuperar o nome de usuário antigo durante este período de espera.
|
||||
change_username_redirect_prompt.with_cooldown.few = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dias, você ainda pode recuperar o nome de usuário antigo durante este período de espera.
|
||||
change_username_redirect_prompt.with_cooldown.one = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome de usuário antigo durante este período de proteção.
|
||||
change_username_redirect_prompt.with_cooldown.few = O nome de usuário antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dias. Você ainda pode recuperar o nome de usuário antigo durante este período de proteção.
|
||||
quota.applies_to_user = As seguintes regras de cota se aplicam à sua conta
|
||||
quota.rule.exceeded.helper = O tamanho total de objetos para esta regra excedeu a cota.
|
||||
keep_pronouns_private = Mostrar pronomes apenas para usuários autenticados
|
||||
|
@ -1568,7 +1568,7 @@ issues.remove_ref_at=`removeu a referência <b>%s</b> %s`
|
|||
issues.add_ref_at=`adicionou a referência <b>%s</b> %s`
|
||||
issues.delete_branch_at=`excluiu branch <b>%s</b> %s`
|
||||
issues.filter_label=Etiqueta
|
||||
issues.filter_label_exclude=`Use <code>alt</code> + <code>clique/enter</code> para excluir etiquetas`
|
||||
issues.filter_label_exclude=Use <kbd>Alt</kbd> + <kbd>Clique</kbd> para excluir etiquetas
|
||||
issues.filter_label_no_select=Todas as etiquetas
|
||||
issues.filter_label_select_no_label=Sem etiqueta
|
||||
issues.filter_milestone=Marco
|
||||
|
@ -1642,13 +1642,13 @@ issues.close_comment_issue=Comentar e fechar
|
|||
issues.reopen_issue=Reabrir
|
||||
issues.reopen_comment_issue=Comentar e reabrir
|
||||
issues.create_comment=Comentar
|
||||
issues.closed_at=`fechou esta issue <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`reabriu esta issue <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`citou esta issue em um commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">referenciado esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">referenciado este pull request %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">referenciado esta issue de um pull request %[4]s que a fechará</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">referenciado esta issue de um pull request %[4]s que a reabrirá</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`fechou esta issue %s`
|
||||
issues.reopened_at=`reabriu esta issue %s`
|
||||
issues.commit_ref_at=`citou esta issue de um commit %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">citou esta issue %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">citou este pull request %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">citou esta issue de um pull request %[3]s que a fechará</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">citou esta issue de um pull request %[3]s que a reabrirá</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">fechou esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">reabriu esta issue %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`de %[1]s`
|
||||
|
@ -1942,8 +1942,8 @@ pulls.update_branch_success=Atualização do branch foi bem-sucedida
|
|||
pulls.update_not_allowed=Você não tem permissão para atualizar o branch
|
||||
pulls.outdated_with_base_branch=Este branch está desatualizado com o branch base
|
||||
pulls.close=Fechar pull request
|
||||
pulls.closed_at=`fechou este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`reabriu este pull request <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`fechou este pull request %s`
|
||||
pulls.reopened_at=`reabriu este pull request %s`
|
||||
pulls.clear_merge_message=Limpar mensagem do merge
|
||||
pulls.clear_merge_message_hint=Limpar a mensagem de merge só irá remover o conteúdo da mensagem de commit e manter trailers git gerados, como "Co-Authored-By …".
|
||||
|
||||
|
@ -2719,7 +2719,7 @@ issues.label_archive_tooltip = Etiquetas arquivadas não serão exibidas nas sug
|
|||
activity.navbar.pulse = Recente
|
||||
settings.units.overview = Geral
|
||||
settings.units.add_more = Habilitar mais
|
||||
pulls.commit_ref_at = `referenciou este pedido de mesclagem no commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `citou este pull request de um commit %s`
|
||||
pulls.cmd_instruction_merge_title = Mesclar
|
||||
settings.units.units = Unidades
|
||||
vendored = Externo
|
||||
|
@ -2920,6 +2920,7 @@ settings.event_action_recover = Recuperar
|
|||
settings.event_action_recover_desc = A execução da Action teve sucesso após a última execução no mesmo workflow ter falhado.
|
||||
settings.event_action_success = Sucesso
|
||||
settings.event_action_success_desc = A execução da Action foi bem sucedida.
|
||||
issues.filter_type.all_pull_requests = Todos os pull requests
|
||||
|
||||
[graphs]
|
||||
component_loading = Carregando %s…
|
||||
|
@ -3056,8 +3057,8 @@ open_dashboard = Abrir painel
|
|||
settings.change_orgname_prompt = Obs.: Alterar o nome de uma organização resultará na alteração do URL dela e disponibilizará o nome antigo para uso.
|
||||
follow_blocked_user = Não foi possível seguir esta organização porque ela bloqueou-o(a).
|
||||
form.name_pattern_not_allowed = O padrão "%s" não é permitido no nome de uma organização.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia, você ainda pode recuperar o nome antigo durante este período de proteção.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = O nome de organização antigo ficará disponível para qualquer pessoa após um período de espera de %[1]d dia, você ainda pode recuperar o nome antigo durante este período de espera.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome antigo durante este período de proteção.
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = O nome de organização antigo ficará disponível para qualquer pessoa após um período de proteção de %[1]d dia. Você ainda pode recuperar o nome antigo durante este período de proteção.
|
||||
|
||||
[admin]
|
||||
dashboard=Painel
|
||||
|
|
|
@ -1657,13 +1657,13 @@ issues.close_comment_issue=Fechar com comentário
|
|||
issues.reopen_issue=Reabrir
|
||||
issues.reopen_comment_issue=Reabrir com comentário
|
||||
issues.create_comment=Comentar
|
||||
issues.closed_at=`encerrou esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`reabriu esta questão <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`referenciou esta questão num cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">referiu esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">referiu este pedido de integração %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">referiu esta questão a partir de um pedido de integração %[4]s que a fechará</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">referiu esta questão a partir de um pedido de integração %[4]s que a reabrirá</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`encerrou esta questão %s`
|
||||
issues.reopened_at=`reabriu esta questão %s`
|
||||
issues.commit_ref_at=`referenciou esta questão num cometimento %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">referiu esta questão %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">referiu este pedido de integração %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">referiu esta questão a partir de um pedido de integração %[3]s que a fechará</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">referiu esta questão a partir de um pedido de integração %[3]s que a reabrirá</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">encerrou esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">reabriu esta questão %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`de %[1]s`
|
||||
|
@ -1972,8 +1972,8 @@ pulls.update_branch_success=A sincronização do ramo foi bem sucedida
|
|||
pulls.update_not_allowed=Não tem autorização para sincronizar o ramo
|
||||
pulls.outdated_with_base_branch=Este ramo é obsoleto em relação ao ramo base
|
||||
pulls.close=Encerrar pedido de integração
|
||||
pulls.closed_at=`fechou este pedido de integração <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`reabriu este pedido de integração <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`fechou este pedido de integração %s`
|
||||
pulls.reopened_at=`reabriu este pedido de integração %s`
|
||||
pulls.cmd_instruction_hint=Ver instruções para a linha de comandos
|
||||
pulls.cmd_instruction_checkout_title=Conferir
|
||||
pulls.cmd_instruction_checkout_desc=No seu repositório, irá criar um novo ramo para que possa testar as modificações.
|
||||
|
@ -2785,7 +2785,7 @@ settings.wiki_rename_branch_main_desc = Renomear o ramo usado internamente pelo
|
|||
settings.add_collaborator_blocked_our = Não foi possível adicionar o/a colaborador/a porque o/a proprietário/a do repositório bloqueou-os.
|
||||
settings.add_webhook.invalid_path = A localização não pode conter "." ou ".." ou ficar em branco. Não pode começar ou terminar com uma barra.
|
||||
settings.graphql_url = URL do GraphQL
|
||||
pulls.commit_ref_at = `referiu este pedido de integração a partir de um cometimento <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `referiu este pedido de integração a partir de um cometimento %s`
|
||||
settings.confirm_wiki_branch_rename = Renomear o ramo do wiki
|
||||
settings.wiki_branch_rename_success = O nome do ramo do wiki do repositório foi normalizado com sucesso.
|
||||
settings.wiki_branch_rename_failure = Falhou a normalização do nome do ramo do wiki do repositório.
|
||||
|
|
|
@ -1563,7 +1563,7 @@ issues.remove_ref_at=`убрана ссылка на <b>%s</b> %s`
|
|||
issues.add_ref_at=`добавлена ссылка на <b>%s</b> %s`
|
||||
issues.delete_branch_at=`удалена ветвь <b>%s</b> %s`
|
||||
issues.filter_label=Метки
|
||||
issues.filter_label_exclude=`Исключайте метки с помощью <code>alt</code> + <code>лкм/enter</code>`
|
||||
issues.filter_label_exclude=Исключайте метки с помощью <kbd>Alt</kbd> + <kbd>ЛКМ</kbd>
|
||||
issues.filter_label_no_select=Любые метки
|
||||
issues.filter_label_select_no_label=Без меток
|
||||
issues.filter_milestone=Этап
|
||||
|
@ -1637,13 +1637,13 @@ issues.close_comment_issue=Закрыть комментарием
|
|||
issues.reopen_issue=Открыть снова
|
||||
issues.reopen_comment_issue=Открыть снова комментарием
|
||||
issues.create_comment=Комментировать
|
||||
issues.closed_at=`задача была закрыта <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`задача была открыта снова <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`упоминание этой задачи в коммите <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">упоминание этой задачи %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">упоминание этого запроса слияния %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">упоминание из запроса на слияние %[4]s, который закроет эту задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">упоминание из запроса на слияние %[4]s, который повторно откроет эту задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`задача была закрыта %s`
|
||||
issues.reopened_at=`задача была открыта снова %s`
|
||||
issues.commit_ref_at=`упоминание этой задачи в коммите %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">упоминание этой задачи %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">упоминание этого запроса слияния %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">упоминание из запроса на слияние %[3]s, который закроет эту задачу</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">упоминание из запроса на слияние %[3]s, который повторно откроет эту задачу</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">закрыл этот запрос %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">задача была открыта снова %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`из %[1]s`
|
||||
|
@ -1943,8 +1943,8 @@ pulls.update_branch_success=Ветвь успешно обновлена
|
|||
pulls.update_not_allowed=Недостаточно прав для обновления ветви
|
||||
pulls.outdated_with_base_branch=Эта ветвь отстает от базовой ветви
|
||||
pulls.close=Закрыть запрос слияния
|
||||
pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`переоткрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`закрыл этот запрос на слияние %s`
|
||||
pulls.reopened_at=`переоткрыл этот запрос на слияние %s`
|
||||
pulls.cmd_instruction_hint=Показать инструкции для командной строки
|
||||
pulls.cmd_instruction_merge_title=Слейте изменения
|
||||
pulls.cmd_instruction_merge_desc=Слейте изменения и отправьте их обратно.
|
||||
|
@ -2772,7 +2772,7 @@ settings.ignore_stale_approvals = Игнорировать устаревшие
|
|||
contributors.contribution_type.additions = Добавления
|
||||
contributors.contribution_type.deletions = Удаления
|
||||
contributors.contribution_type.filter_label = Вид деятельности:
|
||||
pulls.commit_ref_at = `упоминание этого запроса слияния в коммите <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `сослался на этот запрос слияния в коммите %s`
|
||||
settings.thread_id = ИД обсуждения
|
||||
pulls.made_using_agit = AGit
|
||||
activity.navbar.contributors = Соавторы
|
||||
|
|
|
@ -1100,12 +1100,12 @@ issues.close_comment_issue=අදහස් දක්වා වසන්න
|
|||
issues.reopen_issue=නැවත විවෘත කරන්න
|
||||
issues.reopen_comment_issue=අදහස් දක්වා විවෘත කරන්න
|
||||
issues.create_comment=අදහස
|
||||
issues.closed_at=`මෙම ගැටළුව වසා <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">මෙම නිකුතුව %[4]s හි</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">මෙම අදින්න ඉල්ලීම%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">මෙම ගැටළුව වසා දමනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[4]s මෙම ගැටළුව</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`මෙම ගැටළුව වසා %s`
|
||||
issues.reopened_at=`මෙම ගැටළුව නැවත විවෘත කරන ලදි %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">මෙම නිකුතුව %[3]s හි</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">මෙම අදින්න ඉල්ලීම%[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">මෙම ගැටළුව වසා දමනු ඇත%[3]s මෙම ගැටළුව</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">මෙම ගැටළුව නැවත විවෘත කරනු ඇත%[3]s මෙම ගැටළුව</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">මෙම නිකුතුව%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>නැවත විවෘත කරන ලදි`
|
||||
issues.ref_from=`හිම%[1]s`
|
||||
|
@ -1342,8 +1342,8 @@ pulls.update_branch_rebase=රිබේස් මගින් ශාඛාව
|
|||
pulls.update_branch_success=ශාඛා යාවත්කාලීන කිරීම සාර්ථක විය
|
||||
pulls.update_not_allowed=ශාඛාව යාවත්කාලීන කිරීමට ඔබට අවසර නැත
|
||||
pulls.outdated_with_base_branch=මෙම ශාඛාව මූලික ශාඛාව සමඟ දිවයයි
|
||||
pulls.closed_at=`මෙම අදින්න ඉල්ලීම වසා <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`මෙම අදින්න ඉල්ලීම නැවත විවෘත කරන ලදි <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`මෙම අදින්න ඉල්ලීම වසා %s`
|
||||
pulls.reopened_at=`මෙම අදින්න ඉල්ලීම නැවත විවෘත කරන ලදි %s`
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -326,7 +326,7 @@ issues.no_content=Још нема садржаја.
|
|||
issues.close_issue=Затвори
|
||||
issues.reopen_issue=Поново отвори
|
||||
issues.create_comment=Коментирај
|
||||
issues.commit_ref_at=`поменуо овај задатак у комит <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`поменуо овај задатак у комит %s`
|
||||
issues.poster=Аутор
|
||||
issues.collaborator=Коаутор
|
||||
issues.owner=Власник
|
||||
|
|
|
@ -1157,13 +1157,13 @@ issues.close_comment_issue=Stäng med kommentar
|
|||
issues.reopen_issue=Återöppna
|
||||
issues.reopen_comment_issue=Öppna igen med kommentar
|
||||
issues.create_comment=Kommentera
|
||||
issues.closed_at=`stängde ärendet <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`återöppnade detta ärende <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`refererade till detta ärende från en incheckning <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">refererade till detta ärende %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">refererade till denna pull-förfrågan %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att stänga det</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">hänvisade till detta ärende från en pull-förfrågan %[4]s som kommer att öppna ärendet på nytt</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`stängde ärendet %s`
|
||||
issues.reopened_at=`återöppnade detta ärende %s`
|
||||
issues.commit_ref_at=`refererade till detta ärende från en incheckning %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">refererade till detta ärende %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">refererade till denna pull-förfrågan %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">hänvisade till detta ärende från en pull-förfrågan %[3]s som kommer att stänga det</a> %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">hänvisade till detta ärende från en pull-förfrågan %[3]s som kommer att öppna ärendet på nytt</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">stängde detta ärende %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">öpnnade detta ärende igen %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`från %[1]s`
|
||||
|
|
|
@ -1594,13 +1594,13 @@ issues.close_comment_issue=Yorum Yap ve Kapat
|
|||
issues.reopen_issue=Yeniden aç
|
||||
issues.reopen_comment_issue=Yorum Yap ve Yeniden Aç
|
||||
issues.create_comment=Yorum yap
|
||||
issues.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> konusunu kapattı`
|
||||
issues.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> konusunu yeniden açtı`
|
||||
issues.commit_ref_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> işlemesinde bu konuyu işaret etti`
|
||||
issues.ref_issue_from=`<a href="%[3]s">bu konuya referansta bulundu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">bu değişiklik isteğine referansta bulundu %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">bir değişiklik isteğine referansta bulundu %[4]s bu konu kapatılacak </a><a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">bir değişiklik isteğine referansta bulundu %[4]s bu konu yeniden açılacak</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`%s konusunu kapattı`
|
||||
issues.reopened_at=`%s konusunu yeniden açtı`
|
||||
issues.commit_ref_at=`%s işlemesinde bu konuyu işaret etti`
|
||||
issues.ref_issue_from=`<a href="%[2]s">bu konuya referansta bulundu %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">bu değişiklik isteğine referansta bulundu %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">bir değişiklik isteğine referansta bulundu %[3]s bu konu kapatılacak </a>%[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">bir değişiklik isteğine referansta bulundu %[3]s bu konu yeniden açılacak</a> %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">bu konuyu kapat%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">konuyu yeniden aç%[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`%[1]s'den`
|
||||
|
@ -1907,8 +1907,8 @@ pulls.update_branch_success=Dal güncellemesi başarıyla gerçekleştirildi
|
|||
pulls.update_not_allowed=Dalı güncelleme izniniz yok
|
||||
pulls.outdated_with_base_branch=Bu dal, temel dal ile güncel değil
|
||||
pulls.close=Değişiklik İsteğini Kapat
|
||||
pulls.closed_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> değişiklik isteğini kapattı`
|
||||
pulls.reopened_at=`<a id="%[1]s" href="#%[1]s">%[2]s</a> değişiklik isteğini yeniden açtı`
|
||||
pulls.closed_at=`%s değişiklik isteğini kapattı`
|
||||
pulls.reopened_at=`%s değişiklik isteğini yeniden açtı`
|
||||
pulls.cmd_instruction_hint=`Komut satırı talimatlarını görüntüleyin.`
|
||||
pulls.cmd_instruction_checkout_title=Çekme
|
||||
pulls.cmd_instruction_checkout_desc=Proje deponuzdan yeni bir dalı çekin ve değişiklikleri test edin.
|
||||
|
|
|
@ -694,7 +694,7 @@ disabled_public_activity=Цей користувач вимкнув публіч
|
|||
joined_on = Реєстрація %s
|
||||
email_visibility.private = Ваш email видно лише вам і адміністраторам
|
||||
email_visibility.limited = Вашу е-пошту видно всім авторизованим
|
||||
settings = Користувацькі параметри
|
||||
settings = Користувацькі налаштування
|
||||
block_user.detail_3 = Ви не зможете додати один одного в якості співавтора репозиторію.
|
||||
show_on_map = Показати це місце на мапі
|
||||
block_user.detail_2 = Цей користувач не зможе взаємодіяти з репозиторіями, власником яких є ви, а також із задачами та коментарями, які ви створили.
|
||||
|
@ -1447,7 +1447,7 @@ issues.remove_ref_at=`видалив посилання <b>%s</b> %s`
|
|||
issues.add_ref_at=`додав посилання <b>%s</b> %s`
|
||||
issues.delete_branch_at=`видалена гілка <b>%s</b> %s`
|
||||
issues.filter_label=Мітка
|
||||
issues.filter_label_exclude=`Використовуйте <code>Alt</code> + <code>клік/Enter</code> для виключення міток`
|
||||
issues.filter_label_exclude=Використовуйте <kbd>Alt</kbd> + <kbd>клік</kbd> для виключення міток
|
||||
issues.filter_label_no_select=Всі мітки
|
||||
issues.filter_milestone=Етап
|
||||
issues.filter_project=Проєкт
|
||||
|
@ -1496,17 +1496,17 @@ issues.context.quote_reply=Цитувати відповідь
|
|||
issues.context.reference_issue=Послатися в новій задачі
|
||||
issues.context.edit=Редагувати
|
||||
issues.context.delete=Видалити
|
||||
issues.close_comment_issue=Прокоментувати і закрити
|
||||
issues.close_comment_issue=Закрити з коментарем
|
||||
issues.reopen_issue=Відкрити знову
|
||||
issues.reopen_comment_issue=Прокоментувати та відкрити знову
|
||||
issues.reopen_comment_issue=Відкрити знову з коментарем
|
||||
issues.create_comment=Коментар
|
||||
issues.closed_at=`закрив цю задачу <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`повторно відкрив цю задачу <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`згадано цю задачу в коміті <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">посилається на цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">послався на цей запит злиття %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`<a href="%[3]s">згадав запит на злиття %[4]s, які закриють цю задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopening_from=`<a href="%[3]s">згадав запит на злиття %[4]s, які повторно відкриють цю задачу</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.closed_at=`закриває цю задачу %s`
|
||||
issues.reopened_at=`повторно відкриває цю задачу %s`
|
||||
issues.commit_ref_at=`посилається на цю задачу в коміті %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">посилається на цю задачу %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">посилається на цей запит злиття %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`<a href="%[2]s">посилається в запиті на злиття %[3]s, який закриє цю задачу</a>, %[1]s`
|
||||
issues.ref_reopening_from=`<a href="%[2]s">посилається в запиті на злиття %[3]s, який повторно відкриє цю задачу</a>, %[1]s`
|
||||
issues.ref_closed_from=`<a href="%[3]s">закрив цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">повторно відкрито цю задачу %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`із %[1]s`
|
||||
|
@ -1743,8 +1743,8 @@ pulls.update_branch_rebase=Оновити гілку перебазування
|
|||
pulls.update_branch_success=Оновлення гілки пройшло успішно
|
||||
pulls.update_not_allowed=Ви не можете оновити гілку
|
||||
pulls.outdated_with_base_branch=Ця гілка застаріла відносно базової гілки
|
||||
pulls.closed_at=`закрив цей запит на злиття <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`повторно відкрив цей запит на злиття <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`закриває цей запит на злиття %s`
|
||||
pulls.reopened_at=`повторно відкриває цей запит на злиття %s`
|
||||
|
||||
|
||||
|
||||
|
@ -1887,7 +1887,7 @@ settings.collaboration.owner=Власник
|
|||
settings.collaboration.undefined=Не визначено
|
||||
settings.hooks=Веб-хуки
|
||||
settings.githooks=Git хуки
|
||||
settings.basic_settings=Базові налаштування
|
||||
settings.basic_settings=Основні налаштування
|
||||
settings.mirror_settings=Налаштування дзеркала
|
||||
settings.mirror_settings.mirrored_repository=Віддзеркалений репозиторій
|
||||
settings.mirror_settings.direction=Напрямок
|
||||
|
@ -2055,12 +2055,12 @@ settings.event_issue_assign=Призначення
|
|||
settings.event_issue_assign_desc=Задачу призначено або скасовано.
|
||||
settings.event_issue_label=Мітки
|
||||
settings.event_issue_label_desc=Додавання або видалення міток задач.
|
||||
settings.event_issue_milestone=Задача з етапом
|
||||
settings.event_issue_milestone=Етапи
|
||||
settings.event_issue_milestone_desc=Етап призначено, видалено або змінено.
|
||||
settings.event_issue_comment=Коментарі
|
||||
settings.event_issue_comment_desc=Коментар задачі створено, видалено чи відредаговано.
|
||||
settings.event_header_pull_request=Події запиту на злиття
|
||||
settings.event_pull_request=Запити до злиття
|
||||
settings.event_pull_request=Зміна
|
||||
settings.event_pull_request_desc=Запит до злиття відкрито, закрито, перевідкрито або відредаговано.
|
||||
settings.event_pull_request_assign=Призначення
|
||||
settings.event_pull_request_assign_desc=Запит про злиття призначено або скасовано.
|
||||
|
@ -2485,7 +2485,7 @@ signing.will_sign = Коміт буде підписано ключем «%s».
|
|||
signing.wont_sign.error = Під час перевірки можливості підписати коміт сталася помилка.
|
||||
commits.search_branch = У цій гілці
|
||||
ext_wiki = Зовнішня вікі
|
||||
pulls.commit_ref_at = `посилається на цей запит на злиття в коміті <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.commit_ref_at = `посилається на цей запит на злиття в коміті %s`
|
||||
pulls.cmd_instruction_hint = Переглянути інструкції для командного рядка
|
||||
issues.max_pinned = Неможливо закріпити більше задач
|
||||
issues.unpin_comment = відкріпив %s
|
||||
|
@ -2847,7 +2847,7 @@ dashboard.update_migration_poster_id=Оновити мігровані ID авт
|
|||
dashboard.git_gc_repos=Виконати очистку сміття для всіх репозиторіїв
|
||||
dashboard.resync_all_sshkeys=Оновити файл «.ssh/authorized_keys» з SSH-ключами Forgejo.
|
||||
dashboard.resync_all_sshprincipals=Оновити файл «.ssh/authorized_principals» з SSH даними користувача Forgejo.
|
||||
dashboard.resync_all_hooks=Пересинхронізувати перед-прийнятні, оновлюючі та пост-прийнятні хуки в усіх репозиторіях
|
||||
dashboard.resync_all_hooks=Пересинхронізувати хуки pre-receive, update та post-receive в усіх репозиторіях
|
||||
dashboard.reinit_missing_repos=Переініціалізувати усі репозитрії git-файли яких втрачено
|
||||
dashboard.sync_external_users=Синхронізувати дані зовнішніх користувачів
|
||||
dashboard.cleanup_hook_task_table=Очистити hook_task таблицю
|
||||
|
@ -2906,7 +2906,7 @@ users.edit_account=Редагувати обліковий запис
|
|||
users.max_repo_creation=Максимальна кількість репозиторіїв
|
||||
users.max_repo_creation_desc=(Введіть -1, щоб використовувати глобальний ліміт за замовчуванням.)
|
||||
users.is_activated=Обліковий запис користувача увімкнено
|
||||
users.prohibit_login=Вимкнути вхід
|
||||
users.prohibit_login=Заблокований обліковий запис
|
||||
users.is_admin=Обліковий запис адміністратора
|
||||
users.is_restricted=Обмежений
|
||||
users.allow_git_hook=Може створювати Git хуки
|
||||
|
@ -3305,6 +3305,7 @@ dashboard.cron.cancelled = Cron: %[1]s скасовано: %[3]s
|
|||
defaulthooks.desc = Вебхуки автоматично сповіщають HTTP-сервер POST-запитами, коли в Forgejo відбуваються певні події. Вказані тут вебхуки є типовими і будуть скопійовані до всіх нових репозиторіїв. Докладніше — в <a target="_blank" rel="noopener" href="%s">посібнику з вебхуків</a>.
|
||||
assets = Ресурси коду
|
||||
auths.invalid_openIdConnectAutoDiscoveryURL = Неправильна URL-адреса автоматичного виявлення (повинна бути дійсна URL-адреса, що починається з http:// або https://)
|
||||
settings = Налаштування адміністратора
|
||||
|
||||
|
||||
[action]
|
||||
|
|
|
@ -1062,8 +1062,8 @@ language.description = 此语言将保存到您的账号中,并在您登录后
|
|||
language.localization_project = 帮助我们将 Forgejo 翻译成您的语言!<a href="%s">了解更多</a>。
|
||||
user_block_yourself = 您不能屏蔽自己。
|
||||
pronouns_custom_label = 自定义代词
|
||||
change_username_redirect_prompt.with_cooldown.one = 旧的用户名将在%[1]d天的保护期后对所有人可用,您仍可以在此期间重新认领旧的用户名。
|
||||
change_username_redirect_prompt.with_cooldown.few = 旧的用户名将在%[1]d天的保护期后对所有人可用,您仍可以在此期间重新认领旧的用户名。
|
||||
change_username_redirect_prompt.with_cooldown.one = 旧用户名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧用户名。
|
||||
change_username_redirect_prompt.with_cooldown.few = 旧用户名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧用户名。
|
||||
keep_pronouns_private = 仅向已认证用户显示代词
|
||||
keep_pronouns_private.description = 这将对未登录的访问者隐藏您的代词。
|
||||
quota = 配额
|
||||
|
@ -1581,7 +1581,7 @@ issues.remove_ref_at=`删除了引用 <b>%s</b> %s`
|
|||
issues.add_ref_at=`添加了引用 <b>%s</b> %s`
|
||||
issues.delete_branch_at=`于 %[2]s 删除了分支 <b>%[1]s</b>`
|
||||
issues.filter_label=标签筛选
|
||||
issues.filter_label_exclude=`使用 <code>alt</code> + <code>鼠标左键 / 回车</code> 排除标签`
|
||||
issues.filter_label_exclude=使用 <kbd>Alt</kbd> + <kbd>单击</kbd> 排除标签
|
||||
issues.filter_label_no_select=所有标签
|
||||
issues.filter_label_select_no_label=无标签
|
||||
issues.filter_milestone=里程碑筛选
|
||||
|
@ -1655,13 +1655,13 @@ issues.close_comment_issue=评论并关闭
|
|||
issues.reopen_issue=重新开放
|
||||
issues.reopen_comment_issue=重新打开并评论
|
||||
issues.create_comment=评论
|
||||
issues.closed_at=`于<a id="%[1]s" href="#%[1]s">%[2]s</a>关闭此议题`
|
||||
issues.reopened_at=`重新打开此问题 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`于<a id="%[1]s" href="#%[1]s">%[2]s</a>在代码提交中引用了该议题`
|
||||
issues.ref_issue_from=`<a href="%[3]s">引用了议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">引用了合并请求 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s">从合并请求 %[4]s引用了此议题,将关闭此议题</a>`
|
||||
issues.ref_reopening_from=`于 <a id="%[1]s" href="#%[1]s">%[2]s</a> <a href="%[3]s"> 引用了合并请求 %[4]s 将重新讨论此议题</a> `
|
||||
issues.closed_at=`于 %s 关闭了此议题`
|
||||
issues.reopened_at=`于 %s 重新打开了此议题`
|
||||
issues.commit_ref_at=`于 %s 从提交中引用了此议题`
|
||||
issues.ref_issue_from=`<a href="%[2]s">引用了此议题 %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">引用了此合并请求 %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=`于 %[1]s <a href="%[2]s">从合并请求 %[3]s 引用了此议题,将关闭此议题</a>`
|
||||
issues.ref_reopening_from=`于 %[1]s <a href="%[2]s">从合并请求 %[3]s 引用了此议题,将重新打开此议题</a> `
|
||||
issues.ref_closed_from=`<a href="%[3]s">关闭了这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">重新打开这个议题 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`来自 %[1]s`
|
||||
|
@ -1969,8 +1969,8 @@ pulls.update_branch_success=分支更新成功
|
|||
pulls.update_not_allowed=您无权更新分支
|
||||
pulls.outdated_with_base_branch=此分支相比基础分支已过期
|
||||
pulls.close=关闭
|
||||
pulls.closed_at=`于<a id="%[1]s" href="#%[1]s">%[2]s</a>关闭此合并请求 `
|
||||
pulls.reopened_at=`重新打开此合并请求 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`于 %s 关闭了此合并请求 `
|
||||
pulls.reopened_at=`于 %s 重新打开了此合并请求`
|
||||
pulls.cmd_instruction_hint=查看命令行说明
|
||||
pulls.cmd_instruction_checkout_title=检出
|
||||
pulls.cmd_instruction_checkout_desc=从你的仓库中检出一个新的分支并测试变更。
|
||||
|
@ -2770,7 +2770,7 @@ settings.wiki_rename_branch_main = 标准化百科分支名称
|
|||
settings.wiki_rename_branch_main_notices_1 = 此操作<strong>无法</strong>撤消。
|
||||
settings.wiki_branch_rename_success = 百科仓库的分支名称已成功规范化。
|
||||
settings.confirm_wiki_branch_rename = 重命名百科分支
|
||||
pulls.commit_ref_at = `在提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了此合并请求`
|
||||
pulls.commit_ref_at = `于 %s 从提交中引用了此合并请求`
|
||||
settings.wiki_rename_branch_main_notices_2 = 这将永久重命名 %s 的仓库百科的内部分支。现存的检出方式需要更新。
|
||||
settings.wiki_branch_rename_failure = 无法标准化仓库百科的分支名称。
|
||||
settings.add_collaborator_blocked_our = 因仓库所有者已将其拉黑,不能添加该用户为协作者。
|
||||
|
@ -2922,6 +2922,7 @@ settings.event_action_success = 成功
|
|||
settings.event_action_success_desc = Action运行以成功结束。
|
||||
settings.event_action_failure_desc = Action运行以失败结束。
|
||||
settings.event_header_action = Action运行事件
|
||||
issues.filter_type.all_pull_requests = 所有合并请求
|
||||
|
||||
[graphs]
|
||||
component_loading=正在加载 %s…
|
||||
|
@ -3057,8 +3058,8 @@ teams.invite.by=邀请人 %s
|
|||
teams.invite.description=请点击下面的按钮加入团队。
|
||||
follow_blocked_user = 你无法关注此组织,因为此组织已屏蔽你。
|
||||
open_dashboard = 打开仪表盘
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = 旧的组织名将在%[1]d天的保护期后对所有人可用,您仍可以在此期间重新认领旧的名字。
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = 旧的组织名将在%[1]d天的保护期后对所有人可用,您仍可以在此期间重新认领旧名字。
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.one = 旧组织名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧名称。
|
||||
settings.change_orgname_redirect_prompt.with_cooldown.few = 旧组织名将在 %[1]d 天的保护期后对所有人可用,您仍可以在此期间重新认领旧名称。
|
||||
|
||||
[admin]
|
||||
dashboard=管理面板
|
||||
|
|
|
@ -574,7 +574,7 @@ issues.delete_comment_confirm=您確定要刪除該條評論嗎?
|
|||
issues.context.edit=編輯
|
||||
issues.reopen_issue=重新開啟
|
||||
issues.create_comment=評論
|
||||
issues.commit_ref_at=`在代碼提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了該問題`
|
||||
issues.commit_ref_at=`在代碼提交 %s 中引用了該問題`
|
||||
issues.role.owner=管理員
|
||||
issues.role.member=普通成員
|
||||
issues.sign_in_require_desc=<a href="%s"> 登入</a> 才能加入這對話。
|
||||
|
|
|
@ -1604,13 +1604,13 @@ issues.close_comment_issue=留言並關閉
|
|||
issues.reopen_issue=重新開放
|
||||
issues.reopen_comment_issue=留言並重新開放
|
||||
issues.create_comment=留言
|
||||
issues.closed_at=`關閉了這個問題 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.reopened_at=`重新開放了這個問題 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.commit_ref_at=`在提交中關聯了這個問題 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_issue_from=`<a href="%[3]s">關聯了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_pull_from=`<a href="%[3]s">關聯了這個合併請求 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_closing_from=<a href="%[3]s">從將關閉此問題的拉取請求 %[4]s 中提及了此問題</a>,<a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.ref_reopening_from=<a href="%[3]s">從將重新開啟此問題的拉取請求 %[4]s 中提及了此問題</a>,<a id="%[1]s" href="#%[1]s">%[2]s</a>
|
||||
issues.closed_at=`關閉了這個問題 %s`
|
||||
issues.reopened_at=`重新開放了這個問題 %s`
|
||||
issues.commit_ref_at=`在提交中關聯了這個問題 %s`
|
||||
issues.ref_issue_from=`<a href="%[2]s">關聯了這個問題 %[3]s</a> %[1]s`
|
||||
issues.ref_pull_from=`<a href="%[2]s">關聯了這個合併請求 %[3]s</a> %[1]s`
|
||||
issues.ref_closing_from=<a href="%[2]s">從將關閉此問題的拉取請求 %[3]s 中提及了此問題</a>,%[1]s
|
||||
issues.ref_reopening_from=<a href="%[2]s">從將重新開啟此問題的拉取請求 %[3]s 中提及了此問題</a>,%[1]s
|
||||
issues.ref_closed_from=`<a href="%[3]s">關閉了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_reopened_from=`<a href="%[3]s">重新開放了這個問題 %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
issues.ref_from=`自 %[1]s`
|
||||
|
@ -1879,8 +1879,8 @@ pulls.update_branch_success=分支更新成功
|
|||
pulls.update_not_allowed=您無權更新分支
|
||||
pulls.outdated_with_base_branch=相對於基底分支,此分支已過時
|
||||
pulls.close=關閉合併請求
|
||||
pulls.closed_at=`關閉了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.reopened_at=`重新開放了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
|
||||
pulls.closed_at=`關閉了這個合併請求 %s`
|
||||
pulls.reopened_at=`重新開放了這個合併請求 %s`
|
||||
pulls.clear_merge_message=清除合併訊息
|
||||
pulls.clear_merge_message_hint=清除合併訊息將僅移除提交訊息內容,留下產生的 git 結尾,如「Co-Authored-By …」。
|
||||
|
||||
|
@ -2634,7 +2634,7 @@ commits.search_branch = 此分支
|
|||
commits.browse_further = 進一步瀏覽
|
||||
commits.renamed_from = 自 %s 重新命名
|
||||
issues.filter_milestone_none = 沒有里程碑
|
||||
issues.num_comments_1 = %s 則留言
|
||||
issues.num_comments_1 = %d 則留言
|
||||
issues.no_content = 沒有提供敘述。
|
||||
settings.new_owner_blocked_doer = 新的所有者已封鎖您。
|
||||
new_repo_helper = 一個儲存庫包含專案的所有檔案和它們的修訂歷史。在別處已經有儲存庫了嗎?<a href="%s">遷移儲存庫</a>。
|
||||
|
@ -2693,7 +2693,7 @@ signing.wont_sign.never = 永不簽署提交。
|
|||
editor.push_out_of_date = 該推送似乎過期了。
|
||||
issues.cancel_tracking_history = `已取消時間追蹤 %s`
|
||||
issues.due_date_not_writer = 您需要有寫入這個儲存庫的權限才能更新其問題的到期日。
|
||||
pulls.commit_ref_at = `在提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 引用了這個合併請求`
|
||||
pulls.commit_ref_at = `在提交 %s 引用了這個合併請求`
|
||||
pulls.cmd_instruction_checkout_desc = 從您的專案儲存庫中,建立並切換到一個新分支以測試這些變更。
|
||||
pulls.cmd_instruction_merge_title = 合併
|
||||
pulls.ready_for_review = 可以開始審閱了嗎?
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue