Compare commits

..

1 commit

Author SHA1 Message Date
b72593e7da Dockerfile: rename user to _gitea instead of git 2024-05-02 15:05:39 -03:00
172 changed files with 1780 additions and 3104 deletions

View file

@ -179,6 +179,7 @@ package "code.gitea.io/gitea/modules/git"
func (ErrExecTimeout).Error func (ErrExecTimeout).Error
func (ErrUnsupportedVersion).Error func (ErrUnsupportedVersion).Error
func SetUpdateHook func SetUpdateHook
func GetObjectFormatOfRepo
func openRepositoryWithDefaultContext func openRepositoryWithDefaultContext
func IsTagExist func IsTagExist
func ToEntryMode func ToEntryMode
@ -314,6 +315,8 @@ package "code.gitea.io/gitea/routers/web"
package "code.gitea.io/gitea/routers/web/org" package "code.gitea.io/gitea/routers/web/org"
func MustEnableProjects func MustEnableProjects
func getActionIssues
func UpdateIssueProject
package "code.gitea.io/gitea/services/context" package "code.gitea.io/gitea/services/context"
func GetPrivateContext func GetPrivateContext

View file

@ -26,6 +26,3 @@ indent_style = tab
[*.svg] [*.svg]
insert_final_newline = false insert_final_newline = false
[options/locale/locale_*.ini]
insert_final_newline = false

View file

@ -82,7 +82,7 @@ endif
STORED_VERSION_FILE := VERSION STORED_VERSION_FILE := VERSION
HUGO_VERSION ?= 0.111.3 HUGO_VERSION ?= 0.111.3
GITEA_COMPATIBILITY ?= gitea-1.21.11 GITEA_COMPATIBILITY ?= gitea-1.22.0
STORED_VERSION=$(shell cat $(STORED_VERSION_FILE) 2>/dev/null) STORED_VERSION=$(shell cat $(STORED_VERSION_FILE) 2>/dev/null)
ifneq ($(STORED_VERSION),) ifneq ($(STORED_VERSION),)

File diff suppressed because one or more lines are too long

View file

@ -316,12 +316,12 @@ func runHookUpdate(c *cli.Context) error {
return nil return nil
} }
// Empty new commit ID means deletion. // Deletion of the ref means that the new commit ID is only composed of '0'.
if git.IsEmptyCommitID(newCommitID, nil) { if strings.ContainsFunc(newCommitID, func(e rune) bool { return e != '0' }) {
return fail(ctx, fmt.Sprintf("The deletion of %s is skipped as it's an internal reference.", refFullName), "") return nil
} }
return nil return fail(ctx, fmt.Sprintf("The deletion of %s is skipped as it's an internal reference.", refFullName), "")
} }
func runHookPostReceive(c *cli.Context) error { func runHookPostReceive(c *cli.Context) error {
@ -366,7 +366,6 @@ Forgejo or set your environment appropriately.`, "")
isWiki, _ := strconv.ParseBool(os.Getenv(repo_module.EnvRepoIsWiki)) isWiki, _ := strconv.ParseBool(os.Getenv(repo_module.EnvRepoIsWiki))
repoName := os.Getenv(repo_module.EnvRepoName) repoName := os.Getenv(repo_module.EnvRepoName)
pusherID, _ := strconv.ParseInt(os.Getenv(repo_module.EnvPusherID), 10, 64) pusherID, _ := strconv.ParseInt(os.Getenv(repo_module.EnvPusherID), 10, 64)
prID, _ := strconv.ParseInt(os.Getenv(repo_module.EnvPRID), 10, 64)
pusherName := os.Getenv(repo_module.EnvPusherName) pusherName := os.Getenv(repo_module.EnvPusherName)
hookOptions := private.HookOptions{ hookOptions := private.HookOptions{
@ -376,8 +375,6 @@ Forgejo or set your environment appropriately.`, "")
GitObjectDirectory: os.Getenv(private.GitObjectDirectory), GitObjectDirectory: os.Getenv(private.GitObjectDirectory),
GitQuarantinePath: os.Getenv(private.GitQuarantinePath), GitQuarantinePath: os.Getenv(private.GitQuarantinePath),
GitPushOptions: pushOptions(), GitPushOptions: pushOptions(),
PullRequestID: prID,
PushTrigger: repo_module.PushTrigger(os.Getenv(repo_module.EnvPushTrigger)),
} }
oldCommitIDs := make([]string, hookBatchSize) oldCommitIDs := make([]string, hookBatchSize)
newCommitIDs := make([]string, hookBatchSize) newCommitIDs := make([]string, hookBatchSize)
@ -405,7 +402,8 @@ Forgejo or set your environment appropriately.`, "")
newCommitIDs[count] = string(fields[1]) newCommitIDs[count] = string(fields[1])
refFullNames[count] = git.RefName(fields[2]) refFullNames[count] = git.RefName(fields[2])
if refFullNames[count] == git.BranchPrefix+"master" && !git.IsEmptyCommitID(newCommitIDs[count], nil) && count == total { commitID, _ := git.NewIDFromString(newCommitIDs[count])
if refFullNames[count] == git.BranchPrefix+"master" && !commitID.IsZero() && count == total {
masterPushed = true masterPushed = true
} }
count++ count++
@ -696,7 +694,8 @@ Forgejo or set your environment appropriately.`, "")
if err != nil { if err != nil {
return err return err
} }
if !git.IsEmptyCommitID(rs.OldOID, nil) { commitID, _ := git.NewIDFromString(rs.OldOID)
if !commitID.IsZero() {
err = writeDataPktLine(ctx, os.Stdout, []byte("option old-oid "+rs.OldOID)) err = writeDataPktLine(ctx, os.Stdout, []byte("option old-oid "+rs.OldOID))
if err != nil { if err != nil {
return err return err

View file

@ -34,7 +34,7 @@ var CmdMigrateStorage = &cli.Command{
Name: "type", Name: "type",
Aliases: []string{"t"}, Aliases: []string{"t"},
Value: "", Value: "",
Usage: "Type of stored files to copy. Allowed types: 'attachments', 'lfs', 'avatars', 'repo-avatars', 'repo-archivers', 'packages', 'actions-log', 'actions-artifacts", Usage: "Type of stored files to copy. Allowed types: 'attachments', 'lfs', 'avatars', 'repo-avatars', 'repo-archivers', 'packages', 'actions-log'",
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: "storage", Name: "storage",
@ -160,13 +160,6 @@ func migrateActionsLog(ctx context.Context, dstStorage storage.ObjectStorage) er
}) })
} }
func migrateActionsArtifacts(ctx context.Context, dstStorage storage.ObjectStorage) error {
return db.Iterate(ctx, nil, func(ctx context.Context, artifact *actions_model.ActionArtifact) error {
_, err := storage.Copy(dstStorage, artifact.ArtifactPath, storage.ActionsArtifacts, artifact.ArtifactPath)
return err
})
}
func runMigrateStorage(ctx *cli.Context) error { func runMigrateStorage(ctx *cli.Context) error {
stdCtx, cancel := installSignals() stdCtx, cancel := installSignals()
defer cancel() defer cancel()
@ -230,14 +223,13 @@ func runMigrateStorage(ctx *cli.Context) error {
} }
migratedMethods := map[string]func(context.Context, storage.ObjectStorage) error{ migratedMethods := map[string]func(context.Context, storage.ObjectStorage) error{
"attachments": migrateAttachments, "attachments": migrateAttachments,
"lfs": migrateLFS, "lfs": migrateLFS,
"avatars": migrateAvatars, "avatars": migrateAvatars,
"repo-avatars": migrateRepoAvatars, "repo-avatars": migrateRepoAvatars,
"repo-archivers": migrateRepoArchivers, "repo-archivers": migrateRepoArchivers,
"packages": migratePackages, "packages": migratePackages,
"actions-log": migrateActionsLog, "actions-log": migrateActionsLog,
"actions-artifacts": migrateActionsArtifacts,
} }
tp := strings.ToLower(ctx.String("type")) tp := strings.ToLower(ctx.String("type"))

6
go.mod
View file

@ -1,15 +1,14 @@
module code.gitea.io/gitea module code.gitea.io/gitea
go 1.22.3 go 1.22.2
require ( require (
code.forgejo.org/forgejo/reply v1.0.1
code.gitea.io/actions-proto-go v0.4.0 code.gitea.io/actions-proto-go v0.4.0
code.gitea.io/gitea-vet v0.2.3 code.gitea.io/gitea-vet v0.2.3
code.gitea.io/sdk/gitea v0.17.1 code.gitea.io/sdk/gitea v0.17.1
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570 codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570
connectrpc.com/connect v1.15.0 connectrpc.com/connect v1.15.0
gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669
gitea.com/go-chi/cache v0.2.0 gitea.com/go-chi/cache v0.2.0
gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098 gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098
gitea.com/go-chi/session v0.0.0-20240316035857-16768d98ec96 gitea.com/go-chi/session v0.0.0-20240316035857-16768d98ec96
@ -24,6 +23,7 @@ require (
github.com/caddyserver/certmagic v0.20.0 github.com/caddyserver/certmagic v0.20.0
github.com/chi-middleware/proxy v1.1.1 github.com/chi-middleware/proxy v1.1.1
github.com/denisenkom/go-mssqldb v0.12.3 github.com/denisenkom/go-mssqldb v0.12.3
github.com/dimiro1/reply v0.0.0-20200315094148-d0136a4c9e21
github.com/djherbis/buffer v1.2.0 github.com/djherbis/buffer v1.2.0
github.com/djherbis/nio/v3 v3.0.1 github.com/djherbis/nio/v3 v3.0.1
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5

10
go.sum
View file

@ -35,8 +35,6 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
code.forgejo.org/forgejo/reply v1.0.1 h1:usZi5yx7/g0D+xtGPJEM6mCvoDNdWvmtJu5J9/B/KBI=
code.forgejo.org/forgejo/reply v1.0.1/go.mod h1:RyZUfzQLc+fuLIGjTSQWDAJWPiL4WtKXB/FifT5fM7U=
code.gitea.io/actions-proto-go v0.4.0 h1:OsPBPhodXuQnsspG1sQ4eRE1PeoZyofd7+i73zCwnsU= code.gitea.io/actions-proto-go v0.4.0 h1:OsPBPhodXuQnsspG1sQ4eRE1PeoZyofd7+i73zCwnsU=
code.gitea.io/actions-proto-go v0.4.0/go.mod h1:mn7Wkqz6JbnTOHQpot3yDeHx+O5C9EGhMEE+htvHBas= code.gitea.io/actions-proto-go v0.4.0/go.mod h1:mn7Wkqz6JbnTOHQpot3yDeHx+O5C9EGhMEE+htvHBas=
code.gitea.io/gitea-vet v0.2.3 h1:gdFmm6WOTM65rE8FUBTRzeQZYzXePKSSB1+r574hWwI= code.gitea.io/gitea-vet v0.2.3 h1:gdFmm6WOTM65rE8FUBTRzeQZYzXePKSSB1+r574hWwI=
@ -56,8 +54,8 @@ git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 h1:cliQ4H
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs= git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs=
gitea.com/gitea/act v0.259.1 h1:8GG1o/xtUHl3qjn5f0h/2FXrT5ubBn05TJOM5ry+FBw= gitea.com/gitea/act v0.259.1 h1:8GG1o/xtUHl3qjn5f0h/2FXrT5ubBn05TJOM5ry+FBw=
gitea.com/gitea/act v0.259.1/go.mod h1:UxZWRYqQG2Yj4+4OqfGWW5a3HELwejyWFQyU7F1jUD8= gitea.com/gitea/act v0.259.1/go.mod h1:UxZWRYqQG2Yj4+4OqfGWW5a3HELwejyWFQyU7F1jUD8=
gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed h1:EZZBtilMLSZNWtHHcgq2mt6NSGhJSZBuduAlinMEmso= gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669 h1:RUBX+MK/TsDxpHmymaOaydfigEbbzqUnG1OTZU/HAeo=
gitea.com/go-chi/binding v0.0.0-20240430071103-39a851e106ed/go.mod h1:E3i3cgB04dDx0v3CytCgRTTn9Z/9x891aet3r456RVw= gitea.com/go-chi/binding v0.0.0-20230415142243-04b515c6d669/go.mod h1:77TZu701zMXWJFvB8gvTbQ92zQ3DQq/H7l5wAEjQRKc=
gitea.com/go-chi/cache v0.2.0 h1:E0npuTfDW6CT1yD8NMDVc1SK6IeRjfmRL2zlEsCEd7w= gitea.com/go-chi/cache v0.2.0 h1:E0npuTfDW6CT1yD8NMDVc1SK6IeRjfmRL2zlEsCEd7w=
gitea.com/go-chi/cache v0.2.0/go.mod h1:iQlVK2aKTZ/rE9UcHyz9pQWGvdP9i1eI2spOpzgCrtE= gitea.com/go-chi/cache v0.2.0/go.mod h1:iQlVK2aKTZ/rE9UcHyz9pQWGvdP9i1eI2spOpzgCrtE=
gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098 h1:p2ki+WK0cIeNQuqjR98IP2KZQKRzJJiV7aTeMAFwaWo= gitea.com/go-chi/captcha v0.0.0-20240315150714-fb487f629098 h1:p2ki+WK0cIeNQuqjR98IP2KZQKRzJJiV7aTeMAFwaWo=
@ -226,6 +224,8 @@ github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+
github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo= github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/dimiro1/reply v0.0.0-20200315094148-d0136a4c9e21 h1:PdsjTl0Cg+ZJgOx/CFV5NNgO1ThTreqdgKYiDCMHJwA=
github.com/dimiro1/reply v0.0.0-20200315094148-d0136a4c9e21/go.mod h1:xJvkyD6Y2rZapGvPJLYo9dyx1s5dxBEDPa8T3YTuOk0=
github.com/djherbis/buffer v1.1.0/go.mod h1:VwN8VdFkMY0DCALdY8o00d3IZ6Amz/UNVMWcSaJT44o= github.com/djherbis/buffer v1.1.0/go.mod h1:VwN8VdFkMY0DCALdY8o00d3IZ6Amz/UNVMWcSaJT44o=
github.com/djherbis/buffer v1.2.0 h1:PH5Dd2ss0C7CRRhQCZ2u7MssF+No9ide8Ye71nPHcrQ= github.com/djherbis/buffer v1.2.0 h1:PH5Dd2ss0C7CRRhQCZ2u7MssF+No9ide8Ye71nPHcrQ=
github.com/djherbis/buffer v1.2.0/go.mod h1:fjnebbZjCUpPinBRD+TDwXSOeNQ7fPQWLfGQqiAiUyE= github.com/djherbis/buffer v1.2.0/go.mod h1:fjnebbZjCUpPinBRD+TDwXSOeNQ7fPQWLfGQqiAiUyE=
@ -287,6 +287,7 @@ github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73/go.mod h1:jyveZeGw5La
github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA=
github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
github.com/go-chi/chi/v5 v5.0.1/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/chi/v5 v5.0.1/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/chi/v5 v5.0.4/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/chi/v5 v5.0.11 h1:BnpYbFZ3T3S1WMpD79r7R5ThWX40TaFB7L31Y8xqSwA= github.com/go-chi/chi/v5 v5.0.11 h1:BnpYbFZ3T3S1WMpD79r7R5ThWX40TaFB7L31Y8xqSwA=
github.com/go-chi/chi/v5 v5.0.11/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/chi/v5 v5.0.11/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4= github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4=
@ -361,6 +362,7 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
github.com/goccy/go-json v0.9.5/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/goccy/go-json v0.9.6/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.9.6/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=

View file

@ -326,18 +326,15 @@ func GetLatestRun(ctx context.Context, repoID int64) (*ActionRun, error) {
func GetLatestRunForBranchAndWorkflow(ctx context.Context, repoID int64, branch, workflowFile, event string) (*ActionRun, error) { func GetLatestRunForBranchAndWorkflow(ctx context.Context, repoID int64, branch, workflowFile, event string) (*ActionRun, error) {
var run ActionRun var run ActionRun
q := db.GetEngine(ctx).Where("repo_id=?", repoID).And("workflow_id=?", workflowFile) q := db.GetEngine(ctx).Where("repo_id=?", repoID).And("ref=?", branch).And("workflow_id=?", workflowFile)
if event != "" { if event != "" {
q = q.And("event=?", event) q = q.And("event=?", event)
} }
if branch != "" {
q = q.And("ref=?", branch)
}
has, err := q.Desc("id").Get(&run) has, err := q.Desc("id").Get(&run)
if err != nil { if err != nil {
return nil, err return nil, err
} else if !has { } else if !has {
return nil, util.NewNotExistErrorf("run with repo_id %d, ref %s, event %s, workflow_id %s", repoID, branch, event, workflowFile) return nil, util.NewNotExistErrorf("run with repo_id %d, ref %s, workflow_id %s", repoID, branch, workflowFile)
} }
return &run, nil return &run, nil
} }

View file

@ -431,15 +431,14 @@ func (a *Action) GetIssueContent(ctx context.Context) string {
// GetFeedsOptions options for retrieving feeds // GetFeedsOptions options for retrieving feeds
type GetFeedsOptions struct { type GetFeedsOptions struct {
db.ListOptions db.ListOptions
RequestedUser *user_model.User // the user we want activity for RequestedUser *user_model.User // the user we want activity for
RequestedTeam *organization.Team // the team we want activity for RequestedTeam *organization.Team // the team we want activity for
RequestedRepo *repo_model.Repository // the repo we want activity for RequestedRepo *repo_model.Repository // the repo we want activity for
Actor *user_model.User // the user viewing the activity Actor *user_model.User // the user viewing the activity
IncludePrivate bool // include private actions IncludePrivate bool // include private actions
OnlyPerformedBy bool // only actions performed by requested user OnlyPerformedBy bool // only actions performed by requested user
OnlyPerformedByActor bool // only actions performed by the original actor IncludeDeleted bool // include deleted actions
IncludeDeleted bool // include deleted actions Date string // the day we want activity for: YYYY-MM-DD
Date string // the day we want activity for: YYYY-MM-DD
} }
// GetFeeds returns actions according to the provided options // GetFeeds returns actions according to the provided options
@ -482,10 +481,6 @@ func ActivityReadable(user, doer *user_model.User) bool {
func activityQueryCondition(ctx context.Context, opts GetFeedsOptions) (builder.Cond, error) { func activityQueryCondition(ctx context.Context, opts GetFeedsOptions) (builder.Cond, error) {
cond := builder.NewCond() cond := builder.NewCond()
if opts.OnlyPerformedByActor {
cond = cond.And(builder.Expr("`action`.user_id = `action`.act_user_id"))
}
if opts.RequestedTeam != nil && opts.RequestedUser == nil { if opts.RequestedTeam != nil && opts.RequestedUser == nil {
org, err := user_model.GetUserByID(ctx, opts.RequestedTeam.OrgID) org, err := user_model.GetUserByID(ctx, opts.RequestedTeam.OrgID)
if err != nil { if err != nil {

View file

@ -59,7 +59,6 @@ type Engine interface {
SumInt(bean any, columnName string) (res int64, err error) SumInt(bean any, columnName string) (res int64, err error)
Sync(...any) error Sync(...any) error
Select(string) *xorm.Session Select(string) *xorm.Session
SetExpr(string, any) *xorm.Session
NotIn(string, ...any) *xorm.Session NotIn(string, ...any) *xorm.Session
OrderBy(any, ...any) *xorm.Session OrderBy(any, ...any) *xorm.Session
Exist(...any) (bool, error) Exist(...any) (bool, error)

View file

@ -5,11 +5,11 @@ package issues
import ( import (
"context" "context"
"fmt"
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
project_model "code.gitea.io/gitea/models/project" project_model "code.gitea.io/gitea/models/project"
user_model "code.gitea.io/gitea/models/user" user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/util"
) )
// LoadProject load the project the issue was assigned to // LoadProject load the project the issue was assigned to
@ -90,73 +90,58 @@ func LoadIssuesFromBoardList(ctx context.Context, bs project_model.BoardList) (m
return issuesMap, nil return issuesMap, nil
} }
// IssueAssignOrRemoveProject changes the project associated with an issue // ChangeProjectAssign changes the project associated with an issue
// If newProjectID is 0, the issue is removed from the project func ChangeProjectAssign(ctx context.Context, issue *Issue, doer *user_model.User, newProjectID int64) error {
func IssueAssignOrRemoveProject(ctx context.Context, issue *Issue, doer *user_model.User, newProjectID, newColumnID int64) error { ctx, committer, err := db.TxContext(ctx)
return db.WithTx(ctx, func(ctx context.Context) error { if err != nil {
oldProjectID := issue.projectID(ctx) return err
}
defer committer.Close()
if err := issue.LoadRepo(ctx); err != nil { if err := addUpdateIssueProject(ctx, issue, doer, newProjectID); err != nil {
return err
}
return committer.Commit()
}
func addUpdateIssueProject(ctx context.Context, issue *Issue, doer *user_model.User, newProjectID int64) error {
oldProjectID := issue.projectID(ctx)
if err := issue.LoadRepo(ctx); err != nil {
return err
}
// Only check if we add a new project and not remove it.
if newProjectID > 0 {
newProject, err := project_model.GetProjectByID(ctx, newProjectID)
if err != nil {
return err return err
} }
if newProject.RepoID != issue.RepoID && newProject.OwnerID != issue.Repo.OwnerID {
// Only check if we add a new project and not remove it. return fmt.Errorf("issue's repository is not the same as project's repository")
if newProjectID > 0 {
newProject, err := project_model.GetProjectByID(ctx, newProjectID)
if err != nil {
return err
}
if !newProject.CanBeAccessedByOwnerRepo(issue.Repo.OwnerID, issue.Repo) {
return util.NewPermissionDeniedErrorf("issue %d can't be accessed by project %d", issue.ID, newProject.ID)
}
if newColumnID == 0 {
newDefaultColumn, err := newProject.GetDefaultBoard(ctx)
if err != nil {
return err
}
newColumnID = newDefaultColumn.ID
}
} }
}
if _, err := db.GetEngine(ctx).Where("project_issue.issue_id=?", issue.ID).Delete(&project_model.ProjectIssue{}); err != nil { if _, err := db.GetEngine(ctx).Where("project_issue.issue_id=?", issue.ID).Delete(&project_model.ProjectIssue{}); err != nil {
return err
}
if oldProjectID > 0 || newProjectID > 0 {
if _, err := CreateComment(ctx, &CreateCommentOptions{
Type: CommentTypeProject,
Doer: doer,
Repo: issue.Repo,
Issue: issue,
OldProjectID: oldProjectID,
ProjectID: newProjectID,
}); err != nil {
return err return err
} }
}
if oldProjectID > 0 || newProjectID > 0 { return db.Insert(ctx, &project_model.ProjectIssue{
if _, err := CreateComment(ctx, &CreateCommentOptions{ IssueID: issue.ID,
Type: CommentTypeProject, ProjectID: newProjectID,
Doer: doer,
Repo: issue.Repo,
Issue: issue,
OldProjectID: oldProjectID,
ProjectID: newProjectID,
}); err != nil {
return err
}
}
if newProjectID == 0 {
return nil
}
if newColumnID == 0 {
panic("newColumnID must not be zero") // shouldn't happen
}
res := struct {
MaxSorting int64
IssueCount int64
}{}
if _, err := db.GetEngine(ctx).Select("max(sorting) as max_sorting, count(*) as issue_count").Table("project_issue").
Where("project_id=?", newProjectID).
And("project_board_id=?", newColumnID).
Get(&res); err != nil {
return err
}
newSorting := util.Iif(res.IssueCount > 0, res.MaxSorting+1, 0)
return db.Insert(ctx, &project_model.ProjectIssue{
IssueID: issue.ID,
ProjectID: newProjectID,
ProjectBoardID: newColumnID,
Sorting: newSorting,
})
}) })
} }

View file

@ -450,6 +450,65 @@ func UpdateIssueMentions(ctx context.Context, issueID int64, mentions []*user_mo
return nil return nil
} }
// UpdateIssueByAPI updates all allowed fields of given issue.
// If the issue status is changed a statusChangeComment is returned
// similarly if the title is changed the titleChanged bool is set to true
func UpdateIssueByAPI(ctx context.Context, issue *Issue, doer *user_model.User) (statusChangeComment *Comment, titleChanged bool, err error) {
ctx, committer, err := db.TxContext(ctx)
if err != nil {
return nil, false, err
}
defer committer.Close()
if err := issue.LoadRepo(ctx); err != nil {
return nil, false, fmt.Errorf("loadRepo: %w", err)
}
// Reload the issue
currentIssue, err := GetIssueByID(ctx, issue.ID)
if err != nil {
return nil, false, err
}
sess := db.GetEngine(ctx).ID(issue.ID)
cols := []string{"name", "content", "milestone_id", "priority", "deadline_unix", "is_locked"}
if issue.NoAutoTime {
cols = append(cols, "updated_unix")
sess.NoAutoTime()
}
if _, err := sess.Cols(cols...).Update(issue); err != nil {
return nil, false, err
}
titleChanged = currentIssue.Title != issue.Title
if titleChanged {
opts := &CreateCommentOptions{
Type: CommentTypeChangeTitle,
Doer: doer,
Repo: issue.Repo,
Issue: issue,
OldTitle: currentIssue.Title,
NewTitle: issue.Title,
}
_, err := CreateComment(ctx, opts)
if err != nil {
return nil, false, fmt.Errorf("createComment: %w", err)
}
}
if currentIssue.IsClosed != issue.IsClosed {
statusChangeComment, err = doChangeIssueStatus(ctx, issue, doer, false)
if err != nil {
return nil, false, err
}
}
if err := issue.AddCrossReferences(ctx, doer, true); err != nil {
return nil, false, err
}
return statusChangeComment, titleChanged, committer.Commit()
}
// UpdateIssueDeadline updates an issue deadline and adds comments. Setting a deadline to 0 means deleting it. // UpdateIssueDeadline updates an issue deadline and adds comments. Setting a deadline to 0 means deleting it.
func UpdateIssueDeadline(ctx context.Context, issue *Issue, deadlineUnix timeutil.TimeStamp, doer *user_model.User) (err error) { func UpdateIssueDeadline(ctx context.Context, issue *Issue, deadlineUnix timeutil.TimeStamp, doer *user_model.User) (err error) {
// if the deadline hasn't changed do nothing // if the deadline hasn't changed do nothing

View file

@ -5,14 +5,12 @@ package project
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"regexp" "regexp"
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util"
"xorm.io/builder" "xorm.io/builder"
) )
@ -84,17 +82,6 @@ func (b *Board) NumIssues(ctx context.Context) int {
return int(c) return int(c)
} }
func (b *Board) GetIssues(ctx context.Context) ([]*ProjectIssue, error) {
issues := make([]*ProjectIssue, 0, 5)
if err := db.GetEngine(ctx).Where("project_id=?", b.ProjectID).
And("project_board_id=?", b.ID).
OrderBy("sorting, id").
Find(&issues); err != nil {
return nil, err
}
return issues, nil
}
func init() { func init() {
db.RegisterModel(new(Board)) db.RegisterModel(new(Board))
} }
@ -165,27 +152,12 @@ func createBoardsForProjectsType(ctx context.Context, project *Project) error {
return db.Insert(ctx, boards) return db.Insert(ctx, boards)
} }
// maxProjectColumns max columns allowed in a project, this should not bigger than 127
// because sorting is int8 in database
const maxProjectColumns = 20
// NewBoard adds a new project board to a given project // NewBoard adds a new project board to a given project
func NewBoard(ctx context.Context, board *Board) error { func NewBoard(ctx context.Context, board *Board) error {
if len(board.Color) != 0 && !BoardColorPattern.MatchString(board.Color) { if len(board.Color) != 0 && !BoardColorPattern.MatchString(board.Color) {
return fmt.Errorf("bad color code: %s", board.Color) return fmt.Errorf("bad color code: %s", board.Color)
} }
res := struct {
MaxSorting int64
ColumnCount int64
}{}
if _, err := db.GetEngine(ctx).Select("max(sorting) as max_sorting, count(*) as column_count").Table("project_board").
Where("project_id=?", board.ProjectID).Get(&res); err != nil {
return err
}
if res.ColumnCount >= maxProjectColumns {
return fmt.Errorf("NewBoard: maximum number of columns reached")
}
board.Sorting = int8(util.Iif(res.ColumnCount > 0, res.MaxSorting+1, 0))
_, err := db.GetEngine(ctx).Insert(board) _, err := db.GetEngine(ctx).Insert(board)
return err return err
} }
@ -219,17 +191,7 @@ func deleteBoardByID(ctx context.Context, boardID int64) error {
return fmt.Errorf("deleteBoardByID: cannot delete default board") return fmt.Errorf("deleteBoardByID: cannot delete default board")
} }
// move all issues to the default column if err = board.removeIssues(ctx); err != nil {
project, err := GetProjectByID(ctx, board.ProjectID)
if err != nil {
return err
}
defaultColumn, err := project.GetDefaultBoard(ctx)
if err != nil {
return err
}
if err = board.moveIssuesToAnotherColumn(ctx, defaultColumn); err != nil {
return err return err
} }
@ -282,15 +244,21 @@ func UpdateBoard(ctx context.Context, board *Board) error {
// GetBoards fetches all boards related to a project // GetBoards fetches all boards related to a project
func (p *Project) GetBoards(ctx context.Context) (BoardList, error) { func (p *Project) GetBoards(ctx context.Context) (BoardList, error) {
boards := make([]*Board, 0, 5) boards := make([]*Board, 0, 5)
if err := db.GetEngine(ctx).Where("project_id=?", p.ID).OrderBy("sorting, id").Find(&boards); err != nil {
if err := db.GetEngine(ctx).Where("project_id=? AND `default`=?", p.ID, false).OrderBy("sorting").Find(&boards); err != nil {
return nil, err return nil, err
} }
return boards, nil defaultB, err := p.getDefaultBoard(ctx)
if err != nil {
return nil, err
}
return append([]*Board{defaultB}, boards...), nil
} }
// GetDefaultBoard return default board and ensure only one exists // getDefaultBoard return default board and ensure only one exists
func (p *Project) GetDefaultBoard(ctx context.Context) (*Board, error) { func (p *Project) getDefaultBoard(ctx context.Context) (*Board, error) {
var board Board var board Board
has, err := db.GetEngine(ctx). has, err := db.GetEngine(ctx).
Where("project_id=? AND `default` = ?", p.ID, true). Where("project_id=? AND `default` = ?", p.ID, true).
@ -350,42 +318,3 @@ func UpdateBoardSorting(ctx context.Context, bs BoardList) error {
return nil return nil
}) })
} }
func GetColumnsByIDs(ctx context.Context, projectID int64, columnsIDs []int64) (BoardList, error) {
columns := make([]*Board, 0, 5)
if err := db.GetEngine(ctx).
Where("project_id =?", projectID).
In("id", columnsIDs).
OrderBy("sorting").Find(&columns); err != nil {
return nil, err
}
return columns, nil
}
// MoveColumnsOnProject sorts columns in a project
func MoveColumnsOnProject(ctx context.Context, project *Project, sortedColumnIDs map[int64]int64) error {
return db.WithTx(ctx, func(ctx context.Context) error {
sess := db.GetEngine(ctx)
columnIDs := util.ValuesOfMap(sortedColumnIDs)
movedColumns, err := GetColumnsByIDs(ctx, project.ID, columnIDs)
if err != nil {
return err
}
if len(movedColumns) != len(sortedColumnIDs) {
return errors.New("some columns do not exist")
}
for _, column := range movedColumns {
if column.ProjectID != project.ID {
return fmt.Errorf("column[%d]'s projectID is not equal to project's ID [%d]", column.ProjectID, project.ID)
}
}
for sorting, columnID := range sortedColumnIDs {
if _, err := sess.Exec("UPDATE `project_board` SET sorting=? WHERE id=?", sorting, columnID); err != nil {
return err
}
}
return nil
})
}

View file

@ -4,8 +4,6 @@
package project package project
import ( import (
"fmt"
"strings"
"testing" "testing"
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
@ -21,7 +19,7 @@ func TestGetDefaultBoard(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
// check if default board was added // check if default board was added
board, err := projectWithoutDefault.GetDefaultBoard(db.DefaultContext) board, err := projectWithoutDefault.getDefaultBoard(db.DefaultContext)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, int64(5), board.ProjectID) assert.Equal(t, int64(5), board.ProjectID)
assert.Equal(t, "Uncategorized", board.Title) assert.Equal(t, "Uncategorized", board.Title)
@ -30,7 +28,7 @@ func TestGetDefaultBoard(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
// check if multiple defaults were removed // check if multiple defaults were removed
board, err = projectWithMultipleDefaults.GetDefaultBoard(db.DefaultContext) board, err = projectWithMultipleDefaults.getDefaultBoard(db.DefaultContext)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, int64(6), board.ProjectID) assert.Equal(t, int64(6), board.ProjectID)
assert.Equal(t, int64(9), board.ID) assert.Equal(t, int64(9), board.ID)
@ -44,84 +42,3 @@ func TestGetDefaultBoard(t *testing.T) {
assert.Equal(t, int64(6), board.ProjectID) assert.Equal(t, int64(6), board.ProjectID)
assert.False(t, board.Default) assert.False(t, board.Default)
} }
func Test_moveIssuesToAnotherColumn(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
column1 := unittest.AssertExistsAndLoadBean(t, &Board{ID: 1, ProjectID: 1})
issues, err := column1.GetIssues(db.DefaultContext)
assert.NoError(t, err)
assert.Len(t, issues, 1)
assert.EqualValues(t, 1, issues[0].ID)
column2 := unittest.AssertExistsAndLoadBean(t, &Board{ID: 2, ProjectID: 1})
issues, err = column2.GetIssues(db.DefaultContext)
assert.NoError(t, err)
assert.Len(t, issues, 1)
assert.EqualValues(t, 3, issues[0].ID)
err = column1.moveIssuesToAnotherColumn(db.DefaultContext, column2)
assert.NoError(t, err)
issues, err = column1.GetIssues(db.DefaultContext)
assert.NoError(t, err)
assert.Len(t, issues, 0)
issues, err = column2.GetIssues(db.DefaultContext)
assert.NoError(t, err)
assert.Len(t, issues, 2)
assert.EqualValues(t, 3, issues[0].ID)
assert.EqualValues(t, 0, issues[0].Sorting)
assert.EqualValues(t, 1, issues[1].ID)
assert.EqualValues(t, 1, issues[1].Sorting)
}
func Test_MoveColumnsOnProject(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
project1 := unittest.AssertExistsAndLoadBean(t, &Project{ID: 1})
columns, err := project1.GetBoards(db.DefaultContext)
assert.NoError(t, err)
assert.Len(t, columns, 3)
assert.EqualValues(t, 0, columns[0].Sorting) // even if there is no default sorting, the code should also work
assert.EqualValues(t, 0, columns[1].Sorting)
assert.EqualValues(t, 0, columns[2].Sorting)
err = MoveColumnsOnProject(db.DefaultContext, project1, map[int64]int64{
0: columns[1].ID,
1: columns[2].ID,
2: columns[0].ID,
})
assert.NoError(t, err)
columnsAfter, err := project1.GetBoards(db.DefaultContext)
assert.NoError(t, err)
assert.Len(t, columnsAfter, 3)
assert.EqualValues(t, columns[1].ID, columnsAfter[0].ID)
assert.EqualValues(t, columns[2].ID, columnsAfter[1].ID)
assert.EqualValues(t, columns[0].ID, columnsAfter[2].ID)
}
func Test_NewBoard(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
project1 := unittest.AssertExistsAndLoadBean(t, &Project{ID: 1})
columns, err := project1.GetBoards(db.DefaultContext)
assert.NoError(t, err)
assert.Len(t, columns, 3)
for i := 0; i < maxProjectColumns-3; i++ {
err := NewBoard(db.DefaultContext, &Board{
Title: fmt.Sprintf("board-%d", i+4),
ProjectID: project1.ID,
})
assert.NoError(t, err)
}
err = NewBoard(db.DefaultContext, &Board{
Title: "board-21",
ProjectID: project1.ID,
})
assert.Error(t, err)
assert.True(t, strings.Contains(err.Error(), "maximum number of columns reached"))
}

View file

@ -9,7 +9,6 @@ import (
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/util"
) )
// ProjectIssue saves relation from issue to a project // ProjectIssue saves relation from issue to a project
@ -18,7 +17,7 @@ type ProjectIssue struct { //revive:disable-line:exported
IssueID int64 `xorm:"INDEX"` IssueID int64 `xorm:"INDEX"`
ProjectID int64 `xorm:"INDEX"` ProjectID int64 `xorm:"INDEX"`
// ProjectBoardID should not be zero since 1.22. If it's zero, the issue will not be displayed on UI and it might result in errors. // If 0, then it has not been added to a specific board in the project
ProjectBoardID int64 `xorm:"INDEX"` ProjectBoardID int64 `xorm:"INDEX"`
// the sorting order on the board // the sorting order on the board
@ -80,8 +79,11 @@ func (p *Project) NumOpenIssues(ctx context.Context) int {
func MoveIssuesOnProjectBoard(ctx context.Context, board *Board, sortedIssueIDs map[int64]int64) error { func MoveIssuesOnProjectBoard(ctx context.Context, board *Board, sortedIssueIDs map[int64]int64) error {
return db.WithTx(ctx, func(ctx context.Context) error { return db.WithTx(ctx, func(ctx context.Context) error {
sess := db.GetEngine(ctx) sess := db.GetEngine(ctx)
issueIDs := util.ValuesOfMap(sortedIssueIDs)
issueIDs := make([]int64, 0, len(sortedIssueIDs))
for _, issueID := range sortedIssueIDs {
issueIDs = append(issueIDs, issueID)
}
count, err := sess.Table(new(ProjectIssue)).Where("project_id=?", board.ProjectID).In("issue_id", issueIDs).Count() count, err := sess.Table(new(ProjectIssue)).Where("project_id=?", board.ProjectID).In("issue_id", issueIDs).Count()
if err != nil { if err != nil {
return err return err
@ -100,44 +102,7 @@ func MoveIssuesOnProjectBoard(ctx context.Context, board *Board, sortedIssueIDs
}) })
} }
func (b *Board) moveIssuesToAnotherColumn(ctx context.Context, newColumn *Board) error { func (b *Board) removeIssues(ctx context.Context) error {
if b.ProjectID != newColumn.ProjectID { _, err := db.GetEngine(ctx).Exec("UPDATE `project_issue` SET project_board_id = 0 WHERE project_board_id = ? ", b.ID)
return fmt.Errorf("columns have to be in the same project") return err
}
if b.ID == newColumn.ID {
return nil
}
res := struct {
MaxSorting int64
IssueCount int64
}{}
if _, err := db.GetEngine(ctx).Select("max(sorting) as max_sorting, count(*) as issue_count").
Table("project_issue").
Where("project_id=?", newColumn.ProjectID).
And("project_board_id=?", newColumn.ID).
Get(&res); err != nil {
return err
}
issues, err := b.GetIssues(ctx)
if err != nil {
return err
}
if len(issues) == 0 {
return nil
}
nextSorting := util.Iif(res.IssueCount > 0, res.MaxSorting+1, 0)
return db.WithTx(ctx, func(ctx context.Context) error {
for i, issue := range issues {
issue.ProjectBoardID = newColumn.ID
issue.Sorting = nextSorting + int64(i)
if _, err := db.GetEngine(ctx).ID(issue.ID).Cols("project_board_id", "sorting").Update(issue); err != nil {
return err
}
}
return nil
})
} }

View file

@ -161,13 +161,6 @@ func (p *Project) IsRepositoryProject() bool {
return p.Type == TypeRepository return p.Type == TypeRepository
} }
func (p *Project) CanBeAccessedByOwnerRepo(ownerID int64, repo *repo_model.Repository) bool {
if p.Type == TypeRepository {
return repo != nil && p.RepoID == repo.ID // if a project belongs to a repository, then its OwnerID is 0 and can be ignored
}
return p.OwnerID == ownerID && p.RepoID == 0
}
func init() { func init() {
db.RegisterModel(new(Project)) db.RegisterModel(new(Project))
} }

View file

@ -329,7 +329,7 @@ func (repo *Repository) HTMLURL() string {
// CommitLink make link to by commit full ID // CommitLink make link to by commit full ID
// note: won't check whether it's an right id // note: won't check whether it's an right id
func (repo *Repository) CommitLink(commitID string) (result string) { func (repo *Repository) CommitLink(commitID string) (result string) {
if git.IsEmptyCommitID(commitID, nil) { if git.IsEmptyCommitID(commitID) {
result = "" result = ""
} else { } else {
result = repo.Link() + "/commit/" + url.PathEscape(commitID) result = repo.Link() + "/commit/" + url.PathEscape(commitID)

View file

@ -8,14 +8,14 @@ import "code.gitea.io/gitea/models/db"
// SearchOrderByMap represents all possible search order // SearchOrderByMap represents all possible search order
var SearchOrderByMap = map[string]map[string]db.SearchOrderBy{ var SearchOrderByMap = map[string]map[string]db.SearchOrderBy{
"asc": { "asc": {
"alpha": "owner_name ASC, name ASC", "alpha": db.SearchOrderByAlphabetically,
"created": db.SearchOrderByOldest, "created": db.SearchOrderByOldest,
"updated": db.SearchOrderByLeastUpdated, "updated": db.SearchOrderByLeastUpdated,
"size": db.SearchOrderBySize, "size": db.SearchOrderBySize,
"id": db.SearchOrderByID, "id": db.SearchOrderByID,
}, },
"desc": { "desc": {
"alpha": "owner_name DESC, name DESC", "alpha": db.SearchOrderByAlphabeticallyReverse,
"created": db.SearchOrderByNewest, "created": db.SearchOrderByNewest,
"updated": db.SearchOrderByRecentUpdated, "updated": db.SearchOrderByRecentUpdated,
"size": db.SearchOrderBySizeReverse, "size": db.SearchOrderBySizeReverse,

View file

@ -122,7 +122,6 @@ func (h Sha256ObjectFormatImpl) ComputeHash(t ObjectType, content []byte) Object
var ( var (
Sha1ObjectFormat ObjectFormat = Sha1ObjectFormatImpl{} Sha1ObjectFormat ObjectFormat = Sha1ObjectFormatImpl{}
Sha256ObjectFormat ObjectFormat = Sha256ObjectFormatImpl{} Sha256ObjectFormat ObjectFormat = Sha256ObjectFormatImpl{}
// any addition must be reflected in IsEmptyCommitID
) )
var SupportedObjectFormats = []ObjectFormat{ var SupportedObjectFormats = []ObjectFormat{

View file

@ -79,25 +79,17 @@ func NewIDFromString(hexHash string) (ObjectID, error) {
return theObjectFormat.MustID(b), nil return theObjectFormat.MustID(b), nil
} }
// IsEmptyCommitID checks if an hexadecimal string represents an empty commit according to git (only '0'). func IsEmptyCommitID(commitID string) bool {
// If objectFormat is not nil, the length will be checked as well (otherwise the lenght must match the sha1 or sha256 length).
func IsEmptyCommitID(commitID string, objectFormat ObjectFormat) bool {
if commitID == "" { if commitID == "" {
return true return true
} }
if objectFormat == nil {
if Sha1ObjectFormat.FullLength() != len(commitID) && Sha256ObjectFormat.FullLength() != len(commitID) { id, err := NewIDFromString(commitID)
return false if err != nil {
}
} else if objectFormat.FullLength() != len(commitID) {
return false return false
} }
for _, c := range commitID {
if c != '0' { return id.IsZero()
return false
}
}
return true
} }
// ComputeBlobHash compute the hash for a given blob content // ComputeBlobHash compute the hash for a given blob content

View file

@ -23,27 +23,3 @@ func TestIsValidSHAPattern(t *testing.T) {
assert.Equal(t, "d5c6407415d85df49592672aa421aed39b9db5e3", ComputeBlobHash(Sha1ObjectFormat, []byte("same length blob")).String()) assert.Equal(t, "d5c6407415d85df49592672aa421aed39b9db5e3", ComputeBlobHash(Sha1ObjectFormat, []byte("same length blob")).String())
assert.Equal(t, "df0b5174ed06ae65aea40d43316bcbc21d82c9e3158ce2661df2ad28d7931dd6", ComputeBlobHash(Sha256ObjectFormat, []byte("some random blob")).String()) assert.Equal(t, "df0b5174ed06ae65aea40d43316bcbc21d82c9e3158ce2661df2ad28d7931dd6", ComputeBlobHash(Sha256ObjectFormat, []byte("some random blob")).String())
} }
func TestIsEmptyCommitID(t *testing.T) {
assert.True(t, IsEmptyCommitID("", nil))
assert.True(t, IsEmptyCommitID("", Sha1ObjectFormat))
assert.True(t, IsEmptyCommitID("", Sha256ObjectFormat))
assert.False(t, IsEmptyCommitID("79ee38a6416c1ede423ec7ee0a8639ceea4aad20", Sha1ObjectFormat))
assert.True(t, IsEmptyCommitID("0000000000000000000000000000000000000000", nil))
assert.True(t, IsEmptyCommitID("0000000000000000000000000000000000000000", Sha1ObjectFormat))
assert.False(t, IsEmptyCommitID("0000000000000000000000000000000000000000", Sha256ObjectFormat))
assert.False(t, IsEmptyCommitID("00000000000000000000000000000000000000000", nil))
assert.False(t, IsEmptyCommitID("0f0b5174ed06ae65aea40d43316bcbc21d82c9e3158ce2661df2ad28d7931dd6", nil))
assert.True(t, IsEmptyCommitID("0000000000000000000000000000000000000000000000000000000000000000", nil))
assert.False(t, IsEmptyCommitID("0000000000000000000000000000000000000000000000000000000000000000", Sha1ObjectFormat))
assert.True(t, IsEmptyCommitID("0000000000000000000000000000000000000000000000000000000000000000", Sha256ObjectFormat))
assert.False(t, IsEmptyCommitID("1", nil))
assert.False(t, IsEmptyCommitID("0", nil))
assert.False(t, IsEmptyCommitID("010", nil))
assert.False(t, IsEmptyCommitID("0 0", nil))
}

View file

@ -7,6 +7,7 @@ package git
import ( import (
"bytes" "bytes"
"context" "context"
"errors"
"fmt" "fmt"
"io" "io"
"net/url" "net/url"
@ -62,6 +63,32 @@ func IsRepoURLAccessible(ctx context.Context, url string) bool {
return err == nil return err == nil
} }
// GetObjectFormatOfRepo returns the hash type of repository at a given path
func GetObjectFormatOfRepo(ctx context.Context, repoPath string) (ObjectFormat, error) {
var stdout, stderr strings.Builder
err := NewCommand(ctx, "hash-object", "--stdin").Run(&RunOpts{
Dir: repoPath,
Stdout: &stdout,
Stderr: &stderr,
Stdin: &strings.Reader{},
})
if err != nil {
return nil, err
}
if stderr.Len() > 0 {
return nil, errors.New(stderr.String())
}
h, err := NewIDFromString(strings.TrimRight(stdout.String(), "\n"))
if err != nil {
return nil, err
}
return h.Type(), nil
}
// InitRepository initializes a new Git repository. // InitRepository initializes a new Git repository.
func InitRepository(ctx context.Context, repoPath string, bare bool, objectFormatName string) error { func InitRepository(ctx context.Context, repoPath string, bare bool, objectFormatName string) error {
err := os.MkdirAll(repoPath, os.ModePerm) err := os.MkdirAll(repoPath, os.ModePerm)

View file

@ -17,14 +17,11 @@ import (
"time" "time"
charsetModule "code.gitea.io/gitea/modules/charset" charsetModule "code.gitea.io/gitea/modules/charset"
"code.gitea.io/gitea/modules/container"
"code.gitea.io/gitea/modules/httpcache" "code.gitea.io/gitea/modules/httpcache"
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/typesniffer" "code.gitea.io/gitea/modules/typesniffer"
"code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/modules/util"
"github.com/klauspost/compress/gzhttp"
) )
type ServeHeaderOptions struct { type ServeHeaderOptions struct {
@ -41,11 +38,6 @@ type ServeHeaderOptions struct {
func ServeSetHeaders(w http.ResponseWriter, opts *ServeHeaderOptions) { func ServeSetHeaders(w http.ResponseWriter, opts *ServeHeaderOptions) {
header := w.Header() header := w.Header()
skipCompressionExts := container.SetOf(".gz", ".bz2", ".zip", ".xz", ".zst", ".deb", ".apk", ".jar", ".png", ".jpg", ".webp")
if skipCompressionExts.Contains(strings.ToLower(path.Ext(opts.Filename))) {
w.Header().Add(gzhttp.HeaderNoCompression, "1")
}
contentType := typesniffer.ApplicationOctetStream contentType := typesniffer.ApplicationOctetStream
if opts.ContentType != "" { if opts.ContentType != "" {
if opts.ContentTypeCharset != "" { if opts.ContentTypeCharset != "" {

View file

@ -11,7 +11,6 @@ import (
"time" "time"
"code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
) )
@ -54,7 +53,6 @@ type HookOptions struct {
GitQuarantinePath string GitQuarantinePath string
GitPushOptions GitPushOptions GitPushOptions GitPushOptions
PullRequestID int64 PullRequestID int64
PushTrigger repository.PushTrigger
DeployKeyID int64 // if the pusher is a DeployKey, then UserID is the repo's org user. DeployKeyID int64 // if the pusher is a DeployKey, then UserID is the repo's org user.
IsWiki bool IsWiki bool
ActionPerm int ActionPerm int

View file

@ -5,7 +5,6 @@ package repository
import ( import (
"context" "context"
"fmt"
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
git_model "code.gitea.io/gitea/models/git" git_model "code.gitea.io/gitea/models/git"
@ -37,15 +36,6 @@ func SyncRepoBranches(ctx context.Context, repoID, doerID int64) (int64, error)
} }
func SyncRepoBranchesWithRepo(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, doerID int64) (int64, error) { func SyncRepoBranchesWithRepo(ctx context.Context, repo *repo_model.Repository, gitRepo *git.Repository, doerID int64) (int64, error) {
objFmt, err := gitRepo.GetObjectFormat()
if err != nil {
return 0, fmt.Errorf("GetObjectFormat: %w", err)
}
_, err = db.GetEngine(ctx).ID(repo.ID).Update(&repo_model.Repository{ObjectFormatName: objFmt.Name()})
if err != nil {
return 0, fmt.Errorf("UpdateRepository: %w", err)
}
allBranches := container.Set[string]{} allBranches := container.Set[string]{}
{ {
branches, _, err := gitRepo.GetBranchNames(0, 0) branches, _, err := gitRepo.GetBranchNames(0, 0)

View file

@ -1,31 +0,0 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package repository
import (
"testing"
"code.gitea.io/gitea/models/db"
git_model "code.gitea.io/gitea/models/git"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
"github.com/stretchr/testify/assert"
)
func TestSyncRepoBranches(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
_, err := db.GetEngine(db.DefaultContext).ID(1).Update(&repo_model.Repository{ObjectFormatName: "bad-fmt"})
assert.NoError(t, db.TruncateBeans(db.DefaultContext, &git_model.Branch{}))
assert.NoError(t, err)
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
assert.Equal(t, "bad-fmt", repo.ObjectFormatName)
_, err = SyncRepoBranches(db.DefaultContext, 1, 0)
assert.NoError(t, err)
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
assert.Equal(t, "sha1", repo.ObjectFormatName)
branch, err := git_model.GetBranch(db.DefaultContext, 1, "master")
assert.NoError(t, err)
assert.EqualValues(t, "master", branch.Name)
}

View file

@ -25,19 +25,11 @@ const (
EnvKeyID = "GITEA_KEY_ID" // public key ID EnvKeyID = "GITEA_KEY_ID" // public key ID
EnvDeployKeyID = "GITEA_DEPLOY_KEY_ID" EnvDeployKeyID = "GITEA_DEPLOY_KEY_ID"
EnvPRID = "GITEA_PR_ID" EnvPRID = "GITEA_PR_ID"
EnvPushTrigger = "GITEA_PUSH_TRIGGER"
EnvIsInternal = "GITEA_INTERNAL_PUSH" EnvIsInternal = "GITEA_INTERNAL_PUSH"
EnvAppURL = "GITEA_ROOT_URL" EnvAppURL = "GITEA_ROOT_URL"
EnvActionPerm = "GITEA_ACTION_PERM" EnvActionPerm = "GITEA_ACTION_PERM"
) )
type PushTrigger string
const (
PushTriggerPRMergeToBase PushTrigger = "pr-merge-to-base"
PushTriggerPRUpdateWithBase PushTrigger = "pr-update-with-base"
)
// InternalPushingEnvironment returns an os environment to switch off hooks on push // InternalPushingEnvironment returns an os environment to switch off hooks on push
// It is recommended to avoid using this unless you are pushing within a transaction // It is recommended to avoid using this unless you are pushing within a transaction
// or if you absolutely are sure that post-receive and pre-receive will do nothing // or if you absolutely are sure that post-receive and pre-receive will do nothing

View file

@ -21,12 +21,14 @@ type PushUpdateOptions struct {
// IsNewRef return true if it's a first-time push to a branch, tag or etc. // IsNewRef return true if it's a first-time push to a branch, tag or etc.
func (opts *PushUpdateOptions) IsNewRef() bool { func (opts *PushUpdateOptions) IsNewRef() bool {
return git.IsEmptyCommitID(opts.OldCommitID, nil) commitID, err := git.NewIDFromString(opts.OldCommitID)
return err == nil && commitID.IsZero()
} }
// IsDelRef return true if it's a deletion to a branch or tag // IsDelRef return true if it's a deletion to a branch or tag
func (opts *PushUpdateOptions) IsDelRef() bool { func (opts *PushUpdateOptions) IsDelRef() bool {
return git.IsEmptyCommitID(opts.NewCommitID, nil) commitID, err := git.NewIDFromString(opts.NewCommitID)
return err == nil && commitID.IsZero()
} }
// IsUpdateRef return true if it's an update operation // IsUpdateRef return true if it's an update operation

View file

@ -85,7 +85,7 @@ type CreatePullRequestOption struct {
// EditPullRequestOption options when modify pull request // EditPullRequestOption options when modify pull request
type EditPullRequestOption struct { type EditPullRequestOption struct {
Title string `json:"title"` Title string `json:"title"`
Body *string `json:"body"` Body string `json:"body"`
Base string `json:"base"` Base string `json:"base"`
Assignee string `json:"assignee"` Assignee string `json:"assignee"`
Assignees []string `json:"assignees"` Assignees []string `json:"assignees"`

View file

@ -53,13 +53,13 @@ func NewFuncMap() template.FuncMap {
"JsonUtils": NewJsonUtils, "JsonUtils": NewJsonUtils,
// ----------------------------------------------------------------- // -----------------------------------------------------------------
// svg / avatar / icon / color // svg / avatar / icon
"svg": svg.RenderHTML, "svg": svg.RenderHTML,
"EntryIcon": base.EntryIcon, "EntryIcon": base.EntryIcon,
"MigrationIcon": MigrationIcon, "MigrationIcon": MigrationIcon,
"ActionIcon": ActionIcon, "ActionIcon": ActionIcon,
"SortArrow": SortArrow,
"ContrastColor": util.ContrastColor, "SortArrow": SortArrow,
// ----------------------------------------------------------------- // -----------------------------------------------------------------
// time / number / format // time / number / format

View file

@ -135,9 +135,16 @@ func RenderIssueTitle(ctx context.Context, text string, metas map[string]string)
func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_model.Label) template.HTML { func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_model.Label) template.HTML {
var ( var (
archivedCSSClass string archivedCSSClass string
textColor = util.ContrastColor(label.Color) textColor = "#111"
labelScope = label.ExclusiveScope() labelScope = label.ExclusiveScope()
) )
r, g, b := util.HexToRBGColor(label.Color)
// Determine if label text should be light or dark to be readable on background color
// this doesn't account for saturation or transparency
if util.UseLightTextOnBackground(r, g, b) {
textColor = "#eee"
}
description := emoji.ReplaceAliases(template.HTMLEscapeString(label.Description)) description := emoji.ReplaceAliases(template.HTMLEscapeString(label.Description))
@ -161,7 +168,7 @@ func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_m
// Make scope and item background colors slightly darker and lighter respectively. // Make scope and item background colors slightly darker and lighter respectively.
// More contrast needed with higher luminance, empirically tweaked. // More contrast needed with higher luminance, empirically tweaked.
luminance := util.GetRelativeLuminance(label.Color) luminance := util.GetLuminance(r, g, b)
contrast := 0.01 + luminance*0.03 contrast := 0.01 + luminance*0.03
// Ensure we add the same amount of contrast also near 0 and 1. // Ensure we add the same amount of contrast also near 0 and 1.
darken := contrast + math.Max(luminance+contrast-1.0, 0.0) darken := contrast + math.Max(luminance+contrast-1.0, 0.0)
@ -171,7 +178,6 @@ func RenderLabel(ctx context.Context, locale translation.Locale, label *issues_m
lightenFactor := math.Min(luminance+lighten, 1.0) / math.Max(luminance, 1.0/255.0) lightenFactor := math.Min(luminance+lighten, 1.0) / math.Max(luminance, 1.0/255.0)
opacity := GetLabelOpacityByte(label.IsArchived()) opacity := GetLabelOpacityByte(label.IsArchived())
r, g, b := util.HexToRBGColor(label.Color)
scopeBytes := []byte{ scopeBytes := []byte{
uint8(math.Min(math.Round(r*darkenFactor), 255)), uint8(math.Min(math.Round(r*darkenFactor), 255)),
uint8(math.Min(math.Round(g*darkenFactor), 255)), uint8(math.Min(math.Round(g*darkenFactor), 255)),

View file

@ -4,10 +4,22 @@ package util
import ( import (
"fmt" "fmt"
"math"
"strconv" "strconv"
"strings" "strings"
) )
// Check similar implementation in web_src/js/utils/color.js and keep synchronization
// Return R, G, B values defined in reletive luminance
func getLuminanceRGB(channel float64) float64 {
sRGB := channel / 255
if sRGB <= 0.03928 {
return sRGB / 12.92
}
return math.Pow((sRGB+0.055)/1.055, 2.4)
}
// Get color as RGB values in 0..255 range from the hex color string (with or without #) // Get color as RGB values in 0..255 range from the hex color string (with or without #)
func HexToRBGColor(colorString string) (float64, float64, float64) { func HexToRBGColor(colorString string) (float64, float64, float64) {
hexString := colorString hexString := colorString
@ -35,23 +47,19 @@ func HexToRBGColor(colorString string) (float64, float64, float64) {
return r, g, b return r, g, b
} }
// Returns relative luminance for a SRGB color - https://en.wikipedia.org/wiki/Relative_luminance // return luminance given RGB channels
// Keep this in sync with web_src/js/utils/color.js // Reference from: https://www.w3.org/WAI/GL/wiki/Relative_luminance
func GetRelativeLuminance(color string) float64 { func GetLuminance(r, g, b float64) float64 {
r, g, b := HexToRBGColor(color) R := getLuminanceRGB(r)
return (0.2126729*r + 0.7151522*g + 0.0721750*b) / 255 G := getLuminanceRGB(g)
B := getLuminanceRGB(b)
luminance := 0.2126*R + 0.7152*G + 0.0722*B
return luminance
} }
func UseLightText(backgroundColor string) bool { // Reference from: https://firsching.ch/github_labels.html
return GetRelativeLuminance(backgroundColor) < 0.453 // In the future WCAG 3 APCA may be a better solution.
} // Check if text should use light color based on RGB of background
func UseLightTextOnBackground(r, g, b float64) bool {
// Given a background color, returns a black or white foreground color that the highest return GetLuminance(r, g, b) < 0.453
// contrast ratio. In the future, the APCA contrast function, or CSS `contrast-color` will be better.
// https://github.com/color-js/color.js/blob/eb7b53f7a13bb716ec8b28c7a56f052cd599acd9/src/contrast/APCA.js#L42
func ContrastColor(backgroundColor string) string {
if UseLightText(backgroundColor) {
return "#fff"
}
return "#000"
} }

View file

@ -33,31 +33,33 @@ func Test_HexToRBGColor(t *testing.T) {
} }
} }
func Test_UseLightText(t *testing.T) { func Test_UseLightTextOnBackground(t *testing.T) {
cases := []struct { cases := []struct {
color string r float64
expected string g float64
b float64
expected bool
}{ }{
{"#d73a4a", "#fff"}, {215, 58, 74, true},
{"#0075ca", "#fff"}, {0, 117, 202, true},
{"#cfd3d7", "#000"}, {207, 211, 215, false},
{"#a2eeef", "#000"}, {162, 238, 239, false},
{"#7057ff", "#fff"}, {112, 87, 255, true},
{"#008672", "#fff"}, {0, 134, 114, true},
{"#e4e669", "#000"}, {228, 230, 105, false},
{"#d876e3", "#000"}, {216, 118, 227, true},
{"#ffffff", "#000"}, {255, 255, 255, false},
{"#2b8684", "#fff"}, {43, 134, 133, true},
{"#2b8786", "#fff"}, {43, 135, 134, true},
{"#2c8786", "#000"}, {44, 135, 134, true},
{"#3bb6b3", "#000"}, {59, 182, 179, true},
{"#7c7268", "#fff"}, {124, 114, 104, true},
{"#7e716c", "#fff"}, {126, 113, 108, true},
{"#81706d", "#fff"}, {129, 112, 109, true},
{"#807070", "#fff"}, {128, 112, 112, true},
{"#84b6eb", "#000"},
} }
for n, c := range cases { for n, c := range cases {
assert.Equal(t, c.expected, ContrastColor(c.color), "case %d: error should match", n) result := UseLightTextOnBackground(c.r, c.g, c.b)
assert.Equal(t, c.expected, result, "case %d: error should match", n)
} }
} }

View file

@ -1214,7 +1214,7 @@ settings.pulls_desc = فعّل طلب الدمج في المستودع
settings.pulls.ignore_whitespace = تجاهل المسافات في النزاعات settings.pulls.ignore_whitespace = تجاهل المسافات في النزاعات
settings.danger_zone = منطقة الخطر settings.danger_zone = منطقة الخطر
settings.new_owner_has_same_repo = المالك الجديد لديه مستودع بالاسم نفسه؛ برجاء اختيار اسم آخر. settings.new_owner_has_same_repo = المالك الجديد لديه مستودع بالاسم نفسه؛ برجاء اختيار اسم آخر.
settings.transfer.title = نقل الملكية settings.transfer = نقل الملكية
settings.transfer_abort = ألغِ نقل الملكية settings.transfer_abort = ألغِ نقل الملكية
settings.transfer_abort_invalid = لا يمكنك إلغاء عملية غير موجودة لنقل ملكية مستودع. settings.transfer_abort_invalid = لا يمكنك إلغاء عملية غير موجودة لنقل ملكية مستودع.
settings.transfer.success = نجح نقل ملكية المستودع. settings.transfer.success = نجح نقل ملكية المستودع.

View file

@ -49,7 +49,7 @@ manage_emails = Управление на адресите на ел. поща
permission_read = Четене permission_read = Четене
update_password = Обновяване на паролата update_password = Обновяване на паролата
biography_placeholder = Разкажете ни малко за себе си! (Можете да използвате Markdown) biography_placeholder = Разкажете ни малко за себе си! (Можете да използвате Markdown)
orgs = Организации orgs = Управление на организациите
continue = Продължаване continue = Продължаване
blocked_users = Блокирани потребители blocked_users = Блокирани потребители
emails = Адреси на ел. поща emails = Адреси на ел. поща
@ -91,8 +91,8 @@ keep_activity_private_popup = Вашата дейност ще бъде види
uploaded_avatar_not_a_image = Каченият файл не е изображение. uploaded_avatar_not_a_image = Каченият файл не е изображение.
uploaded_avatar_is_too_big = Размерът на качения файл (%d KiB) надвишава максималния размер (%d KiB). uploaded_avatar_is_too_big = Размерът на качения файл (%d KiB) надвишава максималния размер (%d KiB).
change_password_success = Паролата ви е обновена. Влизайте с новата си парола от сега нататък. change_password_success = Паролата ви е обновена. Влизайте с новата си парола от сега нататък.
manage_themes = Тема по подразбиране manage_themes = Избор на тема по подразбиране
manage_openid = OpenID адреси manage_openid = Управление на OpenID адресите
primary_email = Да е основен primary_email = Да е основен
keep_email_private = Скриване на адреса на ел. поща keep_email_private = Скриване на адреса на ел. поща
theme_update_error = Избраната тема не съществува. theme_update_error = Избраната тема не съществува.
@ -138,7 +138,6 @@ email_notifications.onmention = Ел. поща само при споменав
pronouns_unspecified = Непосочени pronouns_unspecified = Непосочени
pronouns = Местоимения pronouns = Местоимения
gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig gpg_token_code = echo "%s" | gpg -a --default-key %s --detach-sig
language.title = Език по подразбиране
[packages] [packages]
container.labels.value = Стойност container.labels.value = Стойност
@ -157,7 +156,7 @@ empty.repo = Качихте ли пакет, но той не се показв
keywords = Ключови думи keywords = Ключови думи
details.author = Автор details.author = Автор
about = Относно този пакет about = Относно този пакет
settings.delete.success = Пакетът е изтрит. settings.delete.success = Пакетът бе изтрит.
settings.delete = Изтриване на пакета settings.delete = Изтриване на пакета
container.details.platform = Платформа container.details.platform = Платформа
settings.delete.error = Неуспешно изтриване на пакет. settings.delete.error = Неуспешно изтриване на пакет.
@ -272,17 +271,16 @@ filter = Филтър
filter.clear = Изчистване на филтрите filter.clear = Изчистване на филтрите
filter.is_archived = Архивирани filter.is_archived = Архивирани
filter.not_archived = Не архивирани filter.not_archived = Не архивирани
filter.is_fork = Разклонения filter.is_fork = Разклонени
filter.public = Публични filter.public = Публични
filter.not_fork = Не разклонения filter.not_fork = Не разклонени
filter.is_template = Шаблони filter.is_template = Шаблони
filter.not_template = Не шаблони filter.not_template = Не шаблони
filter.private = Частни filter.private = Частни
filter.is_mirror = Огледала filter.is_mirror = Огледални
filter.not_mirror = Не огледала filter.not_mirror = Не огледални
copy_hash = Копиране на контролната сума copy_hash = Копиране на контролната сума
artifacts = Артефакти artifacts = Артефакти
show_log_seconds = Показване на секундите
[repo] [repo]
issues.context.edit = Редактиране issues.context.edit = Редактиране
@ -509,7 +507,7 @@ wiki.page_title = Заглавие на страницата
wiki.page_content = Съдържание на страницата wiki.page_content = Съдържание на страницата
wiki.filter_page = Филтриране на страница wiki.filter_page = Филтриране на страница
wiki.back_to_wiki = Обратно към уики страницата wiki.back_to_wiki = Обратно към уики страницата
wiki.wiki_page_revisions = Ревизии на страницата wiki.wiki_page_revisions = Ревизии на уики страницата
wiki.file_revision = Ревизия на страницата wiki.file_revision = Ревизия на страницата
activity.title.issues_created_by = %s създадени от %s activity.title.issues_created_by = %s създадени от %s
wiki.delete_page_notice_1 = Изтриването на уики страницата "%s" не може да бъде отменено. Продължаване? wiki.delete_page_notice_1 = Изтриването на уики страницата "%s" не може да бъде отменено. Продължаване?
@ -572,7 +570,7 @@ issues.role.owner_helper = Този потребител е притежател
settings.delete_notices_2 = - Тази операция ще изтрие перманентно хранилището <strong>%s</strong>, включително кода, задачите, коментарите, данните на уикито и настройките за сътрудници. settings.delete_notices_2 = - Тази операция ще изтрие перманентно хранилището <strong>%s</strong>, включително кода, задачите, коментарите, данните на уикито и настройките за сътрудници.
settings.admin_settings = Администраторски настройки settings.admin_settings = Администраторски настройки
issues.role.owner = Притежател issues.role.owner = Притежател
settings.transfer.title = Прехвърляне на притежанието settings.transfer = Прехвърляне на притежанието
issues.author = Автор issues.author = Автор
issues.closed_at = `затвори тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at = `затвори тази задача <a id="%[1]s" href="#%[1]s">%[2]s</a>`
settings.collaborator_deletion_desc = Премахването на сътрудник ще отнеме достъпа му до това хранилище. Продължаване? settings.collaborator_deletion_desc = Премахването на сътрудник ще отнеме достъпа му до това хранилище. Продължаване?
@ -785,7 +783,7 @@ issues.label.filter_sort.reverse_by_size = Най-голям размер
issues.unlock = Отключване на обсъждането issues.unlock = Отключване на обсъждането
issues.due_date_form_add = Добавяне на краен срок issues.due_date_form_add = Добавяне на краен срок
release.save_draft = Запазване на чернова release.save_draft = Запазване на чернова
release.add_tag = Създаване на маркер release.add_tag = Създаване само на маркер
release.publish = Публикуване на издание release.publish = Публикуване на издание
file_view_source = Преглед на изходния код file_view_source = Преглед на изходния код
diff.parent = родител diff.parent = родител
@ -1064,7 +1062,7 @@ diff.review.reject = Поискване на промени
diff.bin_not_shown = Двоичният файл не е показан. diff.bin_not_shown = Двоичният файл не е показан.
settings.units.units = Елементи на хранилището settings.units.units = Елементи на хранилището
settings.delete_notices_fork_1 = - Разклоненията на това хранилище ще станат независими след изтриване. settings.delete_notices_fork_1 = - Разклоненията на това хранилище ще станат независими след изтриване.
settings.actions_desc = Включване на интегрираните CI/CD pipelines с Forgejo Действия settings.actions_desc = Включване на действията за хранилището
settings.packages_desc = Включване на регистъра на пакетите за хранилището settings.packages_desc = Включване на регистъра на пакетите за хранилището
settings.units.add_more = Добавяне... settings.units.add_more = Добавяне...
settings.use_external_issue_tracker = Използване на външен тракер за задачи settings.use_external_issue_tracker = Използване на външен тракер за задачи
@ -1128,7 +1126,7 @@ issues.ref_from = `от %[1]s`
issues.ref_reopening_from = `<a href="%[3]s">спомена заявка за сливане %[4]s, която ще отвори наново тази задача</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.ref_reopening_from = `<a href="%[3]s">спомена заявка за сливане %[4]s, която ще отвори наново тази задача</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.draft_title = Чернова issues.draft_title = Чернова
pulls.reopen_to_merge = Моля, отворете наново тази заявка за сливане, за да извършите сливане. pulls.reopen_to_merge = Моля, отворете наново тази заявка за сливане, за да извършите сливане.
pulls.cant_reopen_deleted_branch = Тази заявка за сливане не може да бъде отворена наново, защото клонът е изтрит. pulls.cant_reopen_deleted_branch = Тази заявка за сливане не може да бъде отворена наново, защото клонът бе изтрит.
pulls.status_checks_hide_all = Скриване на всички проверки pulls.status_checks_hide_all = Скриване на всички проверки
pulls.status_checks_failure = Някои проверки са неуспешни pulls.status_checks_failure = Някои проверки са неуспешни
issues.review.add_review_request = поиска рецензия от %s %s issues.review.add_review_request = поиска рецензия от %s %s
@ -1219,13 +1217,13 @@ teams.read_access_helper = Членовете могат да преглежда
teams.invite.description = Моля, щракнете върху бутона по-долу, за да се присъедините към екипа. teams.invite.description = Моля, щракнете върху бутона по-долу, за да се присъедините към екипа.
teams.invite.title = Поканени сте да се присъедините към екип <strong>%s</strong> в организация <strong>%s</strong>. teams.invite.title = Поканени сте да се присъедините към екип <strong>%s</strong> в организация <strong>%s</strong>.
team_permission_desc = Разрешение team_permission_desc = Разрешение
members.public_helper = Да е скрит members.public_helper = да е скрит
teams.members = Членове на екипа teams.members = Членове на екипа
teams.delete_team = Изтриване на екипа teams.delete_team = Изтриване на екипа
members.owner = Притежател members.owner = Притежател
members.member_role = Роля на участника: members.member_role = Роля на участника:
members.member = Участник members.member = Участник
members.private_helper = Да е видим members.private_helper = да е видим
teams.no_desc = Този екип няма описание teams.no_desc = Този екип няма описание
settings.delete_org_desc = Тази организация ще бъде изтрита перманентно. Продължаване? settings.delete_org_desc = Тази организация ще бъде изтрита перманентно. Продължаване?
@ -1368,9 +1366,9 @@ hooks = Уеб-куки
systemhooks = Системни уеб-куки systemhooks = Системни уеб-куки
orgs.new_orga = Нова организация orgs.new_orga = Нова организация
config.https_only = Само HTTPS config.https_only = Само HTTPS
users.update_profile_success = Потребителският акаунт е обновен. users.update_profile_success = Потребителският акаунт бе обновен.
users.new_success = Потребителският акаунт "%s" е създаден. users.new_success = Потребителският акаунт "%s" бе създаден.
users.deletion_success = Потребителският акаунт е изтрит. users.deletion_success = Потребителският акаунт бе изтрит.
last_page = Последна last_page = Последна
config.test_email_placeholder = Ел. поща (напр. test@example.com) config.test_email_placeholder = Ел. поща (напр. test@example.com)
users.cannot_delete_self = Не можете да изтриете себе си users.cannot_delete_self = Не можете да изтриете себе си

View file

@ -1,31 +0,0 @@
[common]
home = inici
dashboard = Panell de control
explore = Explorar
help = Ajuda
logo = Logo
sign_in = Entrar
sign_in_with_provider = Entra amb %s
sign_in_or = o
sign_out = Sortir
register = Registrar-se
version = Versió
powered_by = Creat amb %s
page = Pàgina
template = Plantilla
language = Idioma
notifications = Notificacions
active_stopwatch = Registre de Temps Actiu
create_new = Crear…
user_profile_and_more = Perfil i configuració…
signed_in_as = Entrat com
enable_javascript = Aquest lloc web requereix Javascript.
toc = Taula de Continguts
licenses = Llicències
sign_up = Registrar-se
link_account = Vincular un compte
tracked_time_summary = Resum del temps registrat basat en filtres del llistat de temes
return_to_gitea = Tornar a Forgejo

View file

@ -46,7 +46,7 @@ webauthn_unsupported_browser=Váš prohlížeč momentálně nepodporuje WebAuth
webauthn_error_unknown=Došlo k neznámé chybě. Opakujte akci. webauthn_error_unknown=Došlo k neznámé chybě. Opakujte akci.
webauthn_error_insecure=WebAuthn podporuje pouze zabezpečená připojení. Pro testování přes HTTP můžete použít výchozí „localhost“ nebo „127.0.0.1“ webauthn_error_insecure=WebAuthn podporuje pouze zabezpečená připojení. Pro testování přes HTTP můžete použít výchozí „localhost“ nebo „127.0.0.1“
webauthn_error_unable_to_process=Server nemohl zpracovat váš požadavek. webauthn_error_unable_to_process=Server nemohl zpracovat váš požadavek.
webauthn_error_duplicated=Bezpečnostní klíč není pro tento požadavek povolen. Ujistěte se prosím, zda klíč již není registrován. webauthn_error_duplicated=Bezpečnostní klíč není pro tento požadavek povolen. Ujistěte se prosím, zda již klíč není registrován.
webauthn_error_empty=Musíte nastavit název tohoto klíče. webauthn_error_empty=Musíte nastavit název tohoto klíče.
webauthn_error_timeout=Požadavek vypršel dříve, než se podařilo přečíst váš klíč. Znovu načtěte tuto stránku a akci opakujte. webauthn_error_timeout=Požadavek vypršel dříve, než se podařilo přečíst váš klíč. Znovu načtěte tuto stránku a akci opakujte.
webauthn_reload=Znovu načíst webauthn_reload=Znovu načíst
@ -146,15 +146,15 @@ sign_in_with_provider = Přihlásit se přes %s
confirm_delete_artifact = Opravdu chcete odstranit artefakt „%s“? confirm_delete_artifact = Opravdu chcete odstranit artefakt „%s“?
toggle_menu = Přepnout nabídku toggle_menu = Přepnout nabídku
filter = Filtr filter = Filtr
filter.is_fork = Forky filter.is_fork = Forknuto
filter.not_fork = Nejsou forky filter.not_fork = Není forknuto
filter.is_mirror = Zrcadla filter.is_mirror = Zrcadleno
filter.is_template = Šablony filter.is_template = Šablona
filter.not_template = Nejsou šablony filter.not_template = Není šablona
filter.public = Veřejné filter.public = Veřejné
filter.private = Soukromé filter.private = Soukromé
filter.is_archived = Archivováno filter.is_archived = Archivováno
filter.not_mirror = Nejsou zrcadla filter.not_mirror = Není zrcadleno
filter.not_archived = Není archivováno filter.not_archived = Není archivováno
filter.clear = Vymazat filtry filter.clear = Vymazat filtry
more_items = Další položky more_items = Další položky
@ -688,7 +688,7 @@ avatar=Avatar
ssh_gpg_keys=Klíče SSH / GPG ssh_gpg_keys=Klíče SSH / GPG
social=Účty sociálních sítí social=Účty sociálních sítí
applications=Aplikace applications=Aplikace
orgs=Organizace orgs=Spravovat organizace
repos=Repozitáře repos=Repozitáře
delete=Smazat účet delete=Smazat účet
twofa=Dvoufaktorové ověřování (TOTP) twofa=Dvoufaktorové ověřování (TOTP)
@ -762,8 +762,8 @@ password_change_disabled=Externě ověřovaní uživatelé nemohou aktualizovat
emails=E-mailové adresy emails=E-mailové adresy
manage_emails=Správa e-mailových adres manage_emails=Správa e-mailových adres
manage_themes=Výchozí motiv manage_themes=Vyberte výchozí motiv vzhledu
manage_openid=Adresy OpenID manage_openid=Správa adres OpenID
email_desc=Vaše hlavní e-mailová adresa bude použita pro oznámení, obnovení hesla, a pokud není skrytá, pro operace Gitu. email_desc=Vaše hlavní e-mailová adresa bude použita pro oznámení, obnovení hesla, a pokud není skrytá, pro operace Gitu.
theme_desc=Toto bude váš výchozí motiv vzhledu napříč stránkou. theme_desc=Toto bude váš výchozí motiv vzhledu napříč stránkou.
primary=Hlavní primary=Hlavní
@ -807,7 +807,7 @@ add_new_key=Přidat klíč SSH
add_new_gpg_key=Přidat klíč GPG add_new_gpg_key=Přidat klíč GPG
key_content_ssh_placeholder=Začíná s „ssh-ed25519“, „ssh-rsa“, „ecdsa-sha2-nistp256“, „ecdsa-sha2-nistp384“, „ecdsa-sha2-nistp521“, „sk-ecdsa-sha2-nistp256@openssh.com“ nebo „sk-ssh-ed25519@openssh.com“ key_content_ssh_placeholder=Začíná s „ssh-ed25519“, „ssh-rsa“, „ecdsa-sha2-nistp256“, „ecdsa-sha2-nistp384“, „ecdsa-sha2-nistp521“, „sk-ecdsa-sha2-nistp256@openssh.com“ nebo „sk-ssh-ed25519@openssh.com“
key_content_gpg_placeholder=Začíná s „-----BEGIN PGP PUBLIC KEY BLOCK-----“ key_content_gpg_placeholder=Začíná s „-----BEGIN PGP PUBLIC KEY BLOCK-----“
add_new_principal=Přidat principal add_new_principal=Přidat SSH Principal certifikát
ssh_key_been_used=Tento SSH klíč byl na server již přidán. ssh_key_been_used=Tento SSH klíč byl na server již přidán.
ssh_key_name_used=SSH klíč se stejným jménem již u vašeho účtu existuje. ssh_key_name_used=SSH klíč se stejným jménem již u vašeho účtu existuje.
ssh_principal_been_used=Tento SSH Principal certifikát již byl přidán na server. ssh_principal_been_used=Tento SSH Principal certifikát již byl přidán na server.
@ -866,7 +866,7 @@ token_state_desc=Tento token byl použit během posledních 7 dní
principal_state_desc=Tento SSH Principal certifikát byl použit během posledních 7 dní principal_state_desc=Tento SSH Principal certifikát byl použit během posledních 7 dní
show_openid=Zobrazit na profilu show_openid=Zobrazit na profilu
hide_openid=Odstranit z profilu hide_openid=Odstranit z profilu
ssh_disabled=SSH je zakázáno ssh_disabled=SSH zakázáno
ssh_signonly=SSH je v současné době zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu. ssh_signonly=SSH je v současné době zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu.
ssh_externally_managed=Tento SSH klíč je spravován externě pro tohoto uživatele ssh_externally_managed=Tento SSH klíč je spravován externě pro tohoto uživatele
manage_social=Správa propojených účtů sociálních sítí manage_social=Správa propojených účtů sociálních sítí
@ -874,7 +874,7 @@ social_desc=Tyto účty sociálních sítí lze použít k přihlášení k vaš
unbind=Odpojit unbind=Odpojit
unbind_success=Účet sociální sítě byl úspěšně odstraněn. unbind_success=Účet sociální sítě byl úspěšně odstraněn.
manage_access_token=Přístupové tokeny manage_access_token=Spravovat přístupové tokeny
generate_new_token=Vygenerovat nový token generate_new_token=Vygenerovat nový token
tokens_desc=Tyto tokeny umožňují přístup k vašemu účtu pomocí Forgejo API. tokens_desc=Tyto tokeny umožňují přístup k vašemu účtu pomocí Forgejo API.
token_name=Název tokenu token_name=Název tokenu
@ -955,7 +955,7 @@ webauthn_delete_key_desc=Pokud odstraníte bezpečnostní klíč, již se s ním
webauthn_key_loss_warning=Pokud ztratíte své bezpečnostní klíče, ztratíte přístup k vašemu účtu. webauthn_key_loss_warning=Pokud ztratíte své bezpečnostní klíče, ztratíte přístup k vašemu účtu.
webauthn_alternative_tip=Možná budete chtít nakonfigurovat další metodu ověřování. webauthn_alternative_tip=Možná budete chtít nakonfigurovat další metodu ověřování.
manage_account_links=Propojené účty manage_account_links=Správa propojených účtů
manage_account_links_desc=Tyto externí účty jsou propojeny s vaším Forgejo účtem. manage_account_links_desc=Tyto externí účty jsou propojeny s vaším Forgejo účtem.
account_links_not_available=K vašemu Forgejo účtu nejsou aktuálně připojené žádné externí účty. account_links_not_available=K vašemu Forgejo účtu nejsou aktuálně připojené žádné externí účty.
link_account=Propojit účet link_account=Propojit účet
@ -996,14 +996,13 @@ access_token_desc = Oprávnění vybraného tokenu omezují autorizaci pouze na
blocked_users_none = Nemáte žádné zablokované uživatele. blocked_users_none = Nemáte žádné zablokované uživatele.
blocked_since = Zablokován od %s blocked_since = Zablokován od %s
hints = Nápovědy hints = Nápovědy
additional_repo_units_hint = Navrhnout povolení dalších jednotek úložiště additional_repo_units_hint = Podíbnout k povolení dalších jednotek úložiště
update_hints = Aktualizovat nápovědy update_hints = Aktualizovat nápovědy
update_hints_success = Nápovědy byly aktualizovány. update_hints_success = Nápovědy byly aktualizovány.
additional_repo_units_hint_description = Zobrazit tlačítko „Přidat další jednotky...“ u repozitářů, které nemají povolené všechny dostupné jednotky. additional_repo_units_hint_description = Zobrazit tlačítko „Přidat další jednotky...“ u repozitářů, které nemají povolené všechny dostupné jednotky.
pronouns = Zájmena pronouns = Zájmena
pronouns_custom = Vlastní pronouns_custom = Vlastní
pronouns_unspecified = Neurčená pronouns_unspecified = Neurčené
language.title = Výchozí jazyk
[repo] [repo]
new_repo_helper=Repozitář obsahuje všechny projektové soubory, včetně historie revizí. Už jej hostujete jinde? <a href="%s">Migrovat repozitář.</a> new_repo_helper=Repozitář obsahuje všechny projektové soubory, včetně historie revizí. Už jej hostujete jinde? <a href="%s">Migrovat repozitář.</a>
@ -1161,7 +1160,7 @@ migrate.clone_address_desc=HTTP(S) nebo URL Git „clone“ existujícího repoz
migrate.github_token_desc=Můžete sem vložit jeden nebo více tokenů oddělených čárkou, abyste urychlili migraci kvůli omezení rychlosti rozhraní GitHub API. VAROVÁNÍ: Zneužití této funkce může vést k porušení zásad poskytovatele služeb a zablokování účtu. migrate.github_token_desc=Můžete sem vložit jeden nebo více tokenů oddělených čárkou, abyste urychlili migraci kvůli omezení rychlosti rozhraní GitHub API. VAROVÁNÍ: Zneužití této funkce může vést k porušení zásad poskytovatele služeb a zablokování účtu.
migrate.clone_local_path=nebo místní cesta serveru migrate.clone_local_path=nebo místní cesta serveru
migrate.permission_denied=Není dovoleno importovat místní repozitáře. migrate.permission_denied=Není dovoleno importovat místní repozitáře.
migrate.permission_denied_blocked=Nelze importovat z nepovolených hostitelů, prosím požádejte správce, aby zkontroloval nastavení ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS. migrate.permission_denied_blocked=Nelze importovat z nepovolených hostitelů, prosím požádejte správce, aby zkontroloval nastavení ALLOWED_DOMAINS/ALLOW_LOCALETWORKS/BLOCKED_DOMAINS.
migrate.invalid_local_path=Místní cesta je neplatná, buď neexistuje nebo není adresářem. migrate.invalid_local_path=Místní cesta je neplatná, buď neexistuje nebo není adresářem.
migrate.invalid_lfs_endpoint=Koncový bod LFS není platný. migrate.invalid_lfs_endpoint=Koncový bod LFS není platný.
migrate.failed=Přenesení selhalo: %v migrate.failed=Přenesení selhalo: %v
@ -1200,7 +1199,7 @@ watch_guest_user=Pro sledování tohoto repozitáře se přihlaste.
star_guest_user=Pro hodnocení tohoto repozitáře se přihlaste. star_guest_user=Pro hodnocení tohoto repozitáře se přihlaste.
unwatch=Přestat sledovat unwatch=Přestat sledovat
watch=Sledovat watch=Sledovat
unstar=Odebrat z oblíbených unstar=Zrušit oblíbení
star=Oblíbit star=Oblíbit
fork=Rozštěpit fork=Rozštěpit
download_archive=Stáhnout repozitář download_archive=Stáhnout repozitář
@ -1335,10 +1334,10 @@ editor.commit_empty_file_header=Odevzdat prázdný soubor
editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný. Pokračovat? editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný. Pokračovat?
editor.no_changes_to_show=Žádné změny k zobrazení. editor.no_changes_to_show=Žádné změny k zobrazení.
editor.fail_to_update_file=Nepodařilo se aktualizovat/vytvořit soubor „%s“. editor.fail_to_update_file=Nepodařilo se aktualizovat/vytvořit soubor „%s“.
editor.fail_to_update_file_summary=Chybová zpráva: editor.fail_to_update_file_summary=Chybové hlášení:
editor.push_rejected_no_message=Změna byla serverem zamítnuta bez zprávy. Zkontrolujte prosím Git hooks. editor.push_rejected_no_message=Změna byla serverem zamítnuta bez zprávy. Zkontrolujte prosím Git hooks.
editor.push_rejected=Změna byla serverem zamítnuta. Zkontrolujte prosím Git hooks. editor.push_rejected=Změna byla serverem zamítnuta. Zkontrolujte prosím Git hooks.
editor.push_rejected_summary=Úplná zpráva o zamítnutí: editor.push_rejected_summary=Úplná zpráva o odmítnutí:
editor.add_subdir=Přidat adresář… editor.add_subdir=Přidat adresář…
editor.unable_to_upload_files=Nepodařilo se nahrát soubory do „%s“. Chyba: %v editor.unable_to_upload_files=Nepodařilo se nahrát soubory do „%s“. Chyba: %v
editor.upload_file_is_locked=Soubor „%s“ je uzamčen uživatelem %s. editor.upload_file_is_locked=Soubor „%s“ je uzamčen uživatelem %s.
@ -1854,16 +1853,16 @@ pulls.merge_commit_id=ID slučovacího commitu
pulls.require_signed_wont_sign=Větev vyžaduje podepsané commity, ale toto sloučení nebude podepsáno pulls.require_signed_wont_sign=Větev vyžaduje podepsané commity, ale toto sloučení nebude podepsáno
pulls.invalid_merge_option=Pro tuto žádost nemůžete použít tuto možnost sloučení. pulls.invalid_merge_option=Pro tuto žádost nemůžete použít tuto možnost sloučení.
pulls.merge_conflict=Sloučení selhalo: při slučování došlo ke konfliktu. Tip: zkuste jinou strategii pulls.merge_conflict=Sloučení selhalo: Došlo ke konfliktu při sloučení. Tip: Zkuste jinou strategii
pulls.merge_conflict_summary=Chybové hlášení pulls.merge_conflict_summary=Chybové hlášení
pulls.rebase_conflict=Sloučení selhalo: došlo ke konfliktu při rebase commitu: %[1]s. Tip: zkuste jinou strategii pulls.rebase_conflict=Sloučení selhalo: Došlo ke konfliktu při rebase commitu: %[1]s. Tip: Zkuste jinou strategii
pulls.rebase_conflict_summary=Chybové hlášení pulls.rebase_conflict_summary=Chybové hlášení
pulls.unrelated_histories=Sloučení selhalo: hlava a základ revize nesdílí společnou historii. Tip: zkuste jinou strategii pulls.unrelated_histories=Sloučení selhalo: Hlavní a základní revize nesdílí společnou historii. Tip: Zkuste jinou strategii
pulls.merge_out_of_date=Sloučení selhalo: základ byl aktualizován při generování sloučení. Tip: zkuste to znovu. pulls.merge_out_of_date=Sloučení selhalo: Základ byl aktualizován při generování sloučení. Tip: Zkuste to znovu.
pulls.head_out_of_date=Sloučení selhalo: hlava revize byla aktualizována při generování sloučení. Tip: zkuste to znovu. pulls.head_out_of_date=Sloučení selhalo: Hlavní revize byla aktualizován při generování sloučení. Tip: Zkuste to znovu.
pulls.has_merged=Chyba: žádost byla sloučena, nelze ji znovu sloučit nebo změnit cílovou větev. pulls.has_merged=Chyba: žádost byla sloučena, nelze ji znovu sloučit nebo změnit cílovou větev.
pulls.push_rejected=Push selhal: nahrání bylo zamítnuto. Zkontrolujte Git hooky pro tento repozitář. pulls.push_rejected=Push selhal: nahrání bylo zamítnuto. Zkontrolujte Git hooky pro tento repozitář.
pulls.push_rejected_summary=Úplná zpráva o zamítnutí pulls.push_rejected_summary=Úplná zpráva o odmítnutí
pulls.push_rejected_no_message=Push selhal: nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva. Zkontrolujte Git hooky pro tento repozitář pulls.push_rejected_no_message=Push selhal: nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva. Zkontrolujte Git hooky pro tento repozitář
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající požadavek na natažení (#%d) s identickými vlastnostmi.` pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající požadavek na natažení (#%d) s identickými vlastnostmi.`
pulls.status_checking=Některé kontroly jsou nedořešeny pulls.status_checking=Některé kontroly jsou nedořešeny
@ -1970,7 +1969,7 @@ wiki.last_commit_info=%s upravil tuto stránku %s
wiki.edit_page_button=Změnit stránku wiki.edit_page_button=Změnit stránku
wiki.new_page_button=Nová stránka wiki.new_page_button=Nová stránka
wiki.file_revision=Revize stránky wiki.file_revision=Revize stránky
wiki.wiki_page_revisions=Revize stránky wiki.wiki_page_revisions=Revize Wiki stránky
wiki.back_to_wiki=Zpět na wiki stránku wiki.back_to_wiki=Zpět na wiki stránku
wiki.delete_page_button=Smazat stránku wiki.delete_page_button=Smazat stránku
wiki.delete_page_notice_1=Odstranění Wiki stránky „%s“ nemůže být vráceno zpět. Pokračovat? wiki.delete_page_notice_1=Odstranění Wiki stránky „%s“ nemůže být vráceno zpět. Pokračovat?
@ -2132,12 +2131,12 @@ settings.pulls.default_allow_edits_from_maintainers=Ve výchozím nastavení pov
settings.releases_desc=Povolit vydání v repozitáři settings.releases_desc=Povolit vydání v repozitáři
settings.packages_desc=Povolit registr balíčků repozitáře settings.packages_desc=Povolit registr balíčků repozitáře
settings.projects_desc=Povolit projekty v repozitáři settings.projects_desc=Povolit projekty v repozitáři
settings.actions_desc=Povolit integrované pipeliny CI/CD pomocí služby Forgejo Actions settings.actions_desc=Povolit akce repozitáře
settings.admin_settings=Administrátorská nastavení settings.admin_settings=Administrátorská nastavení
settings.admin_enable_health_check=Povolit kontrolu stavu repozitáře (git fsck) settings.admin_enable_health_check=Povolit kontrolu stavu repozitáře (git fsck)
settings.admin_code_indexer=Indexování kódu settings.admin_code_indexer=Indexování kódu
settings.admin_stats_indexer=Index statistiky kódu settings.admin_stats_indexer=Index statistiky kódu
settings.admin_indexer_commit_sha=Poslední indexovaný commit settings.admin_indexer_commit_sha=Poslední indexovaná SHA
settings.admin_indexer_unindexed=Neindexováno settings.admin_indexer_unindexed=Neindexováno
settings.reindex_button=Přidat do fronty reindexace settings.reindex_button=Přidat do fronty reindexace
settings.reindex_requested=Požadováno reindexování settings.reindex_requested=Požadováno reindexování
@ -2154,7 +2153,7 @@ settings.convert_fork_desc=Tento fork můžete převést na běžný repozitář
settings.convert_fork_notices_1=Tato operace převede fork na běžný repozitář a nelze ji vrátit zpět. settings.convert_fork_notices_1=Tato operace převede fork na běžný repozitář a nelze ji vrátit zpět.
settings.convert_fork_confirm=Převést repozitář settings.convert_fork_confirm=Převést repozitář
settings.convert_fork_succeed=Fork bylo převeden na běžný repozitář. settings.convert_fork_succeed=Fork bylo převeden na běžný repozitář.
settings.transfer.title=Předat vlastnictví settings.transfer=Předat vlastnictví
settings.transfer.rejected=Převod repozitáře byl zamítnut. settings.transfer.rejected=Převod repozitáře byl zamítnut.
settings.transfer.success=Převod repozitáře byl úspěšný. settings.transfer.success=Převod repozitáře byl úspěšný.
settings.transfer_abort=Zrušit převod settings.transfer_abort=Zrušit převod
@ -2179,7 +2178,7 @@ settings.trust_model.collaborator.long=Spolupracovník: Důvěřovat podpisům s
settings.trust_model.collaborator.desc=Platné podpisy spolupracovníků tohoto repozitáře budou označeny jako „důvěryhodné“ - (ať se shodují s autorem, či nikoli). V opačném případě budou platné podpisy označeny jako „nedůvěryhodné“, pokud se podpis shoduje s přispěvatelem a „neodpovídající“, pokud ne. settings.trust_model.collaborator.desc=Platné podpisy spolupracovníků tohoto repozitáře budou označeny jako „důvěryhodné“ - (ať se shodují s autorem, či nikoli). V opačném případě budou platné podpisy označeny jako „nedůvěryhodné“, pokud se podpis shoduje s přispěvatelem a „neodpovídající“, pokud ne.
settings.trust_model.committer=Přispěvatel settings.trust_model.committer=Přispěvatel
settings.trust_model.committer.long=Přispěvatel: Důvěřovat podpisům, které odpovídají autorům (což odpovídá GitHub a přinutí Giteu nastavit jako tvůrce pro Giteou podepsané revize) settings.trust_model.committer.long=Přispěvatel: Důvěřovat podpisům, které odpovídají autorům (což odpovídá GitHub a přinutí Giteu nastavit jako tvůrce pro Giteou podepsané revize)
settings.trust_model.committer.desc=Platné podpisy budou označeny jako „důvěryhodné“ pouze, pokud se shodují s přispěvatelem, v opačném případě budou označeny jako „neodpovídající“. To přinutí Forgejo, aby bylo přispěvatelem podepsaných commitů se skutečným přispěvatelem označeným jako Co-authored-by: a Co-committed-by: na konci commitu. Výchozí klíč Forgejo musí odpovídat uživateli v databázi. settings.trust_model.committer.desc=Platné podpisy budou označeny pouze jako „důvěryhodné“, pokud se shodují s přispěvatelem, jinak budou označeny jako „neodpovídající“. To přinutí Giteu, aby byla přispěvatelem podepsaných commitů se skutečným přispěvatelem označeným jako Co-authored-by: a Co-committed-by: na konci commitu. Výchozí klíč Gitea musí odpovídat uživateli v databázi.
settings.trust_model.collaboratorcommitter=Spolupracovník+Přispěvatel settings.trust_model.collaboratorcommitter=Spolupracovník+Přispěvatel
settings.trust_model.collaboratorcommitter.long=Spolupracovník+Přispěvatel: Důvěřovat podpisům od spolupracovníků, které odpovídají tvůrci revize settings.trust_model.collaboratorcommitter.long=Spolupracovník+Přispěvatel: Důvěřovat podpisům od spolupracovníků, které odpovídají tvůrci revize
settings.trust_model.collaboratorcommitter.desc=Platné podpisy spolupracovníků tohoto repozitáře budou označeny jako „důvěryhodné“, pokud se shodují s přispěvatelem. V opačném případě budou platné podpisy označeny jako "nedůvěryhodné", pokud se podpis shoduje s přispěvatelem a „neodpovídajícím“ v opačném případě. To přinutí Giteu, aby byla označena jako přispěvatel podepsaných commitů se skutečným přispěvatelem označeným jako Co-Authored-By: a Co-Committed-By: na konci commitu. Výchozí klíč Forgejo musí odpovídat uživateli v databázi. settings.trust_model.collaboratorcommitter.desc=Platné podpisy spolupracovníků tohoto repozitáře budou označeny jako „důvěryhodné“, pokud se shodují s přispěvatelem. V opačném případě budou platné podpisy označeny jako "nedůvěryhodné", pokud se podpis shoduje s přispěvatelem a „neodpovídajícím“ v opačném případě. To přinutí Giteu, aby byla označena jako přispěvatel podepsaných commitů se skutečným přispěvatelem označeným jako Co-Authored-By: a Co-Committed-By: na konci commitu. Výchozí klíč Forgejo musí odpovídat uživateli v databázi.
@ -2560,7 +2559,7 @@ release.tag_helper_existing=Stávající značka.
release.title=Název vydání release.title=Název vydání
release.title_empty=Název nesmí být prázdný. release.title_empty=Název nesmí být prázdný.
release.message=Popište toto vydání release.message=Popište toto vydání
release.prerelease_desc=Označit jako předběžnou verzi release.prerelease_desc=Označit jako předběžná verze
release.prerelease_helper=Označit vydání jako nevhodné pro produkční nasazení. release.prerelease_helper=Označit vydání jako nevhodné pro produkční nasazení.
release.cancel=Zrušit release.cancel=Zrušit
release.publish=Zveřejnit vydání release.publish=Zveřejnit vydání
@ -2580,7 +2579,7 @@ release.tag_already_exist=Tato značka již existuje.
release.downloads=Soubory ke stažení release.downloads=Soubory ke stažení
release.download_count=Stažení: %s release.download_count=Stažení: %s
release.add_tag_msg=Použít název a obsah vydání jako zprávu značky. release.add_tag_msg=Použít název a obsah vydání jako zprávu značky.
release.add_tag=Vytvořit značku release.add_tag=Vytvořit pouze značku
release.releases_for=Vydání pro %s release.releases_for=Vydání pro %s
release.tags_for=Značky pro %s release.tags_for=Značky pro %s
@ -2722,7 +2721,7 @@ pulls.title_desc_one = žádá o sloučení %[1]d commitu z <code>%[2]s</code> d
pulls.merged_title_desc_one = sloučil %[1]d commit z <code>%[2]s</code> do <code>%[3]s</code> %[4]s pulls.merged_title_desc_one = sloučil %[1]d commit z <code>%[2]s</code> do <code>%[3]s</code> %[4]s
open_with_editor = Otevřít pomocí %s open_with_editor = Otevřít pomocí %s
commits.search_branch = Tato větev commits.search_branch = Tato větev
editor.commit_id_not_matching = Tento soubor se během úpravy změnil. Proveďte commit do nové větve a poté je slučte. editor.commit_id_not_matching = ID commitu se neshoduje s ID commitu, který jste upravovali. Proveďte commit do nové větve a poté je slučte.
pulls.ready_for_review = Připraveni na posouzení? pulls.ready_for_review = Připraveni na posouzení?
settings.rename_branch_failed_protected = Nepodařilo se přejmenovat větev %s, jelikož se jedná o chráněnou větev. settings.rename_branch_failed_protected = Nepodařilo se přejmenovat větev %s, jelikož se jedná o chráněnou větev.
editor.push_out_of_date = Push je nejspíše zastaralý. editor.push_out_of_date = Push je nejspíše zastaralý.
@ -2755,8 +2754,6 @@ settings.matrix.room_id_helper = ID místnosti lze získat z webového klienta E
settings.matrix.access_token_helper = Pro tuto akci je doporučeno vytvořit oddělený účet Matrix. Přístupový token lze získat z webového klienta Element (v soukromé/anonymní kartě) > Uživatelské menu (vlevo nahoře) > Všechna nastavení > O aplikaci a pomoc > Rozšířené > Přístupový token (přímo pod adresou domovského serveru). Soukromou/anonymní kartu zavřete (odhlášením token zneplatníte). settings.matrix.access_token_helper = Pro tuto akci je doporučeno vytvořit oddělený účet Matrix. Přístupový token lze získat z webového klienta Element (v soukromé/anonymní kartě) > Uživatelské menu (vlevo nahoře) > Všechna nastavení > O aplikaci a pomoc > Rozšířené > Přístupový token (přímo pod adresou domovského serveru). Soukromou/anonymní kartu zavřete (odhlášením token zneplatníte).
release.hide_archive_links = Skrýt automaticky generované archivy release.hide_archive_links = Skrýt automaticky generované archivy
release.hide_archive_links_helper = Pro toto vydání skrýt automaticky generované archivy zdrojového kódu. Užitečné například pokud nahráváte své vlastní. release.hide_archive_links_helper = Pro toto vydání skrýt automaticky generované archivy zdrojového kódu. Užitečné například pokud nahráváte své vlastní.
settings.transfer.button = Převést vlastnictví
settings.transfer.modal.title = Převést vlastnictví
[graphs] [graphs]
component_loading_info = Tohle může chvíli trvat… component_loading_info = Tohle může chvíli trvat…
@ -2826,9 +2823,9 @@ settings.labels_desc=Přidejte štítky, které mohou být použity pro problém
members.membership_visibility=Viditelnost členství: members.membership_visibility=Viditelnost členství:
members.public=Viditelný members.public=Viditelný
members.public_helper=Skrýt members.public_helper=skrýt
members.private=Skrytý members.private=Skrytý
members.private_helper=Zviditelnit members.private_helper=zviditělnit
members.member_role=Role člena: members.member_role=Role člena:
members.owner=Vlastník members.owner=Vlastník
members.member=Člen members.member=Člen
@ -2891,7 +2888,6 @@ teams.invite.title=Byli jste pozváni do týmu <strong>%s</strong> v organizaci
teams.invite.by=Pozvání od %s teams.invite.by=Pozvání od %s
teams.invite.description=Pro připojení k týmu klikněte na tlačítko níže. teams.invite.description=Pro připojení k týmu klikněte na tlačítko níže.
follow_blocked_user = Tuto organizaci nemůžete sledovat, protože jste v ní zablokovaní. follow_blocked_user = Tuto organizaci nemůžete sledovat, protože jste v ní zablokovaní.
open_dashboard = Otevřít nástěnku
[admin] [admin]
dashboard=Přehled dashboard=Přehled
@ -2982,8 +2978,8 @@ dashboard.total_gc_time=Celková pauza GC
dashboard.total_gc_pause=Celková pauza GC dashboard.total_gc_pause=Celková pauza GC
dashboard.last_gc_pause=Poslední pauza GC dashboard.last_gc_pause=Poslední pauza GC
dashboard.gc_times=Časy GC dashboard.gc_times=Časy GC
dashboard.delete_old_actions=Odstranit všechny staré aktivity z databáze dashboard.delete_old_actions=Odstranit všechny staré akce z databáze
dashboard.delete_old_actions.started=Spuštěno odstraňování všech starých aktivit z databáze. dashboard.delete_old_actions.started=Začalo odstraňování všech starých akcí z databáze.
dashboard.update_checker=Kontrola aktualizací dashboard.update_checker=Kontrola aktualizací
dashboard.delete_old_system_notices=Odstranit všechna stará systémová upozornění z databáze dashboard.delete_old_system_notices=Odstranit všechna stará systémová upozornění z databáze
dashboard.gc_lfs=Úklid LFS meta objektů dashboard.gc_lfs=Úklid LFS meta objektů
@ -2991,7 +2987,7 @@ dashboard.stop_zombie_tasks=Zastavit zombie úlohy
dashboard.stop_endless_tasks=Zastavit nekonečné úlohy dashboard.stop_endless_tasks=Zastavit nekonečné úlohy
dashboard.cancel_abandoned_jobs=Zrušit opuštěné úlohy dashboard.cancel_abandoned_jobs=Zrušit opuštěné úlohy
dashboard.start_schedule_tasks=Spustit naplánované úlohy dashboard.start_schedule_tasks=Spustit naplánované úlohy
dashboard.sync_branch.started=Synchronizace větví spuštěna dashboard.sync_branch.started=Synchronizace větví byla spuštěna
dashboard.sync_tag.started=Synchronizace značek spuštěna dashboard.sync_tag.started=Synchronizace značek spuštěna
dashboard.rebuild_issue_indexer=Znovu sestavit index úkolů dashboard.rebuild_issue_indexer=Znovu sestavit index úkolů
@ -3010,7 +3006,7 @@ users.repos=Repozitáře
users.created=Vytvořen users.created=Vytvořen
users.last_login=Poslední přihlášení users.last_login=Poslední přihlášení
users.never_login=Nikdy nepřihlášen users.never_login=Nikdy nepřihlášen
users.send_register_notify=Poslat oznámení o registraci e-mailem users.send_register_notify=Odeslat upozornění při registraci uživatele
users.new_success=Uživatelský účet „%s“ byl vytvořen. users.new_success=Uživatelský účet „%s“ byl vytvořen.
users.edit=Upravit users.edit=Upravit
users.auth_source=Zdroj ověřování users.auth_source=Zdroj ověřování
@ -3445,7 +3441,6 @@ config_summary = Souhrn
config.open_with_editor_app_help = Editory v nabídce „Otevřít pomocí“ v nabídce klonování. Ponechte prázdné pro použití výchozího editoru (zobrazíte jej rozšířením). config.open_with_editor_app_help = Editory v nabídce „Otevřít pomocí“ v nabídce klonování. Ponechte prázdné pro použití výchozího editoru (zobrazíte jej rozšířením).
config_settings = Nastavení config_settings = Nastavení
auths.tip.gitlab_new = Zaregistrujte si novou aplikaci na https://gitlab.com/-/profile/applications auths.tip.gitlab_new = Zaregistrujte si novou aplikaci na https://gitlab.com/-/profile/applications
auths.default_domain_name = Výchozí doménové jméno použité pro e-mailovou adresu
[action] [action]
create_repo=vytvořil/a repozitář <a href="%s">%s</a> create_repo=vytvořil/a repozitář <a href="%s">%s</a>
@ -3663,7 +3658,7 @@ owner.settings.cargo.initialize.success=Index Cargo byl úspěšně vytvořen.
owner.settings.cargo.rebuild=Znovu vytvořit index owner.settings.cargo.rebuild=Znovu vytvořit index
owner.settings.cargo.rebuild.error=Obnovení Cargo indexu se nezdařilo: %v owner.settings.cargo.rebuild.error=Obnovení Cargo indexu se nezdařilo: %v
owner.settings.cargo.rebuild.success=Cargo Index byl úspěšně obnoven. owner.settings.cargo.rebuild.success=Cargo Index byl úspěšně obnoven.
owner.settings.cleanuprules.title=Pravidla čištění owner.settings.cleanuprules.title=Správa pravidel čištění
owner.settings.cleanuprules.add=Přidat pravidlo pro čištění owner.settings.cleanuprules.add=Přidat pravidlo pro čištění
owner.settings.cleanuprules.edit=Upravit pravidlo pro čištění owner.settings.cleanuprules.edit=Upravit pravidlo pro čištění
owner.settings.cleanuprules.none=Zatím nejsou k dispozici žádná pravidla čištění. owner.settings.cleanuprules.none=Zatím nejsou k dispozici žádná pravidla čištění.
@ -3689,7 +3684,6 @@ owner.settings.chef.keypair.description=Pro autentizaci do registru Chef je zapo
rpm.repository.multiple_groups = Tento balíček je dostupný v několika skupinách. rpm.repository.multiple_groups = Tento balíček je dostupný v několika skupinách.
owner.settings.cargo.rebuild.description = Opětovné sestavení může být užitečné, pokud není index synchronizován s uloženými balíčky Cargo. owner.settings.cargo.rebuild.description = Opětovné sestavení může být užitečné, pokud není index synchronizován s uloženými balíčky Cargo.
owner.settings.cargo.rebuild.no_index = Opětovné vytvoření selhalo, nebyl inicializován žádný index. owner.settings.cargo.rebuild.no_index = Opětovné vytvoření selhalo, nebyl inicializován žádný index.
npm.dependencies.bundle = Přidružené závislosti
[secrets] [secrets]
secrets=Tajné klíče secrets=Tajné klíče
@ -3709,7 +3703,7 @@ management=Správa tajných klíčů
[actions] [actions]
actions=Akce actions=Akce
unit.desc=Spravovat integrované pipeliny CI/CD pomocí funkce Forgejo Actions unit.desc=Spravovat akce
status.unknown=Neznámý status.unknown=Neznámý
status.waiting=Čekání status.waiting=Čekání

View file

@ -149,10 +149,10 @@ filter.is_archived = Archiviert
filter.not_archived = Nicht archiviert filter.not_archived = Nicht archiviert
filter.is_fork = Geforkt filter.is_fork = Geforkt
filter.not_fork = Nicht geforkt filter.not_fork = Nicht geforkt
filter.is_mirror = Gespiegelt filter.is_mirror = Gemirrort
filter.not_mirror = Nicht gespiegelt filter.not_mirror = Nicht gemirrort
filter.is_template = Vorlagen filter.is_template = Vorlage
filter.not_template = Keine Vorlagen filter.not_template = Keine Vorlage
filter.public = Öffentlich filter.public = Öffentlich
filter.private = Privat filter.private = Privat
more_items = Mehr Einträge more_items = Mehr Einträge
@ -426,7 +426,7 @@ tab_openid=OpenID
oauth_signup_tab=Neues Konto registrieren oauth_signup_tab=Neues Konto registrieren
oauth_signup_title=Neuen Account fertigstellen oauth_signup_title=Neuen Account fertigstellen
oauth_signup_submit=Konto vervollständigen oauth_signup_submit=Konto vervollständigen
oauth_signin_tab=Mit einem existierenden Konto verbinden oauth_signin_tab=Mit existierendem Konto verbinden
oauth_signin_title=Anmelden um verbundenes Konto zu autorisieren oauth_signin_title=Anmelden um verbundenes Konto zu autorisieren
oauth_signin_submit=Konto verbinden oauth_signin_submit=Konto verbinden
oauth.signin.error=Beim Verarbeiten der Autorisierungsanfrage ist ein Fehler aufgetreten. Wenn dieser Fehler weiterhin besteht, wende dich bitte an deinen Administrator. oauth.signin.error=Beim Verarbeiten der Autorisierungsanfrage ist ein Fehler aufgetreten. Wenn dieser Fehler weiterhin besteht, wende dich bitte an deinen Administrator.
@ -685,7 +685,7 @@ avatar=Profilbild
ssh_gpg_keys=SSH- / GPG-Schlüssel ssh_gpg_keys=SSH- / GPG-Schlüssel
social=Soziale Konten social=Soziale Konten
applications=Anwendungen applications=Anwendungen
orgs=Organisationen orgs=Organisationen verwalten
repos=Repositorys repos=Repositorys
delete=Konto löschen delete=Konto löschen
twofa=Zwei-Faktor-Authentifizierung (TOTP) twofa=Zwei-Faktor-Authentifizierung (TOTP)
@ -759,8 +759,8 @@ password_change_disabled=Benutzer, die nicht von Forgejo verwaltet werden, könn
emails=E-Mail-Adressen emails=E-Mail-Adressen
manage_emails=E-Mail-Adressen verwalten manage_emails=E-Mail-Adressen verwalten
manage_themes=Standard-Theme manage_themes=Standard-Theme auswählen
manage_openid=OpenID-Adressen manage_openid=OpenID-Adressen verwalten
email_desc=Deine primäre E-Mail-Adresse wird für Benachrichtigungen, Passwort-Wiederherstellung und, sofern sie nicht versteckt ist, web-basierte Git-Operationen verwendet. email_desc=Deine primäre E-Mail-Adresse wird für Benachrichtigungen, Passwort-Wiederherstellung und, sofern sie nicht versteckt ist, web-basierte Git-Operationen verwendet.
theme_desc=Dies wird dein Standard-Theme auf der Seite sein. theme_desc=Dies wird dein Standard-Theme auf der Seite sein.
primary=Primär primary=Primär
@ -871,7 +871,7 @@ social_desc=Diese sozialen Konten können verwendet werden, um sich bei deinem K
unbind=Trennen unbind=Trennen
unbind_success=Das soziale Konto wurde erfolgreich entfernt. unbind_success=Das soziale Konto wurde erfolgreich entfernt.
manage_access_token=Zugriffstokens manage_access_token=Zugriffstokens verwalten
generate_new_token=Neuen Token erzeugen generate_new_token=Neuen Token erzeugen
tokens_desc=Diese Tokens gewähren vollen Zugriff auf dein Konto via die Forgejo-API. tokens_desc=Diese Tokens gewähren vollen Zugriff auf dein Konto via die Forgejo-API.
token_name=Token-Name token_name=Token-Name
@ -950,7 +950,7 @@ webauthn_nickname=Nickname
webauthn_delete_key=Sicherheitsschlüssel entfernen webauthn_delete_key=Sicherheitsschlüssel entfernen
webauthn_delete_key_desc=Wenn du einen Sicherheitsschlüssel entfernst, kannst du dich nicht mehr mit ihm anmelden. Fortfahren? webauthn_delete_key_desc=Wenn du einen Sicherheitsschlüssel entfernst, kannst du dich nicht mehr mit ihm anmelden. Fortfahren?
manage_account_links=Verknüpfte Accounts manage_account_links=Verknüpfte Accounts verwalten
manage_account_links_desc=Diese externen Accounts sind mit deinem Forgejo-Account verknüpft. manage_account_links_desc=Diese externen Accounts sind mit deinem Forgejo-Account verknüpft.
account_links_not_available=Es sind keine externen Accounts mit diesem Forgejo-Account verknüpft. account_links_not_available=Es sind keine externen Accounts mit diesem Forgejo-Account verknüpft.
link_account=Account verbinden link_account=Account verbinden
@ -993,14 +993,13 @@ blocked_users = Blockierte Benutzer
blocked_since = Blockiert seit %s blocked_since = Blockiert seit %s
change_password = Passwort ändern change_password = Passwort ändern
hints = Hinweise hints = Hinweise
additional_repo_units_hint = Aktivierung zusätzlicher Repository-Einheiten vorschlagen additional_repo_units_hint = Zur Aktivierung zusätzlicher Repository-Einheiten ermutigen
update_hints = Hinweise aktualisieren update_hints = Hinweise aktualisieren
update_hints_success = Hinweise wurden aktualisiert. update_hints_success = Hinweise wurden aktualisiert.
additional_repo_units_hint_description = Einen „Mehr Einheiten hinzufügen …“-Button für Repositorys, welche nicht alle verfügbaren Einheiten aktiviert haben, anzeigen. additional_repo_units_hint_description = Einen „Mehr Einheiten hinzufügen …“-Button für Repositorys, welche nicht alle verfügbaren Einheiten aktiviert haben, anzeigen.
pronouns = Pronomen pronouns = Pronomen
pronouns_custom = Eigene pronouns_custom = Eigene
pronouns_unspecified = Nicht spezifiziert pronouns_unspecified = Nicht spezifiziert
language.title = Standardsprache
[repo] [repo]
owner=Besitzer owner=Besitzer
@ -1958,7 +1957,7 @@ wiki.last_commit_info=%s hat diese Seite %s bearbeitet
wiki.edit_page_button=Bearbeiten wiki.edit_page_button=Bearbeiten
wiki.new_page_button=Neue Seite wiki.new_page_button=Neue Seite
wiki.file_revision=Seitenversion wiki.file_revision=Seitenversion
wiki.wiki_page_revisions=Seiten-Änderungsverlauf wiki.wiki_page_revisions=Wiki Änderungsverlauf
wiki.back_to_wiki=Zurück zur Wiki-Seite wiki.back_to_wiki=Zurück zur Wiki-Seite
wiki.delete_page_button=Seite löschen wiki.delete_page_button=Seite löschen
wiki.delete_page_notice_1=Das Löschen der Wiki-Seite „%s“ kann nicht rückgängig gemacht werden. Fortfahren? wiki.delete_page_notice_1=Das Löschen der Wiki-Seite „%s“ kann nicht rückgängig gemacht werden. Fortfahren?
@ -2125,12 +2124,12 @@ settings.pulls.default_allow_edits_from_maintainers=Änderungen von Maintainern
settings.releases_desc=Repository-Releases aktivieren settings.releases_desc=Repository-Releases aktivieren
settings.packages_desc=Repository Packages Registry aktivieren settings.packages_desc=Repository Packages Registry aktivieren
settings.projects_desc=Repository-Projekte aktivieren settings.projects_desc=Repository-Projekte aktivieren
settings.actions_desc=Aktiviere integrierte CI/CD-Pipelines mit Forgejo-Actions settings.actions_desc=Repository-Actions aktivieren
settings.admin_settings=Administratoreinstellungen settings.admin_settings=Administratoreinstellungen
settings.admin_enable_health_check=Repository-Health-Checks aktivieren (git fsck) settings.admin_enable_health_check=Repository-Health-Checks aktivieren (git fsck)
settings.admin_code_indexer=Code-Indexer settings.admin_code_indexer=Code-Indexer
settings.admin_stats_indexer=Code-Statistik-Indexer settings.admin_stats_indexer=Code-Statistik-Indexer
settings.admin_indexer_commit_sha=Zuletzt indizierter Commit settings.admin_indexer_commit_sha=Zuletzt indizierter SHA
settings.admin_indexer_unindexed=Unindiziert settings.admin_indexer_unindexed=Unindiziert
settings.reindex_button=Zur Warteschlange für erneutes Indizieren hinzufügen settings.reindex_button=Zur Warteschlange für erneutes Indizieren hinzufügen
settings.reindex_requested=Erneutes Indizieren angefordert settings.reindex_requested=Erneutes Indizieren angefordert
@ -2147,7 +2146,7 @@ settings.convert_fork_desc=Du kannst diesen Fork in ein normales Repository umwa
settings.convert_fork_notices_1=Dieser Vorgang konvertiert den Fork in ein normales Repository und kann nicht rückgängig gemacht werden. settings.convert_fork_notices_1=Dieser Vorgang konvertiert den Fork in ein normales Repository und kann nicht rückgängig gemacht werden.
settings.convert_fork_confirm=Repository umwandeln settings.convert_fork_confirm=Repository umwandeln
settings.convert_fork_succeed=Der Fork wurde in ein normales Repository konvertiert. settings.convert_fork_succeed=Der Fork wurde in ein normales Repository konvertiert.
settings.transfer.title=Besitz übertragen settings.transfer=Besitz übertragen
settings.transfer.rejected=Repository-Übertragung wurde abgelehnt. settings.transfer.rejected=Repository-Übertragung wurde abgelehnt.
settings.transfer.success=Repository-Übertragung war erfolgreich. settings.transfer.success=Repository-Übertragung war erfolgreich.
settings.transfer_abort=Übertragung abbrechen settings.transfer_abort=Übertragung abbrechen
@ -2577,7 +2576,7 @@ release.tag_already_exist=Dieser Tag-Name existiert bereits.
release.downloads=Downloads release.downloads=Downloads
release.download_count=Downloads: %s release.download_count=Downloads: %s
release.add_tag_msg=Titel und Beschreibung des Releases als Tag Nachricht verwenden. release.add_tag_msg=Titel und Beschreibung des Releases als Tag Nachricht verwenden.
release.add_tag=Tag erstellen release.add_tag=Nur Tag erstellen
release.releases_for=Releases für %s release.releases_for=Releases für %s
release.tags_for=Tags für %s release.tags_for=Tags für %s
@ -2703,12 +2702,12 @@ activity.navbar.code_frequency = Code-Frequenz
file_follow = Symlink folgen file_follow = Symlink folgen
error.broken_git_hook = Die Git-Hooks des Repositorys scheinen kaputt zu sein. Bitte folge der <a target="_blank" rel="noreferrer" href="%s">Dokumentation</a> um sie zu reparieren, dann pushe einige Commits um den Status zu aktualisieren. error.broken_git_hook = Die Git-Hooks des Repositorys scheinen kaputt zu sein. Bitte folge der <a target="_blank" rel="noreferrer" href="%s">Dokumentation</a> um sie zu reparieren, dann pushe einige Commits um den Status zu aktualisieren.
pulls.merged_title_desc_one = hat %[1]d Commit von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt pulls.merged_title_desc_one = hat %[1]d Commit von <code>%[2]s</code> nach <code>%[3]s</code> %[4]s zusammengeführt
pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammenführen pulls.title_desc_one = möchte %[1]d Commit von <code>%[2]s</code> nach <code id="branch_target">%[3]s</code> zusammengeführen
open_with_editor = Öffnen mit %s open_with_editor = Öffnen mit %s
commits.search_branch = Dieser Branch commits.search_branch = Dieser Branch
pulls.ready_for_review = Bereit zum Review? pulls.ready_for_review = Bereit zum Review?
settings.rename_branch_failed_protected = Branch %s kann nicht umbenannt werden, weil er ein geschützter Branch ist. settings.rename_branch_failed_protected = Branch %s kann nicht umbenannt werden, weil er ein geschützter Branch ist.
editor.commit_id_not_matching = Die Datei wurde geändert, während du sie bearbeitet hast. Committe in einen neuen Branch, dann führe einen Merge durch. editor.commit_id_not_matching = Die Commit-ID passt nicht zur ID die du bearbeitet hast hast. Committe in einen neuen Branch, dann führe einen Merge durch.
editor.push_out_of_date = Der Push scheint veraltet zu sein. editor.push_out_of_date = Der Push scheint veraltet zu sein.
n_commit_few = %s Commits n_commit_few = %s Commits
n_branch_one = %s Branch n_branch_one = %s Branch
@ -2739,8 +2738,6 @@ settings.sourcehut_builds.access_token_helper = Zugangstoken der die JOBS:RW-Fre
settings.matrix.access_token_helper = Es wird empfohlen, einen dedizierten Matrix-Account hierfür anzulegen. Der Zugangstoken kann in einem Incognito-Tab über den Element-Webclient geholt werden: Benutzermenü (oben links) > Alle Einstellungen > Hilfe & Über > Erweitert > Zugangstoken (direkt unter der Homeserver-URL). Schließe das Incognito-Tab dann (Abmelden würde den Token ungültig werden lassen). settings.matrix.access_token_helper = Es wird empfohlen, einen dedizierten Matrix-Account hierfür anzulegen. Der Zugangstoken kann in einem Incognito-Tab über den Element-Webclient geholt werden: Benutzermenü (oben links) > Alle Einstellungen > Hilfe & Über > Erweitert > Zugangstoken (direkt unter der Homeserver-URL). Schließe das Incognito-Tab dann (Abmelden würde den Token ungültig werden lassen).
release.hide_archive_links = Automatisch generierte Archive verstecken release.hide_archive_links = Automatisch generierte Archive verstecken
release.hide_archive_links_helper = Verstecke automatisch generierte Quellcodearchive für diesen Release. Zum Beispiel, wenn du deine eigenen hochlädst. release.hide_archive_links_helper = Verstecke automatisch generierte Quellcodearchive für diesen Release. Zum Beispiel, wenn du deine eigenen hochlädst.
settings.transfer.button = Besitz übertragen
settings.transfer.modal.title = Besitz übertragen
[graphs] [graphs]
@ -2868,7 +2865,6 @@ teams.invite.title=Du wurdest eingeladen, dem Team <strong>%s</strong> in der Or
teams.invite.by=Von %s eingeladen teams.invite.by=Von %s eingeladen
teams.invite.description=Bitte klicke auf die folgende Schaltfläche, um dem Team beizutreten. 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. follow_blocked_user = Du kannst dieser Organisation nicht folgen, weil diese Organisation dich blockiert hat.
open_dashboard = Übersicht öffnen
[admin] [admin]
dashboard=Übersicht dashboard=Übersicht
@ -2961,8 +2957,8 @@ dashboard.total_gc_time=Gesamte GC-Pause
dashboard.total_gc_pause=Gesamte GC-Pause dashboard.total_gc_pause=Gesamte GC-Pause
dashboard.last_gc_pause=Letzte GC-Pause dashboard.last_gc_pause=Letzte GC-Pause
dashboard.gc_times=GC-Zeiten dashboard.gc_times=GC-Zeiten
dashboard.delete_old_actions=Alle alten Aktivitäten aus der Datenbank löschen dashboard.delete_old_actions=Alle alten Aktionen aus der Datenbank löschen
dashboard.delete_old_actions.started=Löschen aller alten Aktivitäten aus der Datenbank gestartet. dashboard.delete_old_actions.started=Löschen aller alten Aktionen in der Datenbank gestartet.
dashboard.update_checker=Update-Checker dashboard.update_checker=Update-Checker
dashboard.delete_old_system_notices=Alle alten Systemmeldungen aus der Datenbank löschen dashboard.delete_old_system_notices=Alle alten Systemmeldungen aus der Datenbank löschen
dashboard.gc_lfs=Garbage-Collection für LFS Meta-Objekte ausführen dashboard.gc_lfs=Garbage-Collection für LFS Meta-Objekte ausführen
@ -2988,7 +2984,7 @@ users.repos=Repos
users.created=Registriert am users.created=Registriert am
users.last_login=Letzte Anmeldung users.last_login=Letzte Anmeldung
users.never_login=Hat sich noch nie eingeloggt users.never_login=Hat sich noch nie eingeloggt
users.send_register_notify=Benachrichtigung über Registrierung per E-Mail users.send_register_notify=Benutzer-Registrierungsbenachrichtigung senden
users.new_success=Der Account „%s“ wurde erstellt. users.new_success=Der Account „%s“ wurde erstellt.
users.edit=Bearbeiten users.edit=Bearbeiten
users.auth_source=Authentifizierungsquelle users.auth_source=Authentifizierungsquelle
@ -3396,7 +3392,7 @@ notices.desc=Beschreibung
notices.op=Aktion notices.op=Aktion
notices.delete_success=Diese Systemmeldung wurde gelöscht. notices.delete_success=Diese Systemmeldung wurde gelöscht.
self_check.database_fix_mysql = Für MySQL-/MariaDB-Benutzer: Du kannst den Befehl „gitea doctor convert“ verwenden, um die Collation-Probleme zu lösen, oder du kannst das Problem mit „ALTER … COLLATE …“-SQLs manuell lösen. self_check.database_fix_mysql = Für MySQL-/MariaDB-Benutzer: Du kannst den Befehl „gitea doctor convert“ verwenden, um die Collation-Probleme zu lösen, oder du kannst das Problem mit „ALTER … COLLATE …“-SQLs manuell lösen.
dashboard.sync_tag.started = Tag-Synchronisierung gestartet dashboard.sync_tag.started = Tags-Synchronisierung gestartet
self_check.database_collation_case_insensitive = Datenbank benutzt eine Collation %s, welcher der Groß-/Kleinschreibung egal ist. Obwohl Forgejo damit arbeiten könnte, könnte es ein paar seltene Fälle geben, bei denen es nicht wie erwartet funktioniert. self_check.database_collation_case_insensitive = Datenbank benutzt eine Collation %s, welcher der Groß-/Kleinschreibung egal ist. Obwohl Forgejo damit arbeiten könnte, könnte es ein paar seltene Fälle geben, bei denen es nicht wie erwartet funktioniert.
self_check = Selbstprüfung self_check = Selbstprüfung
dashboard.sync_repo_tags = Tags aus Git-Daten zu Datenbank synchronisieren dashboard.sync_repo_tags = Tags aus Git-Daten zu Datenbank synchronisieren
@ -3411,7 +3407,6 @@ config_settings = Einstellungen
config.open_with_editor_app_help = Die „Öffnen mit“-Editoren für das Klonmenü. Falls es leer gelassen wird, wird der Standardwert benutzt. Erweitern, um den Standardwert zu sehen. config.open_with_editor_app_help = Die „Öffnen mit“-Editoren für das Klonmenü. Falls es leer gelassen wird, wird der Standardwert benutzt. Erweitern, um den Standardwert zu sehen.
config_summary = Zusammenfassung config_summary = Zusammenfassung
auths.tip.gitlab_new = Registriere eine neue Anwendung auf https://gitlab.com/-/profile/applications auths.tip.gitlab_new = Registriere eine neue Anwendung auf https://gitlab.com/-/profile/applications
auths.default_domain_name = Standarddomainname, der für die E-Mail-Adresse benutzt wird
[action] [action]
@ -3630,7 +3625,7 @@ owner.settings.cargo.rebuild=Index neu erstellen
owner.settings.cargo.rebuild.description=Neubauen kann hilfreich sein, wenn der Index nicht mit den gespeicherten Cargo-Paketen synchronisiert ist. owner.settings.cargo.rebuild.description=Neubauen kann hilfreich sein, wenn der Index nicht mit den gespeicherten Cargo-Paketen synchronisiert ist.
owner.settings.cargo.rebuild.error=Cargo-Index konnte nicht neu erstellt werden: %v owner.settings.cargo.rebuild.error=Cargo-Index konnte nicht neu erstellt werden: %v
owner.settings.cargo.rebuild.success=Der Cargo-Index wurde erfolgreich neu erstellt. owner.settings.cargo.rebuild.success=Der Cargo-Index wurde erfolgreich neu erstellt.
owner.settings.cleanuprules.title=Bereinigungsregeln owner.settings.cleanuprules.title=Bereinigungsregeln verwalten
owner.settings.cleanuprules.add=Bereinigungsregel hinzufügen owner.settings.cleanuprules.add=Bereinigungsregel hinzufügen
owner.settings.cleanuprules.edit=Bereinigungsregel bearbeiten owner.settings.cleanuprules.edit=Bereinigungsregel bearbeiten
owner.settings.cleanuprules.none=Es bestehen derzeit keine Bereinigungsregeln. owner.settings.cleanuprules.none=Es bestehen derzeit keine Bereinigungsregeln.
@ -3657,7 +3652,6 @@ rpm.repository = Repository-Info
rpm.repository.multiple_groups = Dieses Paket ist in mehreren Gruppen verfügbar. rpm.repository.multiple_groups = Dieses Paket ist in mehreren Gruppen verfügbar.
rpm.repository.architectures = Architekturen rpm.repository.architectures = Architekturen
owner.settings.cargo.rebuild.no_index = Kann nicht erneut erzeugen, es wurde kein Index initialisiert. owner.settings.cargo.rebuild.no_index = Kann nicht erneut erzeugen, es wurde kein Index initialisiert.
npm.dependencies.bundle = Gebündelte Abhängigkeiten
[secrets] [secrets]
secrets=Secrets secrets=Secrets
@ -3677,7 +3671,7 @@ management=Secrets verwalten
[actions] [actions]
actions=Actions actions=Actions
unit.desc=Integrierte CI/CD-Pipelines mit Forgejo-Actions verwalten unit.desc=Actions verwalten
status.unknown=Unbekannt status.unknown=Unbekannt
status.waiting=Wartend status.waiting=Wartend

View file

@ -144,12 +144,12 @@ value=Τιμή
toggle_menu = Μενού toggle_menu = Μενού
confirm_delete_artifact = Είστε βέβαιοι πως θέλετε να διαγράψετε το προϊόν «%s»; confirm_delete_artifact = Είστε βέβαιοι πως θέλετε να διαγράψετε το προϊόν «%s»;
filter = Φίλτρο filter = Φίλτρο
filter.is_archived = Αρχειοθετημένα filter.is_archived = Αρχειοθετημένο
filter.clear = Απενεργοποίηση φίλτρου filter.clear = Απενεργοποίηση φίλτρου
filter.not_archived = Μη αρχειοθετημένα filter.not_archived = Μη αρχειοθετημένα
filter.is_template = Πρότυπα filter.is_template = Πρότυπο
filter.public = Δημόσια filter.public = Δημόσιο
filter.private = Ιδιωτικά filter.private = Ιδιωτικό
filter.not_fork = Εξαίρεση fork filter.not_fork = Εξαίρεση fork
filter.is_mirror = Είδωλα filter.is_mirror = Είδωλα
filter.not_mirror = Εξαίρεση ειδώλων filter.not_mirror = Εξαίρεση ειδώλων
@ -169,7 +169,7 @@ number_of_contributions_in_the_last_12_months=%s συνεισφορές τους
contributions_zero=Χωρίς συνεισφορές contributions_zero=Χωρίς συνεισφορές
less=Λιγότερα less=Λιγότερα
more=Περισσότερα more=Περισσότερα
contributions_format = {contributions} στις {day} {month} του έτους {year} contributions_format = {contributions} στις {day} του μήνα {month} του έτους {year}
contributions_one = συνεισφορά contributions_one = συνεισφορά
contributions_few = συνεισφορές contributions_few = συνεισφορές
@ -497,7 +497,7 @@ issue.action.reopen=Ο/Η <b>@%[1]s</b> άνοιξε ξανά το #%[2]d.
issue.action.merge=Ο/Η <b>@%[1]s</b> συγχώνευσε το #%[2]d στο %[3]s. issue.action.merge=Ο/Η <b>@%[1]s</b> συγχώνευσε το #%[2]d στο %[3]s.
issue.action.approve=<b>@%[1]s</b> ενέκρινε αυτό το pull request. issue.action.approve=<b>@%[1]s</b> ενέκρινε αυτό το pull request.
issue.action.reject=<b>@%[1]s</b> ζήτησε αλλαγές σε αυτό το pull request. issue.action.reject=<b>@%[1]s</b> ζήτησε αλλαγές σε αυτό το pull request.
issue.action.review=<b>@%[1]s</b> άφησε σχόλιο σε αυτό το pull request. issue.action.review=<b>@%[1]s</b> σχολίασε αυτό το pull request.
issue.action.review_dismissed=<b>@%[1]s</b> απέρριψε την τελευταία αναθεώρηση από %[2]s για αυτό το pull request. issue.action.review_dismissed=<b>@%[1]s</b> απέρριψε την τελευταία αναθεώρηση από %[2]s για αυτό το pull request.
issue.action.ready_for_review=Ο/Η <b>@%[1]s</b> επισήμανε πως αυτό το pull request είναι έτοιμο για αξιολόγηση. issue.action.ready_for_review=Ο/Η <b>@%[1]s</b> επισήμανε πως αυτό το pull request είναι έτοιμο για αξιολόγηση.
issue.action.new=Ο/Η <b>@%[1]s</b> δημιούργησε το #%[2]d. issue.action.new=Ο/Η <b>@%[1]s</b> δημιούργησε το #%[2]d.
@ -645,11 +645,11 @@ overview=Επισκόπηση
following_few=%d ακολουθεί following_few=%d ακολουθεί
follow=Ακολούθηση follow=Ακολούθηση
unfollow=Να μην ακολουθώ unfollow=Να μην ακολουθώ
user_bio=Περιγραφή user_bio=Βιογραφικό
disabled_public_activity=Αυτός ο χρήστης έχει απενεργοποιήσει τη δημόσια προβολή της δραστηριότητας του. disabled_public_activity=Αυτός ο χρήστης έχει απενεργοποιήσει τη δημόσια προβολή της δραστηριότητας του.
email_visibility.limited=Η διεύθυνση email σας είναι ορατή σε κάθε ταυτοποιημένο χρήστη email_visibility.limited=Η διεύθυνση email σας είναι ορατή σε όλους τους ταυτοποιημένους χρήστες
email_visibility.private=Η διεύθυνση email σας είναι ορατή μόνο σε εσάς και στους διαχειριστές email_visibility.private=Η διεύθυνση email σας είναι ορατή μόνο σε εσάς και στους διαχειριστές
show_on_map=Προβολή σε χάρτη show_on_map=Δείτε το μέρος αυτό σε έναν χάρτη
settings=Ρυθμίσεις χρήστη settings=Ρυθμίσεις χρήστη
form.name_reserved=Το όνομα χρήστη «%s» είναι δεσμευμένο. form.name_reserved=Το όνομα χρήστη «%s» είναι δεσμευμένο.
@ -945,7 +945,7 @@ webauthn_key_loss_warning=Αν χάσετε τα κλειδιά ασφαλεία
webauthn_alternative_tip=Μπορεί να θέλετε να ρυθμίσετε μια πρόσθετη μέθοδο ταυτοποίησης. webauthn_alternative_tip=Μπορεί να θέλετε να ρυθμίσετε μια πρόσθετη μέθοδο ταυτοποίησης.
manage_account_links=Διαχείριση Συνδεδεμένων Λογαριασμών manage_account_links=Διαχείριση Συνδεδεμένων Λογαριασμών
manage_account_links_desc=Αυτοί οι εξωτερικοί λογαριασμοί είναι συνδεδεμένοι στον λογαριασμό Forgejo σας. manage_account_links_desc=Αυτοί οι εξωτερικοί λογαριασμοί είναι συνδεδεμένοι στον Forgejo λογαριασμό σας.
account_links_not_available=Προς το παρόν δεν υπάρχουν εξωτερικοί λογαριασμοί συνδεδεμένοι με τον λογαριασμό σας στο Forgejo. account_links_not_available=Προς το παρόν δεν υπάρχουν εξωτερικοί λογαριασμοί συνδεδεμένοι με τον λογαριασμό σας στο Forgejo.
link_account=Σύνδεση Λογαριασμού link_account=Σύνδεση Λογαριασμού
remove_account_link=Αφαίρεση συνδεδεμένου λογαριασμού remove_account_link=Αφαίρεση συνδεδεμένου λογαριασμού
@ -965,7 +965,7 @@ delete_account_title=Διαγραφή λογαριασμού χρήστη
delete_account_desc=Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα αυτό τον λογαριασμό; delete_account_desc=Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα αυτό τον λογαριασμό;
email_notifications.enable=Ενεργοποίηση ειδοποιήσεων email email_notifications.enable=Ενεργοποίηση ειδοποιήσεων email
email_notifications.onmention=Να λαμβάνω email μόνο όταν αναφέρομαι email_notifications.onmention=Να λαμβάνω email μόνο όταν με αναφέρουν
email_notifications.disable=Απενεργοποίηση ειδοποιήσεων email email_notifications.disable=Απενεργοποίηση ειδοποιήσεων email
email_notifications.submit=Ορισμός κύριου email email_notifications.submit=Ορισμός κύριου email
email_notifications.andyourown=Και τις δικιές σας ειδοποιήσεις email_notifications.andyourown=Και τις δικιές σας ειδοποιήσεις
@ -980,12 +980,12 @@ visibility.private_tooltip=Ορατό μόνο στα μέλη των οργαν
blocked_users_none = Δεν έχετε αποκλείσει κανέναν χρήστη. blocked_users_none = Δεν έχετε αποκλείσει κανέναν χρήστη.
blocked_since = Αποκλεισμένος από %s blocked_since = Αποκλεισμένος από %s
user_unblock_success = Η άρση αποκλεισμού του χρήστη ήταν επιτυχής. user_unblock_success = Η άρση αποκλεισμού του χρήστη ήταν επιτυχής.
change_password = Αλλαγή κωδικού change_password = Αλλαγή κωδικού πρόσβασης
blocked_users = Αποκλεισμένοι χρήστες blocked_users = Αποκλεισμένοι χρήστες
user_block_success = Ο αποκλεισμός του χρήστη ήταν επιτυχής. user_block_success = Ο αποκλεισμός του χρήστη ήταν επιτυχής.
additional_repo_units_hint = Να γίνεται ενθάρρυνση προσθήκης μονάδων σε αποθετήρια additional_repo_units_hint = Να γίνεται ενθάρρυνση προσθήκης μονάδων σε αποθετήρια
pronouns = Αντωνυμίες pronouns = Αντωνυμίες
pronouns_custom = κάτι άλλο pronouns_custom = Κάποια άλλη προτίμηση
pronouns_unspecified = Απροσδιόριστες pronouns_unspecified = Απροσδιόριστες
hints = Συμβουλές hints = Συμβουλές
additional_repo_units_hint_description = Εμφάνιση κουμπιού «Προσθήκη μονάδων...» σε αποθετήρια που δεν έχουν ενεργοποιημένες όλες τις διαθέσιμες μονάδες. additional_repo_units_hint_description = Εμφάνιση κουμπιού «Προσθήκη μονάδων...» σε αποθετήρια που δεν έχουν ενεργοποιημένες όλες τις διαθέσιμες μονάδες.
@ -1042,7 +1042,7 @@ trust_model_helper=Επιλέξτε ένα μοντέλο εμπιστοσύνη
trust_model_helper_collaborator=Συνεργάτης: Εμπιστοσύνη υπογραφών από συνεργάτες trust_model_helper_collaborator=Συνεργάτης: Εμπιστοσύνη υπογραφών από συνεργάτες
trust_model_helper_committer=Υποβολέας: Εμπιστοσύνη των υπογραφών που ταιριάζουν με τους υποβολείς trust_model_helper_committer=Υποβολέας: Εμπιστοσύνη των υπογραφών που ταιριάζουν με τους υποβολείς
trust_model_helper_collaborator_committer=Συνεργάτης+Υποβολέας: Εμπιστοσύνη των υπογραφών από συνεργάτες που ταιριάζουν με τον υποβολέα trust_model_helper_collaborator_committer=Συνεργάτης+Υποβολέας: Εμπιστοσύνη των υπογραφών από συνεργάτες που ταιριάζουν με τον υποβολέα
trust_model_helper_default=Προεπιλογή: Χρήση προεπιλεγμένου μοντέλου εμπιστοσύνης της υπηρεσίας trust_model_helper_default=Προεπιλογή: Χρήση προεπιλεγμένου μοντέλου εμπιστοσύνης για αυτήν την εγκατάσταση
create_repo=Δημιουργία αποθετηρίου create_repo=Δημιουργία αποθετηρίου
default_branch=Προεπιλεγμένος κλάδος default_branch=Προεπιλεγμένος κλάδος
default_branch_label=προεπιλογή default_branch_label=προεπιλογή
@ -1183,9 +1183,9 @@ fork_from_self=Δεν μπορείτε να κάνετε fork σε ένα απο
fork_guest_user=Συνδεθείτε για να κάνετε fork αυτό το αποθετήριο. fork_guest_user=Συνδεθείτε για να κάνετε fork αυτό το αποθετήριο.
watch_guest_user=Συνδεθείτε για να παρακολουθήσετε αυτό το αποθετήριο. watch_guest_user=Συνδεθείτε για να παρακολουθήσετε αυτό το αποθετήριο.
star_guest_user=Συνδεθείτε για να δώσετε ένα αστέρι σε αυτό το αποθετήριο. star_guest_user=Συνδεθείτε για να δώσετε ένα αστέρι σε αυτό το αποθετήριο.
unwatch=Παύση ακολούθησης unwatch=Μη Παρακολούθηση
watch=Παρακολούθηση watch=Παρακολούθηση
unstar=Αφαίρεση αστεριού unstar=Όχι Αστέρι
star=Αστέρι star=Αστέρι
fork=Fork fork=Fork
download_archive=Λήψη αποθετηρίου download_archive=Λήψη αποθετηρίου
@ -1340,7 +1340,7 @@ commits.nothing_to_compare=Αυτοί οι κλάδοι είναι όμοιοι.
commits.search=Αναζήτηση υποβολών… commits.search=Αναζήτηση υποβολών…
commits.search.tooltip=Μπορείτε να προθέτετε τις λέξεις-κλειδιά με "author:", "committer:", "after:", ή "before:", π.χ. "επαναφορά author:Alice before:2019-01-13". commits.search.tooltip=Μπορείτε να προθέτετε τις λέξεις-κλειδιά με "author:", "committer:", "after:", ή "before:", π.χ. "επαναφορά author:Alice before:2019-01-13".
commits.find=Αναζήτηση commits.find=Αναζήτηση
commits.search_all=Όλοι οι κλάδοι commits.search_all=Όλοι Οι Κλάδοι
commits.author=Συγγραφέας commits.author=Συγγραφέας
commits.message=Μήνυμα commits.message=Μήνυμα
commits.date=Ημερομηνία commits.date=Ημερομηνία
@ -1475,7 +1475,7 @@ issues.change_title_at=`άλλαξε το τίτλο από <b><strike>%s</strik
issues.change_ref_at=`άλλαξε την αναφορά από <b><strike>%s</strike></b> σε <b>%s</b> %s` issues.change_ref_at=`άλλαξε την αναφορά από <b><strike>%s</strike></b> σε <b>%s</b> %s`
issues.remove_ref_at=`αφαίρεση την αναφορά <b>%s</b> %s` issues.remove_ref_at=`αφαίρεση την αναφορά <b>%s</b> %s`
issues.add_ref_at=`πρόσθεσε την αναφορά <b>%s</b> %s` issues.add_ref_at=`πρόσθεσε την αναφορά <b>%s</b> %s`
issues.delete_branch_at=`διέγραψε τον κλάδο <b>%s</b> %s` issues.delete_branch_at=`διέγραψε το κλάδο <b>%s</b> %s`
issues.filter_label=Σήμα issues.filter_label=Σήμα
issues.filter_label_exclude=`Χρησιμοποιήστε <code>alt</code> + <code>κάντε κλικ/Enter</code> για να εξαιρέσετε τις σημάνσεις` issues.filter_label_exclude=`Χρησιμοποιήστε <code>alt</code> + <code>κάντε κλικ/Enter</code> για να εξαιρέσετε τις σημάνσεις`
issues.filter_label_no_select=Όλα τα σήματα issues.filter_label_no_select=Όλα τα σήματα
@ -1503,8 +1503,8 @@ issues.filter_type.reviewed_by_you=Ελέγχθηκε από εσάς
issues.filter_sort=Ταξινόμηση issues.filter_sort=Ταξινόμηση
issues.filter_sort.latest=Νεότερα issues.filter_sort.latest=Νεότερα
issues.filter_sort.oldest=Παλαιότερα issues.filter_sort.oldest=Παλαιότερα
issues.filter_sort.recentupdate=Πρόσφατη δραστηριότητα issues.filter_sort.recentupdate=Ενημερώθηκαν πρόσφατα
issues.filter_sort.leastupdate=Ανενεργή δραστηριότητα issues.filter_sort.leastupdate=Ενημερώθηκαν παλαιότερα
issues.filter_sort.mostcomment=Περισσότερα σχόλια issues.filter_sort.mostcomment=Περισσότερα σχόλια
issues.filter_sort.leastcomment=Λιγότερα σχόλια issues.filter_sort.leastcomment=Λιγότερα σχόλια
issues.filter_sort.nearduedate=Πλησιέστερη ημερομηνία παράδοσης issues.filter_sort.nearduedate=Πλησιέστερη ημερομηνία παράδοσης
@ -1529,9 +1529,9 @@ pulls.merged_by_fake=από %[2]s συγχωνεύθηκε %[1]s
issues.closed_by=από <a href="%[2]s">%[3]s</a> έκλεισαν %[1]s issues.closed_by=από <a href="%[2]s">%[3]s</a> έκλεισαν %[1]s
issues.opened_by_fake=άνοιξε το %[1]s από %[2]s issues.opened_by_fake=άνοιξε το %[1]s από %[2]s
issues.closed_by_fake=από %[2]s έκλεισαν %[1]s issues.closed_by_fake=από %[2]s έκλεισαν %[1]s
issues.previous=Προηγούμενη issues.previous=Προηγούμενο
issues.next=Επόμενη issues.next=Επόμενο
issues.open_title=Ανοιχτά issues.open_title=Ανοικτό
issues.closed_title=Κλειστά issues.closed_title=Κλειστά
issues.draft_title=Προσχέδιο issues.draft_title=Προσχέδιο
issues.num_comments_1=%d σχόλιο issues.num_comments_1=%d σχόλιο
@ -1602,8 +1602,8 @@ issues.label_deletion_desc=Η διαγραφή ενός σήματος θα το
issues.label_deletion_success=Το σήμα έχει διαγραφεί. issues.label_deletion_success=Το σήμα έχει διαγραφεί.
issues.label.filter_sort.alphabetically=Αλφαβητικά issues.label.filter_sort.alphabetically=Αλφαβητικά
issues.label.filter_sort.reverse_alphabetically=Αντίστροφα αλφαβητικά issues.label.filter_sort.reverse_alphabetically=Αντίστροφα αλφαβητικά
issues.label.filter_sort.by_size=Μικρότερου μεγέθους issues.label.filter_sort.by_size=Μικρότερο μέγεθος
issues.label.filter_sort.reverse_by_size=Μεγαλύτερου μεγέθους issues.label.filter_sort.reverse_by_size=Μεγαλύτερο μέγεθος
issues.num_participants_few=%d Συμμετέχοντες issues.num_participants_few=%d Συμμετέχοντες
issues.attachment.open_tab=`Πατήστε εδώ για να ανοίξετε το «%s» σε μια νέα καρτέλα` issues.attachment.open_tab=`Πατήστε εδώ για να ανοίξετε το «%s» σε μια νέα καρτέλα`
issues.attachment.download=`Πατήστε εδώ για να κατεβάσετε το «%s»` issues.attachment.download=`Πατήστε εδώ για να κατεβάσετε το «%s»`
@ -1708,7 +1708,7 @@ issues.dependency.add_error_cannot_create_circular=Δεν μπορείτε να
issues.dependency.add_error_dep_not_same_repo=Και τα δύο ζητήματα πρέπει να βρίσκονται στο ίδιο αποθετήριο. issues.dependency.add_error_dep_not_same_repo=Και τα δύο ζητήματα πρέπει να βρίσκονται στο ίδιο αποθετήριο.
issues.review.self.approval=Δεν μπορείτε να εγκρίνετε το δικό σας pull request. issues.review.self.approval=Δεν μπορείτε να εγκρίνετε το δικό σας pull request.
issues.review.self.rejection=Δεν μπορείτε να ζητήσετε αλλαγές στο δικό σας pull request. issues.review.self.rejection=Δεν μπορείτε να ζητήσετε αλλαγές στο δικό σας pull request.
issues.review.approve=ενέκρινε τις αλλαγές %s issues.review.approve=ενέκρινε αυτές τις αλλαγές %s
issues.review.comment=αξιολόγησε %s issues.review.comment=αξιολόγησε %s
issues.review.dismissed=απέρριψε την αξιολόγηση του/της %s %s issues.review.dismissed=απέρριψε την αξιολόγηση του/της %s %s
issues.review.dismissed_label=Απορρίφθηκε issues.review.dismissed_label=Απορρίφθηκε
@ -1773,8 +1773,8 @@ pulls.showing_specified_commit_range=Εμφάνιση μόνο των αλλαγ
pulls.select_commit_hold_shift_for_range=Επιλέξτε υποβολή. Κρατήστε πατημένο το shift + κάντε κλικ για να επιλέξετε ένα εύρος pulls.select_commit_hold_shift_for_range=Επιλέξτε υποβολή. Κρατήστε πατημένο το shift + κάντε κλικ για να επιλέξετε ένα εύρος
pulls.review_only_possible_for_full_diff=Η αξιολόγηση είναι δυνατή μόνο κατά την προβολή της πλήρης διαφοράς pulls.review_only_possible_for_full_diff=Η αξιολόγηση είναι δυνατή μόνο κατά την προβολή της πλήρης διαφοράς
pulls.filter_changes_by_commit=Φιλτράρισμα κατά υποβολή pulls.filter_changes_by_commit=Φιλτράρισμα κατά υποβολή
pulls.nothing_to_compare=Αυτοί οι κλάδοι είναι ίδιοι. Δεν χρειάζεται να δημιουργήσετε ένα pull request. pulls.nothing_to_compare=Αυτοί οι κλάδοι είναι όμοιοι. Δεν υπάρχει ανάγκη να δημιουργήσετε ένα pull request.
pulls.nothing_to_compare_and_allow_empty_pr=Αυτοί οι κλάδοι είναι ίδιοι. Αυτό το PR θα είναι κενό. pulls.nothing_to_compare_and_allow_empty_pr=Αυτοί οι κλάδοι είναι ίσοι. Αυτό το PR θα είναι κενό.
pulls.has_pull_request=`Υπάρχει ήδη pull request μεταξύ αυτών των κλάδων: <a href="%[1]s">%[2]s#%[3]d</a>` pulls.has_pull_request=`Υπάρχει ήδη pull request μεταξύ αυτών των κλάδων: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Δημιουργία pull request pulls.create=Δημιουργία pull request
pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="branch_target">%[3]s</code> pulls.title_desc_few=θέλει να συγχωνεύσει %[1]d υποβολές από <code>%[2]s</code> σε <code id="branch_target">%[3]s</code>
@ -1877,7 +1877,7 @@ pulls.clear_merge_message_hint=Η εκκαθάριση του μηνύματος
pulls.auto_merge_button_when_succeed=(Όταν οι έλεγχοι πετύχουν) pulls.auto_merge_button_when_succeed=(Όταν οι έλεγχοι πετύχουν)
pulls.auto_merge_when_succeed=Αυτόματη συγχώνευση όταν όλοι οι έλεγχοι πετύχουν pulls.auto_merge_when_succeed=Αυτόματη συγχώνευση όταν όλοι οι έλεγχοι πετύχουν
pulls.auto_merge_newly_scheduled=Το pull request προγραμματίστηκε για συγχώνευση όταν όλοι οι έλεγχοι πετύχουν. pulls.auto_merge_newly_scheduled=Το pull request προγραμματίστηκε για συγχώνευση όταν όλοι οι έλεγχοι πετύχουν.
pulls.auto_merge_has_pending_schedule=%[1]s προγραμμάτισε την αυτόματη συγχώνευση του pull request όταν όλοι οι έλεγχοι πετύχουν %[2]s. pulls.auto_merge_has_pending_schedule=%[1]s προγραμμάτισε αυτό το pull request για αυτόματη συγχώνευση όταν όλοι οι έλεγχοι πετύχουν %[2]s.
pulls.auto_merge_cancel_schedule=Ακύρωση αυτόματης συγχώνευσης pulls.auto_merge_cancel_schedule=Ακύρωση αυτόματης συγχώνευσης
pulls.auto_merge_not_scheduled=Αυτό το pull request δεν έχει προγραμματιστεί να συγχωνευτεί αυτόματα. pulls.auto_merge_not_scheduled=Αυτό το pull request δεν έχει προγραμματιστεί να συγχωνευτεί αυτόματα.
@ -1944,7 +1944,7 @@ wiki=Wiki
wiki.welcome=Καλώς ήρθατε στο Wiki. wiki.welcome=Καλώς ήρθατε στο Wiki.
wiki.welcome_desc=Το wiki σας επιτρέπει να γράψετε και να μοιραστείτε τεκμηριώσεις (documentation) με άλλους συνεργάτες. wiki.welcome_desc=Το wiki σας επιτρέπει να γράψετε και να μοιραστείτε τεκμηριώσεις (documentation) με άλλους συνεργάτες.
wiki.desc=Γράψτε και μοιραστείτε τεκμηριώσεις με συνεργάτες. wiki.desc=Γράψτε και μοιραστείτε τεκμηριώσεις με συνεργάτες.
wiki.create_first_page=Δημιουργία πρώτης σελίδας wiki.create_first_page=Δημιουργία της πρώτης σελίδας
wiki.page=Σελίδα wiki.page=Σελίδα
wiki.filter_page=Φιλτράρισμα σελίδας wiki.filter_page=Φιλτράρισμα σελίδας
wiki.new_page=Σελίδα wiki.new_page=Σελίδα
@ -1981,7 +1981,7 @@ activity.active_prs_count_1=<strong>%d</strong> ενεργό pull request
activity.active_prs_count_n=<strong>%d</strong> ενεργά pull request activity.active_prs_count_n=<strong>%d</strong> ενεργά pull request
activity.merged_prs_count_1=Συγχωνευμένο pull request activity.merged_prs_count_1=Συγχωνευμένο pull request
activity.merged_prs_count_n=Συγχωνευμένα pull request activity.merged_prs_count_n=Συγχωνευμένα pull request
activity.opened_prs_count_1=Νέα pull request activity.opened_prs_count_1=Συνιστώμενο pull request
activity.opened_prs_count_n=Συνιστώμενα pull requests activity.opened_prs_count_n=Συνιστώμενα pull requests
activity.title.user_1=%d χρήστη activity.title.user_1=%d χρήστη
activity.title.user_n=%d χρήστες activity.title.user_n=%d χρήστες
@ -1993,12 +1993,12 @@ activity.merged_prs_label=Συγχωνευμένο
activity.opened_prs_label=Προτεινόμενα activity.opened_prs_label=Προτεινόμενα
activity.active_issues_count_1=<strong>%d</strong> ενεργό ζήτημα activity.active_issues_count_1=<strong>%d</strong> ενεργό ζήτημα
activity.active_issues_count_n=<strong>%d</strong> ενεργά ζητήματα activity.active_issues_count_n=<strong>%d</strong> ενεργά ζητήματα
activity.closed_issues_count_1=Κλεισμένα ζητήματα activity.closed_issues_count_1=Κλειστό ζήτημα
activity.closed_issues_count_n=Κλειστά ζητήματα activity.closed_issues_count_n=Κλειστά ζητήματα
activity.title.issues_1=%d ζήτημα activity.title.issues_1=%d ζήτημα
activity.title.issues_n=%d ζητήματα activity.title.issues_n=%d ζητήματα
activity.title.issues_closed_from=%s κλείστηκαν από %s activity.title.issues_closed_from=%s έκλεισε από %s
activity.title.issues_created_by=%s δημιουργήθηκαν από %s activity.title.issues_created_by=%s δημιουργήθηκε από %s
activity.closed_issue_label=Κλειστό activity.closed_issue_label=Κλειστό
activity.new_issues_count_1=Νέο ζήτημα activity.new_issues_count_1=Νέο ζήτημα
activity.new_issues_count_n=Νέα ζητήματα activity.new_issues_count_n=Νέα ζητήματα
@ -2059,9 +2059,9 @@ settings.hooks=Webhooks
settings.githooks=Git hooks settings.githooks=Git hooks
settings.basic_settings=Βασικές ρυθμίσεις settings.basic_settings=Βασικές ρυθμίσεις
settings.mirror_settings=Ρυθμίσεις ειδώλου settings.mirror_settings=Ρυθμίσεις ειδώλου
settings.mirror_settings.docs=Ρυθμίστε τον αυτόματο συγχρονισμό των υποβολών, ετικετών και κλάδων του αποθετηρίου σας σε ένα άλλο αποθετήριο. settings.mirror_settings.docs=Ρυθμίστε το αποθετήριο σας ώστε να συγχρονίζονται αυτόματα οι υποβολές, ετικέτες και κλάδοι με ένα άλλο αποθετήριο.
settings.mirror_settings.docs.disabled_pull_mirror.instructions=Ρυθμίστε τον αυτόματο συγχρονισμό των υποβολών, ετικετών και κλάδων του έργου σας με ένα άλλο αποθετήριο. Τα είδωλα τύπου λήψης έχουν απενεργοποιηθεί από τον διαχειριστή σας. settings.mirror_settings.docs.disabled_pull_mirror.instructions=Ρυθμίστε το έργο σας για να ωθούνται αυτόματα οι υποβολές, ετικέτες και κλάδοι σε ένα άλλο αποθετήριο. Τα είδωλα τύπου λήψης έχουν απενεργοποιηθεί από τον διαχειριστή σας.
settings.mirror_settings.docs.disabled_push_mirror.instructions=Ρυθμίστε την αυτόματη λήψη υποβολών, ετικετών και κλάδων από ένα άλλο αποθετήριο. settings.mirror_settings.docs.disabled_push_mirror.instructions=Ρυθμίστε το έργο σας να τραβά αυτόματα υποβολές, ετικέτες και κλάδους από ένα άλλο αποθετήριο.
settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning=Αυτή τη στιγμή, αυτό μπορεί να γίνει μόνο στο μενού "Νέα Μεταφορά". Για περισσότερες πληροφορίες, συμβουλευτείτε το: settings.mirror_settings.docs.disabled_push_mirror.pull_mirror_warning=Αυτή τη στιγμή, αυτό μπορεί να γίνει μόνο στο μενού "Νέα Μεταφορά". Για περισσότερες πληροφορίες, συμβουλευτείτε το:
settings.mirror_settings.docs.disabled_push_mirror.info=Τα είδωλα ώθησης έχουν απενεργοποιηθεί από το διαχειριστή σας. settings.mirror_settings.docs.disabled_push_mirror.info=Τα είδωλα ώθησης έχουν απενεργοποιηθεί από το διαχειριστή σας.
settings.mirror_settings.docs.no_new_mirrors=Το αποθετήριο σας αντιγράφει τις αλλαγές προς ή από ένα άλλο αποθετήριο. Λάβετε υπόψη ότι δεν μπορείτε να δημιουργήσετε νέα είδωλα αυτή τη στιγμή. settings.mirror_settings.docs.no_new_mirrors=Το αποθετήριο σας αντιγράφει τις αλλαγές προς ή από ένα άλλο αποθετήριο. Λάβετε υπόψη ότι δεν μπορείτε να δημιουργήσετε νέα είδωλα αυτή τη στιγμή.
@ -2145,7 +2145,7 @@ settings.convert_fork_desc=Μπορείτε να μετατρέψετε αυτό
settings.convert_fork_notices_1=Αυτή η λειτουργία θα μετατρέψει το fork σε ένα κανονικό αποθετήριο και δεν μπορεί να αναιρεθεί. settings.convert_fork_notices_1=Αυτή η λειτουργία θα μετατρέψει το fork σε ένα κανονικό αποθετήριο και δεν μπορεί να αναιρεθεί.
settings.convert_fork_confirm=Μετατροπή αποθετηρίου settings.convert_fork_confirm=Μετατροπή αποθετηρίου
settings.convert_fork_succeed=Το fork έχει μετατραπεί σε κανονικό αποθετήριο. settings.convert_fork_succeed=Το fork έχει μετατραπεί σε κανονικό αποθετήριο.
settings.transfer.title=Μεταβίβαση ιδιοκτησίας settings.transfer=Μεταβίβαση ιδιοκτησίας
settings.transfer.rejected=Η μεταβίβαση του αποθετηρίου απορρίφθηκε. settings.transfer.rejected=Η μεταβίβαση του αποθετηρίου απορρίφθηκε.
settings.transfer.success=Η μεταβίβαση του αποθετηρίου ήταν επιτυχής. settings.transfer.success=Η μεταβίβαση του αποθετηρίου ήταν επιτυχής.
settings.transfer_abort=Ακύρωση μεταβίβασης settings.transfer_abort=Ακύρωση μεταβίβασης
@ -2169,7 +2169,7 @@ settings.trust_model.collaborator=Συνεργάτης
settings.trust_model.collaborator.long=Συνεργάτης: Εμπιστοσύνη υπογραφών από συνεργάτες settings.trust_model.collaborator.long=Συνεργάτης: Εμπιστοσύνη υπογραφών από συνεργάτες
settings.trust_model.collaborator.desc=Οι έγκυρες υπογραφές που προέρχονται από συνεργάτες του αποθετηρίου θα επισημαίνονται ως "αξιόπιστες" - (ανεξάρτητα αν ο υπογραφόμενος συνεργάτης είναι και ο υποβολέας ή όχι). Διαφορετικά, οι έγκυρες υπογραφές θα επισημανθούν ως "αξιόπιστες" μόνο αν η υπογραφή ταιριάζει με τον υποβολέα και, αλλιώς θα χαρακτηριστούν ως "αταίριαστες". settings.trust_model.collaborator.desc=Οι έγκυρες υπογραφές που προέρχονται από συνεργάτες του αποθετηρίου θα επισημαίνονται ως "αξιόπιστες" - (ανεξάρτητα αν ο υπογραφόμενος συνεργάτης είναι και ο υποβολέας ή όχι). Διαφορετικά, οι έγκυρες υπογραφές θα επισημανθούν ως "αξιόπιστες" μόνο αν η υπογραφή ταιριάζει με τον υποβολέα και, αλλιώς θα χαρακτηριστούν ως "αταίριαστες".
settings.trust_model.committer=Υποβολέας settings.trust_model.committer=Υποβολέας
settings.trust_model.committer.long=Υποβολέας: Οι υπογραφές εμπιστοσύνης που ταιριάζουν σε υποβολείς (όπως και στο GitHub, θα αναγκάσει τις υπογεγραμμένες υποβολές του Forgejo να έχουν το Forgejo ως υποβολέα) settings.trust_model.committer.long=Υποβολέας: Οι υπογραφές εμπιστοσύνης που ταιριάζουν σε υποβολείς (Αυτό ταιριάζει με το GitHub και θα αναγκάσει τις υπογεγραμμένες υποβολές από το Forgejo να το έχουν ως υποβολέα)
settings.trust_model.committer.desc=Οι έγκυρες υπογραφές θα σημαίνονται ώς "αξιόπιστη" μόνο εάν ταιριάζουν με τον υποβολέα, διαφορετικά θα σημαίνωνται ως "δεν ταιριάζει". Αυτό αναγκάζει το Forgejo να είναι ο υποβολέας στις υπογεγραμμένες υποβολές με τον πραγματικό υποβολέα να αναφέρεται στην σημείωση Co-authored-by: και Co-committed-by: στην υποβολή. Το προεπιλεγμένο κλειδί Forgejo πρέπει να ταιριάζει σε ένα Χρήστη στη βάση δεδομένων. settings.trust_model.committer.desc=Οι έγκυρες υπογραφές θα σημαίνονται ώς "αξιόπιστη" μόνο εάν ταιριάζουν με τον υποβολέα, διαφορετικά θα σημαίνωνται ως "δεν ταιριάζει". Αυτό αναγκάζει το Forgejo να είναι ο υποβολέας στις υπογεγραμμένες υποβολές με τον πραγματικό υποβολέα να αναφέρεται στην σημείωση Co-authored-by: και Co-committed-by: στην υποβολή. Το προεπιλεγμένο κλειδί Forgejo πρέπει να ταιριάζει σε ένα Χρήστη στη βάση δεδομένων.
settings.trust_model.collaboratorcommitter=Συνεργάτης+Υποβολέας settings.trust_model.collaboratorcommitter=Συνεργάτης+Υποβολέας
settings.trust_model.collaboratorcommitter.long=Συνεργάτης+Υποβολέας: Εμπιστοσύνη υπογραφών από συνεργάτες που ταιριάζουν με τον υποβολέα settings.trust_model.collaboratorcommitter.long=Συνεργάτης+Υποβολέας: Εμπιστοσύνη υπογραφών από συνεργάτες που ταιριάζουν με τον υποβολέα
@ -2691,7 +2691,7 @@ stars = Αστέρια
n_branch_one = %s κλάδος n_branch_one = %s κλάδος
commits.search_branch = Αυτός ο κλάδος commits.search_branch = Αυτός ο κλάδος
pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="branch_target">%[3]s</code> pulls.title_desc_one = : θα ήθελε να συγχωνεύσει %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code id="branch_target">%[3]s</code>
pulls.merged_title_desc_one = συγχώνευσε %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code>%[3]s</code> %[4]s pulls.merged_title_desc_one = : συγχώνευσε %[1]d υποβολή από τον κλάδο <code>%[2]s</code> στον κλάδο <code>%[3]s</code> %[4]s
n_commit_few = %s υποβολές n_commit_few = %s υποβολές
settings.sourcehut_builds.secrets = Μυστικά settings.sourcehut_builds.secrets = Μυστικά
settings.add_webhook.invalid_path = Η τοποθεσία του αρχείου δεν μπορεί να περιέχει κενά, «.» ή «..». Δεν μπορεί να αρχίζει ή να τελειώνει με μία κάθετο. settings.add_webhook.invalid_path = Η τοποθεσία του αρχείου δεν μπορεί να περιέχει κενά, «.» ή «..». Δεν μπορεί να αρχίζει ή να τελειώνει με μία κάθετο.
@ -2871,8 +2871,8 @@ emails=Email χρήστη
config=Διαμόρφωση config=Διαμόρφωση
notices=Ειδοποιήσεις συστήματος notices=Ειδοποιήσεις συστήματος
monitor=Παρακολούθηση monitor=Παρακολούθηση
first_page=Πρώτη first_page=Πρώτο
last_page=Τελευταία last_page=Τελευταίο
total=Σύνολο: %d total=Σύνολο: %d
settings=Ρυθμίσεις διαχειριστή settings=Ρυθμίσεις διαχειριστή
@ -3403,14 +3403,14 @@ self_check.database_collation_case_insensitive = Η βάση δεδομένων
[action] [action]
create_repo=δημιούργησε το αποθετήριο <a href="%s">%s</a> create_repo=δημιούργησε το αποθετήριο <a href="%s">%s</a>
rename_repo=μετονόμασε το αποθετήριο από <code>%[1]s</code> σε <a href="%[2]s">%[3]s</a> rename_repo=μετονόμασε το αποθετήριο από <code>%[1]s</code> σε <a href="%[2]s">%[3]s</a>
commit_repo=έκανε push στο <a href="%[2]s">%[3]s</a> του <a href="%[1]s">%[4]s</a> commit_repo=έκανε push στο <a href="%[2]s">%[3]s</a> σε <a href="%[1]s">%[4]s</a>
create_issue=`άνοιξε το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>` create_issue=`άνοιξε το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`έκλεισε το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>` close_issue=`έκλεισε το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_issue=`άνοιξε ξανά το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>` reopen_issue=`άνοιξε ξανά το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>`
create_pull_request=`δημιούργησε το pull request <a href="%[1]s">%[3]s#%[2]s</a>` create_pull_request=`δημιούργησε το pull request <a href="%[1]s">%[3]s#%[2]s</a>`
close_pull_request=`έκλεισε pull request <a href="%[1]s">%[3]s#%[2]s</a>` close_pull_request=`έκλεισε pull request <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request=`άνοιξε ξανά το pull request <a href="%[1]s">%[3]s#%[2]s</a>` reopen_pull_request=`άνοιξε ξανά το pull request <a href="%[1]s">%[3]s#%[2]s</a>`
comment_issue=`άφησε σχόλιο στο ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>` comment_issue=`σχολίασε το ζήτημα <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`σχολίασε στο pull request <a href="%[1]s">%[3]s#%[2]s</a>` comment_pull=`σχολίασε στο pull request <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`συγχώνευσε το pull request <a href="%[1]s">%[3]s#%[2]s</a>` merge_pull_request=`συγχώνευσε το pull request <a href="%[1]s">%[3]s#%[2]s</a>`
auto_merge_pull_request=`αυτόματη συγχώνευση του pull request <a href="%[1]s">%[3]s#%[2]s</a>` auto_merge_pull_request=`αυτόματη συγχώνευση του pull request <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3771,7 +3771,7 @@ submodule=Υπομονάδα
code_search_unavailable = Η αναζήτηση κώδικα δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας. code_search_unavailable = Η αναζήτηση κώδικα δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας.
keyword_search_unavailable = Η αναζήτηση με την χρήση λέξεων-κλειδιών δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας. keyword_search_unavailable = Η αναζήτηση με την χρήση λέξεων-κλειδιών δεν είναι επί του παρόντος διαθέσιμη. Παρακαλώ επικοινωνήστε με τον διαχειριστή σας.
runner_kind = Αναζήτηση runner... runner_kind = Αναζήτηση runner...
code_search_by_git_grep = Για την αναζήτηση κώδικα, χρησιμοποιείται η εντολή «git grep». Ίσως να παρουσιαστούν καλύτερα αποτελέσματα, αν ο διαχειριστής σας ενεργοποιήσει ένα ευρετήριο για αποθετήρια («Repository Indexer»). code_search_by_git_grep = Η αναζήτηση κώδικα εκτελείται με την χρήση της εντολής «git grep». Αν ο διαχειριστής σας ενεργοποιήσει ένα ευρετήριο για αποθετήρια («Repository Indexer»), ίσως να παρουσιαστούν καλύτερα αποτελέσματα.
package_kind = Αναζήτηση πακέτων... package_kind = Αναζήτηση πακέτων...
project_kind = Αναζήτηση έργων... project_kind = Αναζήτηση έργων...
branch_kind = Αναζήτηση κλάδων... branch_kind = Αναζήτηση κλάδων...
@ -3781,7 +3781,7 @@ search = Αναζήτηση...
type_tooltip = Είδος αναζήτησης type_tooltip = Είδος αναζήτησης
fuzzy = Στο περίπου fuzzy = Στο περίπου
fuzzy_tooltip = Να συμπεριληφθούν αποτελέσματα που μοιάζουν με τον όρο αναζήτησης fuzzy_tooltip = Να συμπεριληφθούν αποτελέσματα που μοιάζουν με τον όρο αναζήτησης
match = Ακριβής match = Ταιριαστά
match_tooltip = Να συμπεριληφθούν αποτελέσματα που ταιριάζουν με τον όρο αναζήτησης match_tooltip = Να συμπεριληφθούν αποτελέσματα που ταιριάζουν με τον όρο αναζήτησης
repo_kind = Αναζήτηση αποθετηρίων... repo_kind = Αναζήτηση αποθετηρίων...
user_kind = Αναζήτηση χρηστών... user_kind = Αναζήτηση χρηστών...

View file

@ -149,12 +149,12 @@ filter = Filter
filter.clear = Clear filters filter.clear = Clear filters
filter.is_archived = Archived filter.is_archived = Archived
filter.not_archived = Not archived filter.not_archived = Not archived
filter.is_fork = Forks filter.is_fork = Forked
filter.not_fork = Not forks filter.not_fork = Not forked
filter.is_mirror = Mirrors filter.is_mirror = Mirrored
filter.not_mirror = Not mirrors filter.not_mirror = Not mirrored
filter.is_template = Templates filter.is_template = Template
filter.not_template = Not templates filter.not_template = Not template
filter.public = Public filter.public = Public
filter.private = Private filter.private = Private
@ -439,8 +439,8 @@ tab_openid = OpenID
oauth_signup_tab = Register New Account oauth_signup_tab = Register New Account
oauth_signup_title = Complete New Account oauth_signup_title = Complete New Account
oauth_signup_submit = Complete Account oauth_signup_submit = Complete Account
oauth_signin_tab = Link to an existing account oauth_signin_tab = Link to Existing Account
oauth_signin_title = Sign in to authorize linked account oauth_signin_title = Sign In to Authorize Linked Account
oauth_signin_submit = Link Account oauth_signin_submit = Link Account
oauth.signin.error = There was an error processing the authorization request. If this error persists, please contact the site administrator. oauth.signin.error = There was an error processing the authorization request. If this error persists, please contact the site administrator.
oauth.signin.error.access_denied = The authorization request was denied. oauth.signin.error.access_denied = The authorization request was denied.
@ -571,7 +571,7 @@ TreeName = File path
Content = Content Content = Content
SSPISeparatorReplacement = Separator SSPISeparatorReplacement = Separator
SSPIDefaultLanguage = Default language SSPIDefaultLanguage = Default Language
require_error = ` cannot be empty.` require_error = ` cannot be empty.`
alpha_dash_error = ` should contain only alphanumeric, dash ("-") and underscore ("_") characters.` alpha_dash_error = ` should contain only alphanumeric, dash ("-") and underscore ("_") characters.`
@ -691,13 +691,13 @@ password = Password
security = Security security = Security
avatar = Avatar avatar = Avatar
ssh_gpg_keys = SSH / GPG keys ssh_gpg_keys = SSH / GPG keys
social = Social accounts social = Social Accounts
applications = Applications applications = Applications
orgs = Organizations orgs = Manage organizations
repos = Repositories repos = Repositories
delete = Delete Account delete = Delete Account
twofa = Two-factor authentication (TOTP) twofa = Two-factor authentication (TOTP)
account_link = Linked accounts account_link = Linked Accounts
organization = Organizations organization = Organizations
uid = UID uid = UID
webauthn = Two-factor authentication (Security keys) webauthn = Two-factor authentication (Security keys)
@ -726,11 +726,10 @@ change_username_redirect_prompt = The old username will redirect until someone c
continue = Continue continue = Continue
cancel = Cancel cancel = Cancel
language = Language language = Language
language.title = Default language
ui = Theme ui = Theme
hints = Hints hints = Hints
additional_repo_units_hint = Suggest to enable additional repository units
additional_repo_units_hint_description = Display an "Add more units..." button for repositories that do not have all available units enabled. additional_repo_units_hint_description = Display an "Add more units..." button for repositories that do not have all available units enabled.
additional_repo_units_hint = Encourage enabling additional repository units
update_hints = Update hints update_hints = Update hints
update_hints_success = Hints have been updated. update_hints_success = Hints have been updated.
hidden_comment_types = Hidden comment types hidden_comment_types = Hidden comment types
@ -777,19 +776,19 @@ change_password_success = Your password has been updated. Sign in using your new
password_change_disabled = Non-local users cannot update their password through the Forgejo web interface. password_change_disabled = Non-local users cannot update their password through the Forgejo web interface.
manage_emails = Manage email addresses manage_emails = Manage email addresses
manage_themes = Default theme manage_themes = Select default theme
manage_openid = OpenID addresses manage_openid = Manage OpenID addresses
email_desc = Your primary email address will be used for notifications, password recovery and, provided that it is not hidden, web-based Git operations. email_desc = Your primary email address will be used for notifications, password recovery and, provided that it is not hidden, web-based Git operations.
theme_desc = This will be your default theme across the site. theme_desc = This will be your default theme across the site.
primary = Primary primary = Primary
activated = Activated activated = Activated
requires_activation = Requires activation requires_activation = Requires activation
primary_email = Make primary primary_email = Make Primary
activate_email = Send activation activate_email = Send Activation
activations_pending = Activations pending activations_pending = Activations Pending
can_not_add_email_activations_pending = There is a pending activation, try again in a few minutes if you want to add a new email. can_not_add_email_activations_pending = There is a pending activation, try again in a few minutes if you want to add a new email.
delete_email = Remove delete_email = Remove
email_deletion = Remove email address email_deletion = Remove Email Address
email_deletion_desc = The email address and related information will be removed from your account. Git commits by this email address will remain unchanged. Continue? email_deletion_desc = The email address and related information will be removed from your account. Git commits by this email address will remain unchanged. Continue?
email_deletion_success = The email address has been removed. email_deletion_success = The email address has been removed.
theme_update_success = Your theme was updated. theme_update_success = Your theme was updated.
@ -798,7 +797,7 @@ openid_deletion = Remove OpenID Address
openid_deletion_desc = Removing this OpenID address from your account will prevent you from signing in with it. Continue? openid_deletion_desc = Removing this OpenID address from your account will prevent you from signing in with it. Continue?
openid_deletion_success = The OpenID address has been removed. openid_deletion_success = The OpenID address has been removed.
add_new_email = Add email address add_new_email = Add email address
add_new_openid = Add new OpenID URI add_new_openid = Add New OpenID URI
add_email = Add email address add_email = Add email address
add_openid = Add OpenID URI add_openid = Add OpenID URI
add_email_confirmation_sent = A confirmation email has been sent to "%s". Please check your inbox within the next %s to confirm your email address. add_email_confirmation_sent = A confirmation email has been sent to "%s". Please check your inbox within the next %s to confirm your email address.
@ -822,7 +821,7 @@ add_new_key = Add SSH key
add_new_gpg_key = Add GPG key add_new_gpg_key = Add GPG key
key_content_ssh_placeholder = Begins with "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", or "sk-ssh-ed25519@openssh.com" key_content_ssh_placeholder = Begins with "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", or "sk-ssh-ed25519@openssh.com"
key_content_gpg_placeholder = Begins with "-----BEGIN PGP PUBLIC KEY BLOCK-----" key_content_gpg_placeholder = Begins with "-----BEGIN PGP PUBLIC KEY BLOCK-----"
add_new_principal = Add principal add_new_principal = Add Principal
ssh_key_been_used = This SSH key has already been added to the server. ssh_key_been_used = This SSH key has already been added to the server.
ssh_key_name_used = An SSH key with same name already exists on your account. ssh_key_name_used = An SSH key with same name already exists on your account.
ssh_principal_been_used = This principal has already been added to the server. ssh_principal_been_used = This principal has already been added to the server.
@ -881,7 +880,7 @@ token_state_desc = This token has been used in the last 7 days
principal_state_desc = This principal has been used in the last 7 days principal_state_desc = This principal has been used in the last 7 days
show_openid = Show on profile show_openid = Show on profile
hide_openid = Hide from profile hide_openid = Hide from profile
ssh_disabled = SSH is disabled ssh_disabled = SSH Disabled
ssh_signonly = SSH is currently disabled so these keys are only used for commit signature verification. ssh_signonly = SSH is currently disabled so these keys are only used for commit signature verification.
ssh_externally_managed = This SSH key is externally managed for this user ssh_externally_managed = This SSH key is externally managed for this user
manage_social = Manage Associated Social Accounts manage_social = Manage Associated Social Accounts
@ -889,7 +888,7 @@ social_desc = These social accounts can be used to sign in to your account. Make
unbind = Unlink unbind = Unlink
unbind_success = The social account has been removed successfully. unbind_success = The social account has been removed successfully.
manage_access_token = Access tokens manage_access_token = Manage access tokens
generate_new_token = Generate new token generate_new_token = Generate new token
tokens_desc = These tokens grant access to your account using the Forgejo API. tokens_desc = These tokens grant access to your account using the Forgejo API.
token_name = Token name token_name = Token name
@ -971,11 +970,11 @@ webauthn_delete_key_desc = If you remove a security key you can no longer sign i
webauthn_key_loss_warning = If you lose your security keys, you will lose access to your account. webauthn_key_loss_warning = If you lose your security keys, you will lose access to your account.
webauthn_alternative_tip = You may want to configure an additional authentication method. webauthn_alternative_tip = You may want to configure an additional authentication method.
manage_account_links = Linked accounts manage_account_links = Manage Linked Accounts
manage_account_links_desc = These external accounts are linked to your Forgejo account. manage_account_links_desc = These external accounts are linked to your Forgejo account.
account_links_not_available = There are currently no external accounts linked to your Forgejo account. account_links_not_available = There are currently no external accounts linked to your Forgejo account.
link_account = Link account link_account = Link Account
remove_account_link = Remove linked account remove_account_link = Remove Linked Account
remove_account_link_desc = Removing a linked account will revoke its access to your Forgejo account. Continue? remove_account_link_desc = Removing a linked account will revoke its access to your Forgejo account. Continue?
remove_account_link_success = The linked account has been removed. remove_account_link_success = The linked account has been removed.
@ -1327,10 +1326,10 @@ editor.add_tmpl = Add "<filename>"
editor.add = Add %s editor.add = Add %s
editor.update = Update %s editor.update = Update %s
editor.delete = Delete %s editor.delete = Delete %s
editor.patch = Apply patch editor.patch = Apply Patch
editor.patching = Patching: editor.patching = Patching:
editor.fail_to_apply_patch = Unable to apply patch "%s" editor.fail_to_apply_patch = Unable to apply patch "%s"
editor.new_patch = New patch editor.new_patch = New Patch
editor.commit_message_desc = Add an optional extended description… editor.commit_message_desc = Add an optional extended description…
editor.signoff_desc = Add a Signed-off-by trailer by the committer at the end of the commit log message. editor.signoff_desc = Add a Signed-off-by trailer by the committer at the end of the commit log message.
editor.commit_directly_to_this_branch = Commit directly to the <strong class="branch-name">%s</strong> branch. editor.commit_directly_to_this_branch = Commit directly to the <strong class="branch-name">%s</strong> branch.
@ -1352,16 +1351,16 @@ editor.file_editing_no_longer_exists = The file being edited, "%s", no longer ex
editor.file_deleting_no_longer_exists = The file being deleted, "%s", no longer exists in this repository. editor.file_deleting_no_longer_exists = The file being deleted, "%s", no longer exists in this repository.
editor.file_changed_while_editing = The file contents have changed since you started editing. <a target="_blank" rel="noopener noreferrer" href="%s">Click here</a> to see them or <strong>Commit changes again</strong> to overwrite them. editor.file_changed_while_editing = The file contents have changed since you started editing. <a target="_blank" rel="noopener noreferrer" href="%s">Click here</a> to see them or <strong>Commit changes again</strong> to overwrite them.
editor.file_already_exists = A file named "%s" already exists in this repository. editor.file_already_exists = A file named "%s" already exists in this repository.
editor.commit_id_not_matching = The file was changed while you were editing it. Commit to a new branch and then merge. editor.commit_id_not_matching = The commit ID does not match the one you was editing. Commit to a new branch and then merge.
editor.push_out_of_date = The push appears to be out of date. editor.push_out_of_date = The push appears to be out of date.
editor.commit_empty_file_header = Commit an empty file editor.commit_empty_file_header = Commit an empty file
editor.commit_empty_file_text = The file you're about to commit is empty. Proceed? editor.commit_empty_file_text = The file you're about to commit is empty. Proceed?
editor.no_changes_to_show = There are no changes to show. editor.no_changes_to_show = There are no changes to show.
editor.fail_to_update_file = Failed to update/create file "%s". editor.fail_to_update_file = Failed to update/create file "%s".
editor.fail_to_update_file_summary = Error message: editor.fail_to_update_file_summary = Error Message:
editor.push_rejected_no_message = The change was rejected by the server without a message. Please check Git hooks. editor.push_rejected_no_message = The change was rejected by the server without a message. Please check Git hooks.
editor.push_rejected = The change was rejected by the server. Please check Git hooks. editor.push_rejected = The change was rejected by the server. Please check Git hooks.
editor.push_rejected_summary = Full rejection message: editor.push_rejected_summary = Full Rejection Message:
editor.add_subdir = Add a directory… editor.add_subdir = Add a directory…
editor.unable_to_upload_files = Failed to upload files to "%s" with error: %v editor.unable_to_upload_files = Failed to upload files to "%s" with error: %v
editor.upload_file_is_locked = File "%s" is locked by %s. editor.upload_file_is_locked = File "%s" is locked by %s.
@ -1378,8 +1377,8 @@ commits.commits = Commits
commits.no_commits = No commits in common. "%s" and "%s" have entirely different histories. commits.no_commits = No commits in common. "%s" and "%s" have entirely different histories.
commits.nothing_to_compare = These branches are equal. commits.nothing_to_compare = These branches are equal.
commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-01-13". commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-01-13".
commits.search_branch = This branch commits.search_branch = This Branch
commits.search_all = All branches commits.search_all = All Branches
commits.author = Author commits.author = Author
commits.message = Message commits.message = Message
commits.browse_further = Browse further commits.browse_further = Browse further
@ -1884,16 +1883,16 @@ pulls.merge_commit_id = The merge commit ID
pulls.require_signed_wont_sign = The branch requires signed commits but this merge will not be signed pulls.require_signed_wont_sign = The branch requires signed commits but this merge will not be signed
pulls.invalid_merge_option = You cannot use this merge option for this pull request. pulls.invalid_merge_option = You cannot use this merge option for this pull request.
pulls.merge_conflict = Merge failed: There was a conflict whilst merging. Hint: Try a different strategy pulls.merge_conflict = Merge Failed: There was a conflict whilst merging. Hint: Try a different strategy
pulls.merge_conflict_summary = Error message pulls.merge_conflict_summary = Error Message
pulls.rebase_conflict = Merge failed: There was a conflict whilst rebasing commit: %[1]s. Hint: Try a different strategy pulls.rebase_conflict = Merge Failed: There was a conflict whilst rebasing commit: %[1]s. Hint: Try a different strategy
pulls.rebase_conflict_summary = Error message pulls.rebase_conflict_summary = Error Message
pulls.unrelated_histories = Merge failed: The merge head and base do not share a common history. Hint: Try a different strategy pulls.unrelated_histories = Merge Failed: The merge head and base do not share a common history. Hint: Try a different strategy
pulls.merge_out_of_date = Merge failed: Whilst generating the merge, the base was updated. Hint: Try again. pulls.merge_out_of_date = Merge Failed: Whilst generating the merge, the base was updated. Hint: Try again.
pulls.head_out_of_date = Merge failed: Whilst generating the merge, the head was updated. Hint: Try again. pulls.head_out_of_date = Merge Failed: Whilst generating the merge, the head was updated. Hint: Try again.
pulls.has_merged = Failed: The pull request has been merged, you cannot merge again or change the target branch. pulls.has_merged = Failed: The pull request has been merged, you cannot merge again or change the target branch.
pulls.push_rejected = Push Failed: The push was rejected. Review the Git hooks for this repository. pulls.push_rejected = Push Failed: The push was rejected. Review the Git hooks for this repository.
pulls.push_rejected_summary = Full rejection message pulls.push_rejected_summary = Full Rejection Message
pulls.push_rejected_no_message = Push Failed: The push was rejected but there was no remote message. Review the Git hooks for this repository pulls.push_rejected_no_message = Push Failed: The push was rejected but there was no remote message. Review the Git hooks for this repository
pulls.open_unmerged_pull_exists = `You cannot perform a reopen operation because there is a pending pull request (#%d) with identical properties.` pulls.open_unmerged_pull_exists = `You cannot perform a reopen operation because there is a pending pull request (#%d) with identical properties.`
pulls.status_checking = Some checks are pending pulls.status_checking = Some checks are pending
@ -2202,9 +2201,7 @@ settings.convert_fork_desc = You can convert this fork into a regular repository
settings.convert_fork_notices_1 = This operation will convert the fork into a regular repository and cannot be undone. settings.convert_fork_notices_1 = This operation will convert the fork into a regular repository and cannot be undone.
settings.convert_fork_confirm = Convert repository settings.convert_fork_confirm = Convert repository
settings.convert_fork_succeed = The fork has been converted into a regular repository. settings.convert_fork_succeed = The fork has been converted into a regular repository.
settings.transfer.title = Transfer ownership settings.transfer = Transfer ownership
settings.transfer.button = Transfer ownership
settings.transfer.modal.title = Transfer ownership
settings.transfer.rejected = Repository transfer was rejected. settings.transfer.rejected = Repository transfer was rejected.
settings.transfer.success = Repository transfer was successful. settings.transfer.success = Repository transfer was successful.
settings.transfer_abort = Cancel transfer settings.transfer_abort = Cancel transfer
@ -3614,7 +3611,7 @@ owner.settings.cargo.rebuild.description = Rebuilding can be useful if the index
owner.settings.cargo.rebuild.error = Failed to rebuild Cargo index: %v owner.settings.cargo.rebuild.error = Failed to rebuild Cargo index: %v
owner.settings.cargo.rebuild.success = The Cargo index was successfully rebuild. owner.settings.cargo.rebuild.success = The Cargo index was successfully rebuild.
owner.settings.cargo.rebuild.no_index = Cannot rebuild, no index is initialized. owner.settings.cargo.rebuild.no_index = Cannot rebuild, no index is initialized.
owner.settings.cleanuprules.title = Cleanup rules owner.settings.cleanuprules.title = Manage cleanup rules
owner.settings.cleanuprules.add = Add cleanup rule owner.settings.cleanuprules.add = Add cleanup rule
owner.settings.cleanuprules.edit = Edit cleanup rule owner.settings.cleanuprules.edit = Edit cleanup rule
owner.settings.cleanuprules.none = There are no cleanup rules yet. owner.settings.cleanuprules.none = There are no cleanup rules yet.

View file

@ -803,7 +803,3 @@ teams.settings = Agordoj
[packages] [packages]
npm.details.tag = Etikedo npm.details.tag = Etikedo
[search]
search = Serĉi...

View file

@ -2109,7 +2109,7 @@ settings.convert_fork_desc=Puede convertir este fork en un repositorio normal. E
settings.convert_fork_notices_1=Esta operación convertirá el fork en un repositorio regular y no se puede deshacer. settings.convert_fork_notices_1=Esta operación convertirá el fork en un repositorio regular y no se puede deshacer.
settings.convert_fork_confirm=Convertir repositorio settings.convert_fork_confirm=Convertir repositorio
settings.convert_fork_succeed=El fork se ha convertido en un repositorio normal. settings.convert_fork_succeed=El fork se ha convertido en un repositorio normal.
settings.transfer.title=Transferir la propiedad settings.transfer=Transferir la propiedad
settings.transfer.rejected=La transferencia de repositorio fue rechazada. settings.transfer.rejected=La transferencia de repositorio fue rechazada.
settings.transfer.success=La transferencia del repositorio fue exitosa. settings.transfer.success=La transferencia del repositorio fue exitosa.
settings.transfer_abort=Cancelar transferencia settings.transfer_abort=Cancelar transferencia

View file

@ -1595,7 +1595,7 @@ settings.convert_fork_desc=شما می توانید این انشعاب را ب
settings.convert_fork_notices_1=این عملیات، انشعاب را تبدیل به مخزن عادی خواهد کرد و بازگشت ناپذیر است. settings.convert_fork_notices_1=این عملیات، انشعاب را تبدیل به مخزن عادی خواهد کرد و بازگشت ناپذیر است.
settings.convert_fork_confirm=تبدیل مخزن settings.convert_fork_confirm=تبدیل مخزن
settings.convert_fork_succeed=انشعاب به یک مخزن عادی تبدیل شده است. settings.convert_fork_succeed=انشعاب به یک مخزن عادی تبدیل شده است.
settings.transfer.title=انتقال مالکیت settings.transfer=انتقال مالکیت
settings.transfer.rejected=انتقال انبار رد شده است. settings.transfer.rejected=انتقال انبار رد شده است.
settings.transfer.success=انتقال انبار موفق بود. settings.transfer.success=انتقال انبار موفق بود.
settings.transfer_abort=لغو انتقال settings.transfer_abort=لغو انتقال

View file

@ -1133,7 +1133,7 @@ settings.tracker_issue_style.alphanumeric=Aakkosnumeerinen
settings.enable_timetracker=Ota käyttöön ajan seuranta settings.enable_timetracker=Ota käyttöön ajan seuranta
settings.danger_zone=Vaaravyöhyke settings.danger_zone=Vaaravyöhyke
settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi. settings.new_owner_has_same_repo=Uudella omistajalla on jo samanniminen repo. Ole hyvä ja valitse toinen nimi.
settings.transfer.title=Siirrä omistajuus settings.transfer=Siirrä omistajuus
settings.transfer_form_title=Syötä repon nimi vahvistuksena: settings.transfer_form_title=Syötä repon nimi vahvistuksena:
settings.transfer_notices_3=- Jos arkisto on yksityinen ja se siirretään yksittäiselle käyttäjälle, tämä toiminto varmistaa, että käyttäjällä on ainakin lukuoikeudet (ja muuttaa käyttöoikeuksia tarvittaessa). settings.transfer_notices_3=- Jos arkisto on yksityinen ja se siirretään yksittäiselle käyttäjälle, tämä toiminto varmistaa, että käyttäjällä on ainakin lukuoikeudet (ja muuttaa käyttöoikeuksia tarvittaessa).
settings.transfer_owner=Uusi omistaja settings.transfer_owner=Uusi omistaja

View file

@ -7,7 +7,7 @@ language = Wika
mirrors = Mga Mirror mirrors = Mga Mirror
forks = Mga Fork forks = Mga Fork
activities = Mga Aktibidad activities = Mga Aktibidad
pull_requests = Mga hiling sa paghila pull_requests = Mga hiling sa paghatak
issues = Mga Isyu issues = Mga Isyu
milestones = Mga Milestone milestones = Mga Milestone
ok = OK ok = OK
@ -116,12 +116,12 @@ filter = I-filter
filter.clear = I-clear ang mga filter filter.clear = I-clear ang mga filter
filter.is_archived = Naka-archive filter.is_archived = Naka-archive
filter.not_archived = Hindi naka-archive filter.not_archived = Hindi naka-archive
filter.is_fork = Mga fork filter.is_fork = Naka-fork
filter.not_fork = Hindi mga fork filter.not_fork = Hindi naka-fork
filter.is_mirror = Mga mirror filter.is_mirror = Naka-mirror
filter.not_mirror = Hindi mga mirror filter.not_mirror = Hindi naka-mirror
filter.is_template = Mga template filter.is_template = Template
filter.not_template = Hindi mga template filter.not_template = Hindi template
filter.public = Publiko filter.public = Publiko
filter.private = Pribado filter.private = Pribado
notifications = Mga Abiso notifications = Mga Abiso
@ -401,7 +401,7 @@ login_openid = OpenID
oauth_signup_tab = Mag-rehistro ng Bagong Account oauth_signup_tab = Mag-rehistro ng Bagong Account
oauth_signup_title = Kumpletuhin ang Bagong Account oauth_signup_title = Kumpletuhin ang Bagong Account
oauth_signup_submit = Kumpletuhin ang Account oauth_signup_submit = Kumpletuhin ang Account
oauth_signin_tab = Mag-link sa umiiral na account oauth_signin_tab = I-link sa Umiiral na Account
oauth_signin_submit = I-link ang Account oauth_signin_submit = I-link ang Account
oauth.signin.error.access_denied = Tinanggihan ang hiling ng pahintulutan. oauth.signin.error.access_denied = Tinanggihan ang hiling ng pahintulutan.
oauth.signin.error.temporarily_unavailable = Nabigo ang awtorisasyon dahil pansamantalang hindi available ang authentication server. Mangyaring subukan muli sa ibang pagkakataon. oauth.signin.error.temporarily_unavailable = Nabigo ang awtorisasyon dahil pansamantalang hindi available ang authentication server. Mangyaring subukan muli sa ibang pagkakataon.
@ -409,7 +409,7 @@ openid_connect_submit = Kumonekta
openid_connect_title = Kumonekta sa umiiral na account openid_connect_title = Kumonekta sa umiiral na account
openid_connect_desc = Ang piniling OpenID URI ay hindi alam. Iugnay iyan sa bagong account dito. openid_connect_desc = Ang piniling OpenID URI ay hindi alam. Iugnay iyan sa bagong account dito.
invalid_code = Ang iyong confirmation code ay hindi wasto o nag-expire na. 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 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. 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 pang-kumpirma ay ipinadala sa <b>%s</b>. Pakisuri ang iyong inbox sa loob ng %s para tapusin ang proseso ng pagrehistro. 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 pang-kumpirma ay ipinadala sa <b>%s</b>. Pakisuri ang iyong inbox sa loob ng %s para tapusin ang proseso ng pagrehistro. Kung mali ang email, maari 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. invalid_password = Ang iyong password ay hindi tugma sa password na ginamit para gawin ang account.
@ -522,7 +522,7 @@ CommitChoice = Pagpili ng commit
TreeName = Path ng file TreeName = Path ng file
Content = Nilalaman Content = Nilalaman
SSPISeparatorReplacement = Pang-hiwalay SSPISeparatorReplacement = Pang-hiwalay
SSPIDefaultLanguage = Default na wika SSPIDefaultLanguage = Default na Wika
CommitSummary = Pangkalahatang-ideya ng commit CommitSummary = Pangkalahatang-ideya ng commit
glob_pattern_error = ` hindi angkop ang glob pattern: %s` glob_pattern_error = ` hindi angkop ang glob pattern: %s`
require_error = ` hindi maaring walang laman.` require_error = ` hindi maaring walang laman.`
@ -604,7 +604,7 @@ Location = Lokasyon
joined_on = Sumali noong %s joined_on = Sumali noong %s
repositories = Mga Repositoryo repositories = Mga Repositoryo
activity = Pampublikong aktibidad activity = Pampublikong aktibidad
followers_few = %d mga tagasunod followers_few = %d Mga tagasunod
block_user = I-block ang user block_user = I-block ang user
change_avatar = Palitan ang iyong avatar… change_avatar = Palitan ang iyong avatar…
block_user.detail = Pakiunawa na kung i-block mo ang user na ito, isasagawa ang iba pang mga aksyon. Gaya ng: block_user.detail = Pakiunawa na kung i-block mo ang user na ito, isasagawa ang iba pang mga aksyon. Gaya ng:
@ -617,7 +617,7 @@ watched = Mga sinusubaybayan na repositoryo
code = Code code = Code
projects = Mga Proyekto projects = Mga Proyekto
overview = Pangkalahatang Ideya overview = Pangkalahatang Ideya
following_few = %d sinusundan following_few = %d Sinusundan
follow = Sundan follow = Sundan
unfollow = I-unfollow unfollow = I-unfollow
block = Harangan block = Harangan
@ -643,11 +643,11 @@ security = Seguridad
avatar = Avatar avatar = Avatar
ssh_gpg_keys = Mga SSH / GPG key ssh_gpg_keys = Mga SSH / GPG key
applications = Mga Aplikasyon applications = Mga Aplikasyon
orgs = Ipamahala ang mga organisasyon orgs = Pamahalaan ng mga organisasyon
repos = Mga Repositoryo repos = Mga Repositoryo
delete = Burahin ang Account delete = Burahin ang Account
twofa = Authentikasyong two-factor (TOTP) twofa = Authentikasyong two-factor (TOTP)
account_link = Mga naka-link na account account_link = Mga Naka-link na Account
uid = UID uid = UID
webauthn = Authentikasyong two-factor (Mga security key) webauthn = Authentikasyong two-factor (Mga security key)
blocked_users = Mga na-block na user blocked_users = Mga na-block na user
@ -694,7 +694,7 @@ update_avatar = I-update ang avatar
delete_current_avatar = Burahin ang kasalukuyang avatar delete_current_avatar = Burahin ang kasalukuyang avatar
uploaded_avatar_not_a_image = Ang na-upload na file ay hindi isang larawan. uploaded_avatar_not_a_image = Ang na-upload na file ay hindi isang larawan.
comment_type_group_assignee = Mangangasiwa comment_type_group_assignee = Mangangasiwa
social = Mga social account social = Mga Social Account
biography_placeholder = Sabihin sa amin ng kaunti tungkol sa iyong sarili! (Maaari mong gamitin ang Markdown) biography_placeholder = Sabihin sa amin ng kaunti tungkol sa iyong sarili! (Maaari mong gamitin ang Markdown)
change_username_prompt = Tandaan: Ang pagpalit ng username ay papalitan din ang URL ng iyong account. change_username_prompt = Tandaan: Ang pagpalit ng username ay papalitan din ang URL ng iyong account.
organization = Mga Organisasyon organization = Mga Organisasyon
@ -738,18 +738,18 @@ change_password_success = Na-update na ang iyong password. Mag-sign in gamit ng
password_change_disabled = Hindi mababago ng mga di-lokal na gumagamit ang kanilang password sa pamamagitan ng Forgejo web interface. password_change_disabled = Hindi mababago ng mga di-lokal na gumagamit ang kanilang password sa pamamagitan ng Forgejo web interface.
emails = Mga email address emails = Mga email address
manage_emails = Ipamahala ang mga email address manage_emails = Ipamahala ang mga email address
manage_themes = Default na tema manage_themes = Piliin ang default na tema
manage_openid = Mga OpenID address manage_openid = Ipamahala ang mga OpenID address
email_desc = Ang iyong pangunahing email address ay gagamitin para sa mga notification, pag-recover ng password at, kung hindi tinago, mga Git operation na batay sa web. email_desc = Ang iyong pangunahing email address ay gagamitin para sa mga notification, pag-recover ng password at, kung hindi tinago, mga Git operation na batay sa web.
theme_desc = Ito ang iyong magiging default na tema sa buong site. theme_desc = Ito ang iyong magiging default na tema sa buong site.
primary = Panguna primary = Panguna
activated = Naka-activate activated = Naka-activate
requires_activation = Nangangailangan ng activation requires_activation = Nangangailangan ng activation
primary_email = Gawing pangunahin primary_email = Gawing Pangunahin
activate_email = Ipadala ang activation activate_email = Ipadala ang Activation
activations_pending = Nakabinbin ang mga activation activations_pending = Nakabinbin ang mga Activation
delete_email = Tanggalin delete_email = Tanggalin
email_deletion = Tanggalin ang email address email_deletion = Tanggalin ang Email Address
email_deletion_success = Tinanggal na ang email address. email_deletion_success = Tinanggal na ang email address.
theme_update_success = Binago na ang iyong tema. theme_update_success = Binago na ang iyong tema.
theme_update_error = Hindi umiiral ang piniling tema. theme_update_error = Hindi umiiral ang piniling tema.
@ -775,7 +775,7 @@ gpg_helper = <strong>Kailangan ng tulong?</strong> Tignan ang guide <a href="%s"
add_new_key = Magdagdag ng SSH key add_new_key = Magdagdag ng SSH key
add_new_gpg_key = Magdagdag ng GPG key add_new_gpg_key = Magdagdag ng GPG key
key_content_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP PUBLIC KEY BLOCK-----" key_content_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP PUBLIC KEY BLOCK-----"
add_new_principal = Magdagdag ng principal add_new_principal = Magdagdag ng Principal
ssh_key_been_used = Dinagdag na ang SSH key na ito sa server. ssh_key_been_used = Dinagdag na ang SSH key na ito sa server.
ssh_key_name_used = Ang isang SSH key na may katulad na pangalan ay umiiral na sa iyong account. ssh_key_name_used = Ang isang SSH key na may katulad na pangalan ay umiiral na sa iyong account.
ssh_principal_been_used = Dinagdag na ang principal na ito sa server. ssh_principal_been_used = Dinagdag na ang principal na ito sa server.
@ -830,7 +830,7 @@ manage_social = Ipamahala ang mga Nauugnay na Social Account
social_desc = Ang mga social account na ito ay magagamit para mag-sign in sa iyong account. Siguraduhing kilala mo silang lahat. social_desc = Ang mga social account na ito ay magagamit para mag-sign in sa iyong account. Siguraduhing kilala mo silang lahat.
unbind = I-unlink unbind = I-unlink
unbind_success = Matagumpay na tinanggal ang social account. unbind_success = Matagumpay na tinanggal ang social account.
manage_access_token = Mga access token manage_access_token = Ipamahala ang mga access token
generate_new_token = Gumawa ng bagong token generate_new_token = Gumawa ng bagong token
token_name = Pangalan ng token token_name = Pangalan ng token
generate_token = I-generate ang token generate_token = I-generate ang token
@ -913,10 +913,10 @@ webauthn_nickname = Palayaw
webauthn_delete_key = Tanggalin ang security key webauthn_delete_key = Tanggalin ang security key
webauthn_key_loss_warning = Kung mawala mo ang iyong mga security key, mawawalan ka ng access sa iyong account. webauthn_key_loss_warning = Kung mawala mo ang iyong mga security key, mawawalan ka ng access sa iyong account.
webauthn_alternative_tip = Baka gusto mong mag-configure ng isa pang paraan ng authentikasyon. webauthn_alternative_tip = Baka gusto mong mag-configure ng isa pang paraan ng authentikasyon.
manage_account_links = Mga naka-link na account manage_account_links = Ipamahala ang mga Naka-link na Account
account_links_not_available = Kasalukuyang walang mga naka-link na panlabas na account sa iyong Forgejo account. account_links_not_available = Kasalukuyang walang mga naka-link na panlabas na account sa iyong Forgejo account.
link_account = Mag-link ng account link_account = Mag-link ng Account
remove_account_link = Tanggalin ang naka-link na account remove_account_link = Tanggalin ang Naka-link na Account
visibility.limited = Limitado visibility.limited = Limitado
visibility.private = Pribado visibility.private = Pribado
visibility.private_tooltip = Makikita lang ng mga miyembro ng mga organisasyon na sinali mo visibility.private_tooltip = Makikita lang ng mga miyembro ng mga organisasyon na sinali mo
@ -937,13 +937,12 @@ remove_account_link_desc = Ang pagtanggal ng naka-link na account ay babawiin an
visibility.public_tooltip = Makikita ng lahat visibility.public_tooltip = Makikita ng lahat
hints = Mga Pahiwatig hints = Mga Pahiwatig
additional_repo_units_hint_description = Magpakita ng "Magdagdag pa ng mga unit..." na button para sa mga repositoryo na hindi naka-enable ang lahat ng mga available na unit. additional_repo_units_hint_description = Magpakita ng "Magdagdag pa ng mga unit..." na button para sa mga repositoryo na hindi naka-enable ang lahat ng mga available na unit.
additional_repo_units_hint = Imungkahi na i-enable ng karagdagang mga unit ng repositoryo additional_repo_units_hint = Hikayatin ang pag-enable ng karagdagang mga unit ng repositoryo
update_hints = I-update ang mga pahiwatig update_hints = I-update ang mga pahiwatig
update_hints_success = Na-update na ang mga pahiwatig. update_hints_success = Na-update na ang mga pahiwatig.
pronouns_custom = Pasadya pronouns_custom = Pasadya
pronouns_unspecified = Hindi natakda pronouns_unspecified = Hindi natakda
pronouns = Mga panghalip pronouns = Mga panghalip
language.title = Default na wika
[repo] [repo]
template_description = Ang mga template na repositoryo ay pinapayagan ang mga gumagamit na mag-generate ng mga bagong repositoryo na may magkatulad na istraktura ng direktoryo, mga file, at opsyonal na mga setting. template_description = Ang mga template na repositoryo ay pinapayagan ang mga gumagamit na mag-generate ng mga bagong repositoryo na may magkatulad na istraktura ng direktoryo, mga file, at opsyonal na mga setting.
@ -1077,7 +1076,7 @@ migrate_items_pullrequests = Mga hiling sa pagtulak
archive.pull.nocomment = Naka-archive ang repo na ito. Hindi ka makakakomento sa mga pull request. archive.pull.nocomment = Naka-archive ang repo na ito. Hindi ka makakakomento sa mga pull request.
archive.title = Naka-archive ang repo na ito. Maari mong itignan ang mga file at i-clone ito, pero hindi makaka-push o magbukas ng mga isyu o mga pull request. archive.title = Naka-archive ang repo na ito. Maari mong itignan ang mga file at i-clone ito, pero hindi makaka-push o magbukas ng mga isyu o mga pull request.
archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maari mong itignan ang mga file at i-clone ito, pero hindi makaka-push o magbukas ng mga isyu o mga pull request. archive.title_date = Naka-archive ang repositoryo na ito noong %s. Maari mong itignan ang mga file at i-clone ito, pero hindi makaka-push o magbukas ng mga isyu o mga pull request.
pulls = Mga hiling sa paghila pulls = Mga hiling sa paghatak
activity.merged_prs_count_n = Mga naisamang hiling sa paghatak activity.merged_prs_count_n = Mga naisamang hiling sa paghatak
wiki.last_updated = Huling binago %s wiki.last_updated = Huling binago %s
file.title = %s sa %s file.title = %s sa %s
@ -1394,8 +1393,8 @@ activity.title.prs_opened_by = %s inimungkahi ni/ng %s
pulls.cant_reopen_deleted_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil nabura ang branch. pulls.cant_reopen_deleted_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil nabura ang branch.
issues.new = Bagong isyu issues.new = Bagong isyu
issues.commented_at = `iniwan ang komento <a href="#%s">%s</a>` issues.commented_at = `iniwan ang komento <a href="#%s">%s</a>`
editor.patch = Ilapat ang patch editor.patch = Ilapat ang Patch
editor.new_patch = Bagong patch editor.new_patch = Bagong Patch
editor.create_new_branch = Gumawa ng <strong>bagong branch</strong> para sa commit na ito at simulan ang hiling sa paghatak. editor.create_new_branch = Gumawa ng <strong>bagong branch</strong> para sa commit na ito at simulan ang hiling sa paghatak.
editor.create_new_branch_np = Gumawa ng <strong>bagong branch</strong> para sa commit na ito. editor.create_new_branch_np = Gumawa ng <strong>bagong branch</strong> para sa commit na ito.
editor.invalid_commit_mail = Hindi wastong mail para sa paggawa ng commit. editor.invalid_commit_mail = Hindi wastong mail para sa paggawa ng commit.
@ -1443,102 +1442,6 @@ editor.file_editing_no_longer_exists = Ang file na ine-edit, "%s", ay hindi na u
editor.filename_is_a_directory = Ang pangalan ng file "%s" ay ginagamit na bilang pangalan ng direktoryo sa repositoryo na ito. editor.filename_is_a_directory = Ang pangalan ng file "%s" ay ginagamit na bilang pangalan ng direktoryo sa repositoryo na ito.
editor.file_is_a_symlink = `Ang %s ay isang symbolink link. Hindi mae-edit ang mga symbolic link sa web editor` editor.file_is_a_symlink = `Ang %s ay isang symbolink link. Hindi mae-edit ang mga symbolic link sa web editor`
editor.directory_is_a_file = Ang pangalan ng direktoryo "%s" ay ginagamit na bilang pangalan ng file sa repositoryo na ito. editor.directory_is_a_file = Ang pangalan ng direktoryo "%s" ay ginagamit na bilang pangalan ng file sa repositoryo na ito.
pulls.merged_by =
commitstatus.pending = Nakabinbin
issues.review.pending = Nakabinbin
pulls.status_checking = Nakabinbin ang ilang mga [pagsusuri]
editor.file_changed_while_editing = Ang nilalaman ng file ay nagbago mula noong nagsimula kang mag-edit. <a target="_blank" rel="noopener noreferrer" href="%s">Mag-click dito</a> upang makita ang mga pagbabago o <strong>Mag-commit ng mga pagbabago muli</strong> para i-overwrite sila.
editor.file_already_exists = Umiiral na ang file na may pangalang "%s" sa repositoryong ito.
issues.review.review = Suriin
activity.git_stats_push_to_branch = sa %s at
activity.git_stats_and_deletions = at
issues.new.no_projects = Walang mga proyekto
pulls.auto_merge_button_when_succeed = (Kung nagtagumpay ang mga [check])
activity.git_stats_on_default_branch = Sa %s,
activity.period.quarterly = 3 buwan
issues.review.left_comment = iniwan ang [comment]
pulls.compare_base = isama sa
activity.git_stats_additions = at mayroong
issues.reopen_comment_issue = [Comment] at buksang muli
issues.close_comment_issue = [Comment] at isara
pulls.compare_compare = hilain mula sa
pulls.waiting_count_n = %d mga hinihintay na pagsusuri
pulls.waiting_count_1 = %d hinihintay na pagsusuri
contributors.contribution_type.deletions = Mga pagbura
pulls.ready_for_review = Handa ba para sa pagsuri?
activity.period.daily = 1 araw
activity.period.halfweekly = 3 araw
activity.period.weekly = 1 linggo
activity.period.monthly = 1 buwan
activity.period.semiyearly = 6 na buwan
activity.period.yearly = 1 taon
issues.new.title_empty = Hindi maaaring walang laman ang pamagat
issues.new.projects = Mga proyeko
settings.transfer_perform = Gawin ang paglipat
settings.transfer_abort = Ipagpaliban ang paglipat
settings.transfer_owner = Bagong may-ari
pulls.tab_conversation = Pag-uusap
pulls.tab_files = Nabagong mga file
settings.new_owner_blocked_doer = Hinarang ka ng bagong may-ari.
settings.transfer.rejected = Tinanggihan ang paglipat ng [repository].
settings.transfer.success = Matagumpay na inilipat ang [repository].
settings.transfer.modal.title = Ilipat ang [ownership]
diff.view_file = Tingnan ang file
diff.parent =magulang
diff.stats_desc = <strong>%d nabagong mga file</strong> na may <strong> %d mga pagdagdag</strong> at <strong> %d mga pagtanggal</strong>
commits.commits = Mga commit
commits.ssh_key_fingerprint = Fingerprint ng SSH key
commits.signed_by_untrusted_user_unmatched = Nilagdaan ng hindi pinagkakatiwalaan na user na hindi tumutugma sa taga-commit
commits.view_path = Tignan sa puntong ito sa kasaysayan
commit.operations = Mga operasyon
commit.revert-content = Piliin ang branch na ibabalik sa:
commit.cherry-pick = I-cherry-pick
commit.cherry-pick-header = I-cherry-pick: %s
commit.cherry-pick-content = Piliin ang branch na iche-cherry-pick sa:
editor.fail_to_update_file = Nabigong baguhin/gawin ang file na "%s".
commitstatus.error = Error
projects.deletion_desc = Ang pagbura ng proyekto ay tatanggalin ito sa lahat ng mga kaugnay na isyu. Magpatuloy?
projects.template.desc = Template
projects.template.desc_helper = Pumili ng template ng proyekto para magsimula
editor.cannot_commit_to_protected_branch = Hindi makaka-commit sa naka-protekta na branch na "%s".
editor.add_subdir = Magdagdag ng direktoryo…
editor.unable_to_upload_files = Nabigong i-upload ang mga file sa "%s" na may error: %v
editor.upload_file_is_locked = Ang file na "%s" ay na lock ng %s.
editor.push_rejected = Tinanggihan ng server ang pagbabago. Pakisuri ang mga Git hook.
editor.commit_id_not_matching = Nabago ang file habang ine-edit mo. I-commit sa bagong branch at i-merge.
editor.push_out_of_date = Mukhang luma ang push.
editor.push_rejected_no_message = Hindi tinanggap ng server ang pagbabago nang walang mensahe. Pakisuri ang mga Git hook.
projects.column.new_submit = Gumawa ng column
projects.column.new = Bagong column
projects.column.delete = Burahin ang column
projects.column.deletion_desc = Ang pagbura ng column ng proyekto ay ililipat ang lahat ng mga kaugnay na isyu sa default na column. Magpatuloy?
projects.column.set_default = Itakda bilang default
projects.column.set_default_desc = Itakda ang column na ito bilang default para sa mga hindi nakategorya na isyu at mga pull
editor.commit_empty_file_header = Mag-commit ng walang lamang file
editor.commit_empty_file_text = Walang laman ang file na iko-commit mo. Magpatuloy?
editor.upload_files_to_dir = I-upload ang mga file sa "%s"
commits.no_commits = Walang mga karaniwang commit. Ang "%s" at "%s" ay may ganap na magkakaibang kasaysayan.
editor.fail_to_update_file_summary = Mensahe ng error:
editor.no_commit_to_branch = Hindi direktang maka-commit sa branch dahil:
editor.user_no_push_to_branch = Hindi makaka-push ang user sa branch
editor.require_signed_commit = Nangangailangan ng branch ng naka-sign na commit
editor.cherry_pick = I-cherry-pick ang %s sa:
commits.search_branch = Itong branch
commits.browse_further = Higit pang mag-browse
commits.renamed_from = Na-rename mula sa %s
ext_issues = Access sa mga external na isyu
ext_issues.desc = Mag-link sa external na issue tracker.
projects.new_subheader = I-coordinate, subaybayan, at i-update ang iyong trabaho sa isang lugar, para manatiling transparent at nasa iskedyul ang mga proyekto.
projects.edit_subheader = Inaayos ng mga proyekto ang mga isyu at sinusubaybayan ang pag-unlad.
projects.edit_success = Na-update na ang proyekto na "%s".
projects.type.basic_kanban = Basic na kanban
projects.type.bug_triage = Pag-uuri ng bug
projects.column.edit = I-edit ang column
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".
[search] [search]
commit_kind = Maghanap ng mga commit... commit_kind = Maghanap ng mga commit...

View file

@ -146,15 +146,15 @@ confirm_delete_artifact = Êtes-vous certain de vouloir supprimer l'artefect "%s
filter.clear = Effacer le filtre filter.clear = Effacer le filtre
filter.is_archived = Archivé filter.is_archived = Archivé
filter.not_archived = Non archivé filter.not_archived = Non archivé
filter.is_fork = Bifurcations filter.is_fork = Dupliqué
filter.not_fork = Non bifurqué filter.not_fork = Non dupliqué
filter.not_mirror = Non miroirs filter.not_mirror = Non répliqué
filter.is_template = Modèles filter.is_template = Modèle
filter.not_template = Non modèles filter.not_template = Pas un modèle
filter.public = Publique filter.public = Publique
filter.private = Privé filter.private = Privé
filter = Filtre filter = Filtre
filter.is_mirror = Miroirs filter.is_mirror = Répliqué
toggle_menu = Menu va-et-vient toggle_menu = Menu va-et-vient
more_items = Plus d'éléments more_items = Plus d'éléments
invalid_data = Données invalides: %v invalid_data = Données invalides: %v
@ -479,7 +479,7 @@ activate_email.text=Veuillez cliquer sur le lien suivant pour vérifier votre ad
register_notify=Bienvenue sur Forgejo register_notify=Bienvenue sur Forgejo
register_notify.title=%[1]s, bienvenue à %[2]s register_notify.title=%[1]s, bienvenue à %[2]s
register_notify.text_1=ceci est votre courriel de confirmation d'inscription pour %s! register_notify.text_1=ceci est votre courriel de confirmation d'inscription pour %s!
register_notify.text_2=Vous pouvez maintenant vous connecter avec le nom d'utilisateur : %s register_notify.text_2=Vous pouvez maintenant vous connecter avec le nom d'utilisateur : %s.
register_notify.text_3=Si ce compte a été créé pour vous par une autre personne, veuillez <a href="%s">définir votre mot de passe</a> d'abord. register_notify.text_3=Si ce compte a été créé pour vous par une autre personne, veuillez <a href="%s">définir votre mot de passe</a> d'abord.
reset_password=Récupérer votre compte reset_password=Récupérer votre compte
@ -637,7 +637,7 @@ required_prefix = Le texte entré doit commencer par "%s"
AccessToken = Jeton d'accès AccessToken = Jeton d'accès
FullName = Nom complet FullName = Nom complet
Description = Description Description = Description
Pronouns = Pronoms Pronouns = Qualités
Biography = Biographie Biography = Biographie
Website = Site web Website = Site web
Location = Emplacement Location = Emplacement
@ -686,9 +686,9 @@ password=Mot de passe
security=Sécurité security=Sécurité
avatar=Avatar avatar=Avatar
ssh_gpg_keys=Clés SSH / GPG ssh_gpg_keys=Clés SSH / GPG
social=Réseaux sociaux social=Réseaux Sociaux
applications=Applications applications=Applications
orgs=Organisations orgs=Gérer les organisations
repos=Dépôts repos=Dépôts
delete=Supprimer le compte delete=Supprimer le compte
twofa=Authentification à deux facteurs twofa=Authentification à deux facteurs
@ -762,8 +762,8 @@ password_change_disabled=Les mots de passes des comptes utilisateurs externes ne
emails=Adresses courriels emails=Adresses courriels
manage_emails=Gérer les adresses courriels manage_emails=Gérer les adresses courriels
manage_themes=Thème par défaut manage_themes=Sélectionner le thème par défaut
manage_openid=Adresses OpenID manage_openid=Gérer les adresses OpenID
email_desc=Votre adresse courriel principale sera utilisée pour les notifications, la récupération de mot de passe et, à condition qu'elle ne soit pas cachée, les opérations Git basées sur le Web. email_desc=Votre adresse courriel principale sera utilisée pour les notifications, la récupération de mot de passe et, à condition qu'elle ne soit pas cachée, les opérations Git basées sur le Web.
theme_desc=Ce sera votre thème par défaut sur le site. theme_desc=Ce sera votre thème par défaut sur le site.
primary=Principale primary=Principale
@ -874,7 +874,7 @@ social_desc=Ces comptes sociaux peuvent être utilisés pour vous connecter à v
unbind=Dissocier unbind=Dissocier
unbind_success=Le compte social a été supprimé avec succès. unbind_success=Le compte social a été supprimé avec succès.
manage_access_token=Jetons d'accès manage_access_token=Gérer les jetons d'accès
generate_new_token=Générer un nouveau jeton generate_new_token=Générer un nouveau jeton
tokens_desc=Ces jetons permettent l'accès à votre compte à travers l'API Forgejo. tokens_desc=Ces jetons permettent l'accès à votre compte à travers l'API Forgejo.
token_name=Nom du jeton token_name=Nom du jeton
@ -956,10 +956,10 @@ webauthn_delete_key_desc=Si vous retirez une clé de sécurité, vous ne pourrez
webauthn_key_loss_warning=Si vous perdez vos clés de sécurité, vous perdrez laccès à votre compte. webauthn_key_loss_warning=Si vous perdez vos clés de sécurité, vous perdrez laccès à votre compte.
webauthn_alternative_tip=Vous devriez configurer une méthode dauthentification supplémentaire. webauthn_alternative_tip=Vous devriez configurer une méthode dauthentification supplémentaire.
manage_account_links=Comptes liés manage_account_links=Gérer les comptes liés
manage_account_links_desc=Ces comptes externes sont liés à votre compte Forgejo. manage_account_links_desc=Ces comptes externes sont liés à votre compte Forgejo.
account_links_not_available=Il n'y a pour l'instant pas de compte externe connecté à votre compte Forgejo. account_links_not_available=Il n'y a pour l'instant pas de compte externe connecté à votre compte Forgejo.
link_account=Lier un compte link_account=Lier un Compte
remove_account_link=Supprimer un compte lié remove_account_link=Supprimer un compte lié
remove_account_link_desc=La suppression d'un compte lié révoquera son accès à votre compte Forgejo. Continuer ? remove_account_link_desc=La suppression d'un compte lié révoquera son accès à votre compte Forgejo. Continuer ?
remove_account_link_success=Le compte lié a été supprimé. remove_account_link_success=Le compte lié a été supprimé.
@ -997,13 +997,12 @@ user_block_success = Cet utilisateur a été bloqué avec succès.
change_password = Modifier le mot de passe change_password = Modifier le mot de passe
hints = Suggestions hints = Suggestions
additional_repo_units_hint_description = Afficher un bouton "Ajouter plus d'unités..." pour les dépôts qui n'ont pas toutes les unités disponibles activées. additional_repo_units_hint_description = Afficher un bouton "Ajouter plus d'unités..." pour les dépôts qui n'ont pas toutes les unités disponibles activées.
additional_repo_units_hint = Suggérer l'ajout de nouvelles unités pour le dépôt additional_repo_units_hint = Encourager l'ajout de nouvelles unités pour le dépôt
update_hints = Mettre à jour les suggestions update_hints = Mettre à jour les suggestions
update_hints_success = Les suggestions ont été mises à jour. update_hints_success = Les suggestions ont été mises à jour.
pronouns_custom = Personnalisés pronouns_custom = Sur mesure
pronouns = Pronoms pronouns = Qualités
pronouns_unspecified = Non spécifié pronouns_unspecified = Non spécifié
language.title = Langue par défaut
[repo] [repo]
new_repo_helper=Un dépôt contient tous les fichiers dun projet, ainsi que lhistorique de leurs modifications. Vous avez déjà ça ailleurs ? <a href="%s">Migrez-le ici.</a> new_repo_helper=Un dépôt contient tous les fichiers dun projet, ainsi que lhistorique de leurs modifications. Vous avez déjà ça ailleurs ? <a href="%s">Migrez-le ici.</a>
@ -1013,7 +1012,7 @@ repo_name=Nom du dépôt
repo_name_helper=Idéalement, le nom d'un dépôt devrait être court, mémorisable et unique. repo_name_helper=Idéalement, le nom d'un dépôt devrait être court, mémorisable et unique.
repo_size=Taille du dépôt repo_size=Taille du dépôt
template=Modèle template=Modèle
template_select=Sélectionner un modèle. template_select=Sélectionner un modèle
template_helper=Faire de ce dépôt un modèle template_helper=Faire de ce dépôt un modèle
template_description=Les référentiels de modèles permettent aux utilisateurs de générer de nouveaux référentiels avec la même structure de répertoire, fichiers et paramètres optionnels. template_description=Les référentiels de modèles permettent aux utilisateurs de générer de nouveaux référentiels avec la même structure de répertoire, fichiers et paramètres optionnels.
visibility=Visibilité visibility=Visibilité
@ -1088,20 +1087,20 @@ language_other=Autre
adopt_search=Entrez un nom dutilisateur pour rechercher les dépôts dépossédés… (laissez vide pour tous trouver) adopt_search=Entrez un nom dutilisateur pour rechercher les dépôts dépossédés… (laissez vide pour tous trouver)
adopt_preexisting_label=Adopter les fichiers adopt_preexisting_label=Adopter les fichiers
adopt_preexisting=Adopter les fichiers préexistants adopt_preexisting=Adopter les fichiers préexistants
adopt_preexisting_content=Créer un dépôt à partir de %s adopt_preexisting_content=Créer un dépôt à partir de %s.
adopt_preexisting_success=Fichiers adoptés et dépôt créé depuis %s adopt_preexisting_success=Fichiers adoptés et dépôt créé depuis %s
delete_preexisting_label=Supprimer delete_preexisting_label=Supprimer
delete_preexisting=Supprimer les fichiers préexistants delete_preexisting=Supprimer les fichiers préexistants
delete_preexisting_content=Supprimer les fichiers dans %s delete_preexisting_content=Supprimer les fichiers dans %s
delete_preexisting_success=Fichiers dépossédés supprimés dans %s delete_preexisting_success=Fichiers dépossédés supprimés dans %s.
blame_prior=Voir le blame avant cette modification blame_prior=Voir le blame avant cette modification
blame.ignore_revs=Les révisions dans <a href="%s">.git-blame-ignore-revs</a> sont ignorées. Vous pouvez quand même <a href="%s">voir ces blâmes</a>. blame.ignore_revs=Les révisions dans <a href="%s">.git-blame-ignore-revs</a> sont ignorées. Vous pouvez quand même <a href="%s">voir ces blâmes</a>.
blame.ignore_revs.failed=Impossible d'ignorer les révisions dans <a href="%s">.git-blame-ignore-revs</a>. blame.ignore_revs.failed=Impossible d'ignorer les révisions dans <a href="%s">.git-blame-ignore-revs</a>.
author_search_tooltip=Affiche un maximum de 30 utilisateurs author_search_tooltip=Affiche un maximum de 30 utilisateurs
tree_path_not_found_commit=Le chemin %[1]s nexiste pas dans la révision %[2]s tree_path_not_found_commit=Le chemin %[1]s nexiste pas dans la révision %[2]s.
tree_path_not_found_branch=Le chemin %[1]s nexiste pas dans la branche %[2]s tree_path_not_found_branch=Le chemin %[1]s nexiste pas dans la branche %[2]s.
tree_path_not_found_tag=Le chemin %[1]s nexiste pas dans létiquette %[2]s tree_path_not_found_tag=Le chemin %[1]s nexiste pas dans létiquette %[2]s.
transfer.accept=Accepter le transfert transfer.accept=Accepter le transfert
transfer.accept_desc=`Transférer à "%s"` transfer.accept_desc=`Transférer à "%s"`
@ -1164,7 +1163,7 @@ migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts lo
migrate.permission_denied_blocked=Vous ne pouvez pas importer depuis des hôtes interdits, veuillez demander à l'administrateur de vérifier les paramètres ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS. migrate.permission_denied_blocked=Vous ne pouvez pas importer depuis des hôtes interdits, veuillez demander à l'administrateur de vérifier les paramètres ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS.
migrate.invalid_local_path=Le chemin local nest pas valide, nexiste pas ou nest pas un dossier. migrate.invalid_local_path=Le chemin local nest pas valide, nexiste pas ou nest pas un dossier.
migrate.invalid_lfs_endpoint=Le point d'accès LFS n'est pas valide. migrate.invalid_lfs_endpoint=Le point d'accès LFS n'est pas valide.
migrate.failed=Échec de migration: %v migrate.failed=Echec de migration: %v
migrate.migrate_items_options=Un jeton d'accès est requis pour migrer des éléments supplémentaires migrate.migrate_items_options=Un jeton d'accès est requis pour migrer des éléments supplémentaires
migrated_from=Migré de <a href="%[1]s">%[2]s</a> migrated_from=Migré de <a href="%[1]s">%[2]s</a>
migrated_from_fake=Migré de %[1]s migrated_from_fake=Migré de %[1]s
@ -1185,7 +1184,7 @@ migrate.migrating_git=Migration des données Git
migrate.migrating_topics=Migration des sujets migrate.migrating_topics=Migration des sujets
migrate.migrating_milestones=Migration des jalons migrate.migrating_milestones=Migration des jalons
migrate.migrating_labels=Migration des labels migrate.migrating_labels=Migration des labels
migrate.migrating_releases=Migration des publications migrate.migrating_releases=Migration des publications.
migrate.migrating_issues=Migration des tickets migrate.migrating_issues=Migration des tickets
migrate.migrating_pulls=Migration des demandes d'ajout migrate.migrating_pulls=Migration des demandes d'ajout
migrate.cancel_migrating_title=Annuler la migration migrate.cancel_migrating_title=Annuler la migration
@ -1230,7 +1229,7 @@ project_board=Projets
packages=Paquets packages=Paquets
actions=Actions actions=Actions
labels=Labels labels=Labels
org_labels_desc=Les labels d'une organisation peuvent être utilisés avec <strong>tous les dépôts</strong> de cette organisation org_labels_desc=Les labels d'une organisation peuvent être utilisés avec <strong>tous les dépôts</strong> de cette organisation.
org_labels_desc_manage=gérer org_labels_desc_manage=gérer
milestones=Jalons milestones=Jalons
@ -1308,7 +1307,7 @@ editor.add=Ajouter %s
editor.update=Actualiser %s editor.update=Actualiser %s
editor.delete=Supprimer %s editor.delete=Supprimer %s
editor.patch=Appliquer le correctif editor.patch=Appliquer le correctif
editor.patching=Correction: editor.patching=Correction:
editor.fail_to_apply_patch=`Impossible d'appliquer le correctif "%s"` editor.fail_to_apply_patch=`Impossible d'appliquer le correctif "%s"`
editor.new_patch=Nouveau correctif editor.new_patch=Nouveau correctif
editor.commit_message_desc=Ajouter une description détaillée facultative… editor.commit_message_desc=Ajouter une description détaillée facultative…
@ -1347,15 +1346,15 @@ editor.cannot_commit_to_protected_branch=Impossible de créer une révision sur
editor.no_commit_to_branch=Impossible d'enregistrer la révision directement sur la branche parce que : editor.no_commit_to_branch=Impossible d'enregistrer la révision directement sur la branche parce que :
editor.user_no_push_to_branch=L'utilisateur ne peut pas pousser vers la branche editor.user_no_push_to_branch=L'utilisateur ne peut pas pousser vers la branche
editor.require_signed_commit=Cette branche nécessite une révision signée editor.require_signed_commit=Cette branche nécessite une révision signée
editor.cherry_pick=Picorer %s vers: editor.cherry_pick=Picorer %s vers:
editor.revert=Rétablir %s sur: editor.revert=Rétablir %s sur:
commits.desc=Naviguer dans l'historique des modifications. commits.desc=Naviguer dans l'historique des modifications.
commits.commits=Révisions commits.commits=Révisions
commits.no_commits=Pas de révisions en commun. "%s" et "%s" ont des historiques entièrement différents. commits.no_commits=Pas de révisions en commun. "%s" et "%s" ont des historiques entièrement différents.
commits.nothing_to_compare=Ces branches sont égales. commits.nothing_to_compare=Ces branches sont égales.
commits.search=Rechercher des révisions… commits.search=Rechercher des révisions…
commits.search.tooltip=Vous pouvez utiliser les mots-clés "author:", "committer:", "after:", ou "before:" pour filtrer votre recherche, ex.: "revert author:Alice before:2019-01-13". commits.search.tooltip=Vous pouvez utiliser les mots-clés "author:", "committer:", "after:", ou "before:" pour filtrer votre recherche, ex.: "revert author:Alice before:2019-01-13".
commits.find=Chercher commits.find=Chercher
commits.search_all=Toutes les branches commits.search_all=Toutes les branches
commits.author=Auteur commits.author=Auteur
@ -1396,7 +1395,7 @@ projects.new=Nouveau projet
projects.new_subheader=Coordonnez, surveillez, et mettez à jour votre travail en un seul endroit, afin que les projets restent transparents et dans les délais. projects.new_subheader=Coordonnez, surveillez, et mettez à jour votre travail en un seul endroit, afin que les projets restent transparents et dans les délais.
projects.create_success=Le projet "%s" a été créé. projects.create_success=Le projet "%s" a été créé.
projects.deletion=Supprimer le projet projects.deletion=Supprimer le projet
projects.deletion_desc=Supprimer un projet efface également de tous les tickets liés. Voulez vous continuer? projects.deletion_desc=Supprimer un projet efface également de tous les tickets liés. Voulez vous continuer?
projects.deletion_success=Le projet a été supprimé. projects.deletion_success=Le projet a été supprimé.
projects.edit=Modifier les projets projects.edit=Modifier les projets
projects.edit_subheader=Les projets organisent les tickets et la progression. projects.edit_subheader=Les projets organisent les tickets et la progression.
@ -1414,7 +1413,7 @@ projects.column.new_title=Nom
projects.column.new_submit=Créer une colonne projects.column.new_submit=Créer une colonne
projects.column.new=Nouvelle colonne projects.column.new=Nouvelle colonne
projects.column.set_default=Définir par défaut projects.column.set_default=Définir par défaut
projects.column.set_default_desc=Les tickets et demandes dajout non-catégorisés seront placés dans cette colonne projects.column.set_default_desc=Les tickets et demandes dajout non-catégorisés seront placés dans cette colonne.
projects.column.unset_default=Défaire par défaut projects.column.unset_default=Défaire par défaut
projects.column.unset_default_desc=Les tickets et demandes d'ajouts non-catégorisés seront placés dans une colonne idoine. projects.column.unset_default_desc=Les tickets et demandes d'ajouts non-catégorisés seront placés dans une colonne idoine.
projects.column.delete=Supprimer la colonne projects.column.delete=Supprimer la colonne
@ -1471,15 +1470,15 @@ issues.label_templates.info=Il n'existe pas encore de label. Créez-en un avec
issues.label_templates.helper=Sélectionnez un jeu de label issues.label_templates.helper=Sélectionnez un jeu de label
issues.label_templates.use=Utiliser le jeu de labels issues.label_templates.use=Utiliser le jeu de labels
issues.label_templates.fail_to_load_file=Impossible de charger le fichier de modèle de label « %s » : %v issues.label_templates.fail_to_load_file=Impossible de charger le fichier de modèle de label « %s » : %v
issues.add_label=a ajouté le label %s %s issues.add_label=a ajouté le label %s %s.
issues.add_labels=a ajouté les labels %s %s issues.add_labels=a ajouté les labels %s %s.
issues.remove_label=a retiré le label %s %s issues.remove_label=a retiré le label %s %s.
issues.remove_labels=a supprimé les labels %s %s issues.remove_labels=a supprimé les labels %s %s.
issues.add_remove_labels=a ajouté le label %s et supprimé %s %s issues.add_remove_labels=a ajouté le label %s et supprimé %s %s.
issues.add_milestone_at=`a ajouté ça au jalon <b>%s</b> %s.` issues.add_milestone_at=`a ajouté ça au jalon <b>%s</b> %s.`
issues.add_project_at=`a ajouté ça au projet <b>%s</b> %s.` issues.add_project_at=`a ajouté ça au projet <b>%s</b> %s.`
issues.change_milestone_at=`a remplacé le jalon <b>%s</b> par <b>%s</b> %s` issues.change_milestone_at=`a remplacé le jalon <b><strike>%s</strike></b> par <b>%s</b> %s.`
issues.change_project_at=`a remplacé le projet <b>%s</b> par <b>%s</b> %s` issues.change_project_at=`a remplacé le projet <b><strike>%s</strike></b> par <b>%s</b> %s.`
issues.remove_milestone_at=`a supprimé ça du jalon <b>%s</b> %s.` issues.remove_milestone_at=`a supprimé ça du jalon <b>%s</b> %s.`
issues.remove_project_at=`a supprimé ça du projet <b>%s</b> %s.` issues.remove_project_at=`a supprimé ça du projet <b>%s</b> %s.`
issues.deleted_milestone=`(supprimé)` issues.deleted_milestone=`(supprimé)`
@ -1541,8 +1540,8 @@ issues.action_assignee_no_select=Pas d'assignataire
issues.action_check=Cocher/Décocher issues.action_check=Cocher/Décocher
issues.action_check_all=Cocher/Décocher tous les éléments issues.action_check_all=Cocher/Décocher tous les éléments
issues.opened_by=créé %[1]s par <a href="%[2]s">%[3]s</a> issues.opened_by=créé %[1]s par <a href="%[2]s">%[3]s</a>
pulls.merged_by=par <a href="%[2]s">%[3]s</a> fusionné %[1]s pulls.merged_by=par <a href="%[2]s">%[3]s</a> fusionné %[1]s.
pulls.merged_by_fake=par %[2]s fusionné %[1]s pulls.merged_by_fake=par %[2]s fusionné %[1]s.
issues.closed_by=de <a href="%[2]s">%[3]s</a>, clôt %[1]s issues.closed_by=de <a href="%[2]s">%[3]s</a>, clôt %[1]s
issues.opened_by_fake=%[1]s ouvert par %[2]s issues.opened_by_fake=%[1]s ouvert par %[2]s
issues.closed_by_fake=de %[2]s, clôt %[1]s issues.closed_by_fake=de %[2]s, clôt %[1]s
@ -1554,7 +1553,7 @@ issues.draft_title=Brouillon
issues.num_comments_1=%d commentaire issues.num_comments_1=%d commentaire
issues.num_comments=%d commentaires issues.num_comments=%d commentaires
issues.commented_at=`a commenté <a href="#%s"> %s</a>.` issues.commented_at=`a commenté <a href="#%s"> %s</a>.`
issues.delete_comment_confirm=Êtes-vous certain de vouloir supprimer ce commentaire? issues.delete_comment_confirm=Êtes-vous certain de vouloir supprimer ce commentaire?
issues.context.copy_link=Copier le lien issues.context.copy_link=Copier le lien
issues.context.quote_reply=Citer et répondre issues.context.quote_reply=Citer et répondre
issues.context.reference_issue=Référencer dans un nouveau ticket issues.context.reference_issue=Référencer dans un nouveau ticket
@ -1591,7 +1590,7 @@ issues.role.first_time_contributor_helper=C'est la première contribution de cet
issues.role.contributor=Contributeur issues.role.contributor=Contributeur
issues.role.contributor_helper=Cet utilisateur a déjà des révisions dans le dépôt. issues.role.contributor_helper=Cet utilisateur a déjà des révisions dans le dépôt.
issues.re_request_review=Redemander une évaluation issues.re_request_review=Redemander une évaluation
issues.is_stale=Cette demande dajout a été corrigée depuis sa dernière évaluation issues.is_stale=Cette demande dajout a été corrigée depuis sa dernière évaluation.
issues.remove_request_review=Retirer la demande dévaluation issues.remove_request_review=Retirer la demande dévaluation
issues.remove_request_review_block=Impossible de retirer la demande dévaluation issues.remove_request_review_block=Impossible de retirer la demande dévaluation
issues.dismiss_review=Révoquer lévaluation issues.dismiss_review=Révoquer lévaluation
@ -1656,7 +1655,7 @@ issues.tracker=Minuteur
issues.start_tracking_short=Démarrer le chronomètre issues.start_tracking_short=Démarrer le chronomètre
issues.start_tracking=Démarrer le suivi du temps issues.start_tracking=Démarrer le suivi du temps
issues.start_tracking_history=`a commencé son travail %s.` issues.start_tracking_history=`a commencé son travail %s.`
issues.tracker_auto_close=Le minuteur sera automatiquement arrêté quand le ticket sera fermé issues.tracker_auto_close=Le minuteur sera automatiquement arrêté quand le ticket sera fermé.
issues.tracking_already_started=`Vous avez déjà un minuteur en cours sur <a href="%s">un autre ticket</a> !` issues.tracking_already_started=`Vous avez déjà un minuteur en cours sur <a href="%s">un autre ticket</a> !`
issues.stop_tracking=Arrêter le chronomètre issues.stop_tracking=Arrêter le chronomètre
issues.stop_tracking_history=`a fini de travailler %s.` issues.stop_tracking_history=`a fini de travailler %s.`
@ -1725,23 +1724,23 @@ issues.dependency.add_error_cannot_create_circular=Vous ne pouvez pas créer une
issues.dependency.add_error_dep_not_same_repo=Les deux tickets doivent être dans le même dépôt. issues.dependency.add_error_dep_not_same_repo=Les deux tickets doivent être dans le même dépôt.
issues.review.self.approval=Vous ne pouvez approuver vos propres demandes d'ajout. issues.review.self.approval=Vous ne pouvez approuver vos propres demandes d'ajout.
issues.review.self.rejection=Vous ne pouvez demander de changements sur vos propres demandes de changement. issues.review.self.rejection=Vous ne pouvez demander de changements sur vos propres demandes de changement.
issues.review.approve=a approuvé ces modifications %s issues.review.approve=a approuvé ces modifications %s.
issues.review.comment=a évalué cette demande dajout %s issues.review.comment=a évalué cette demande dajout %s.
issues.review.dismissed=a révoqué lévaluation de %s %s issues.review.dismissed=a révoqué lévaluation de %s %s
issues.review.dismissed_label=Révoquée issues.review.dismissed_label=Révoquée
issues.review.left_comment=laisser un commentaire issues.review.left_comment=laisser un commentaire
issues.review.content.empty=Vous devez laisser un commentaire indiquant le(s) changement(s) demandé(s). issues.review.content.empty=Vous devez laisser un commentaire indiquant le(s) changement(s) demandé(s).
issues.review.reject=a requis les changements %s issues.review.reject=a requis les changements %s
issues.review.wait=a été sollicité pour évaluer cette demande dajout %s issues.review.wait=a été sollicité pour évaluer cette demande dajout %s.
issues.review.add_review_request=a demandé à %s une évaluation %s issues.review.add_review_request=a demandé à %s une évaluation %s.
issues.review.remove_review_request=a retiré la demande dévaluation pour %s %s issues.review.remove_review_request=a retiré la demande dévaluation pour %s %s.
issues.review.remove_review_request_self=a refusé dévaluer cette demande dajout %s issues.review.remove_review_request_self=a refusé dévaluer cette demande dajout %s.
issues.review.pending=En attente issues.review.pending=En attente
issues.review.pending.tooltip=Ce commentaire n'est pas encore visible par les autres utilisateurs. Pour soumettre vos commentaires en attente, sélectionnez "%s" → "%s/%s/%s" en haut de la page. issues.review.pending.tooltip=Ce commentaire n'est pas encore visible par les autres utilisateurs. Pour soumettre vos commentaires en attente, sélectionnez "%s" → "%s/%s/%s" en haut de la page.
issues.review.review=Évaluation issues.review.review=Évaluation
issues.review.reviewers=Évaluateurs issues.review.reviewers=Évaluateurs
issues.review.outdated=Périmé issues.review.outdated=Périmé
issues.review.outdated_description=Le contenu a changé depuis que ce commentaire a été fait issues.review.outdated_description=Le contenu a changé depuis que ce commentaire a été fait.
issues.review.option.show_outdated_comments=Afficher les commentaires obsolètes issues.review.option.show_outdated_comments=Afficher les commentaires obsolètes
issues.review.option.hide_outdated_comments=Masquer les commentaires obsolètes issues.review.option.hide_outdated_comments=Masquer les commentaires obsolètes
issues.review.show_outdated=Afficher les révisions périmées issues.review.show_outdated=Afficher les révisions périmées
@ -1750,7 +1749,7 @@ issues.review.show_resolved=Développer
issues.review.hide_resolved=Réduire issues.review.hide_resolved=Réduire
issues.review.resolve_conversation=Clore la conversation issues.review.resolve_conversation=Clore la conversation
issues.review.un_resolve_conversation=Rouvrir la conversation issues.review.un_resolve_conversation=Rouvrir la conversation
issues.review.resolved_by=a marqué cette conversation comme résolue issues.review.resolved_by=a marqué cette conversation comme résolue.
issues.assignee.error=Tous les assignés n'ont pas été ajoutés en raison d'une erreur inattendue. issues.assignee.error=Tous les assignés n'ont pas été ajoutés en raison d'une erreur inattendue.
issues.reference_issue.body=Corps issues.reference_issue.body=Corps
issues.content_history.deleted=a supprimé issues.content_history.deleted=a supprimé
@ -1784,11 +1783,11 @@ pulls.switch_head_and_base=Passez de head à base
pulls.filter_branch=Filtre de branche pulls.filter_branch=Filtre de branche
pulls.no_results=Aucun résultat trouvé. pulls.no_results=Aucun résultat trouvé.
pulls.show_all_commits=Afficher toutes les révisions pulls.show_all_commits=Afficher toutes les révisions
pulls.show_changes_since_your_last_review=Affiche les modifications depuis votre dernière évaluation pulls.show_changes_since_your_last_review=Affiche les modifications depuis votre dernière évaluation.
pulls.showing_only_single_commit=Affiche uniquement les changements de la révision %[1]s pulls.showing_only_single_commit=Affiche uniquement les changements de la révision %[1]s
pulls.showing_specified_commit_range=Affichage des changements filtré entre %[1]s..%[2]s pulls.showing_specified_commit_range=Affichage des changements filtré entre %[1]s..%[2]s
pulls.select_commit_hold_shift_for_range=Maintenir Maj et cliquer sur des révisions pour faire un intervalle pulls.select_commit_hold_shift_for_range=Maintenir Maj et cliquer sur des révisions pour faire un intervalle
pulls.review_only_possible_for_full_diff=Une évaluation n'est possible que lorsque vous affichez le différentiel complet pulls.review_only_possible_for_full_diff=Une évaluation n'est possible que lorsque vous affichez le différentiel complet.
pulls.filter_changes_by_commit=Filtrer par révision pulls.filter_changes_by_commit=Filtrer par révision
pulls.nothing_to_compare=Ces branches sont identiques. Il ny a pas besoin de créer une demande d'ajout. pulls.nothing_to_compare=Ces branches sont identiques. Il ny a pas besoin de créer une demande d'ajout.
pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide. pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide.
@ -1796,7 +1795,7 @@ pulls.has_pull_request='Il existe déjà une demande d'ajout entre ces deux bran
pulls.create=Créer une demande d'ajout pulls.create=Créer une demande d'ajout
pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code> pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code>
pulls.merged_title_desc_few=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s pulls.merged_title_desc_few=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`a remplacée la branche cible <b>%s</b> par <b>%s</b> %s` pulls.change_target_branch_at=`a remplacée la branche cible <b><strike>%s</strike></b> par <b>%s</b> %s.`
pulls.tab_conversation=Discussion pulls.tab_conversation=Discussion
pulls.tab_commits=Révisions pulls.tab_commits=Révisions
pulls.tab_files=Fichiers Modifiés pulls.tab_files=Fichiers Modifiés
@ -1859,8 +1858,8 @@ pulls.merge_conflict=Échec de la fusion : il y a eu un conflit lors de la fusio
pulls.merge_conflict_summary=Message d'erreur pulls.merge_conflict_summary=Message d'erreur
pulls.rebase_conflict=Fusion échouée : il y a eu un conflit lors du rebasage de la révision %[1]s. Astuce : Essayez une stratégie différente pulls.rebase_conflict=Fusion échouée : il y a eu un conflit lors du rebasage de la révision %[1]s. Astuce : Essayez une stratégie différente
pulls.rebase_conflict_summary=Message d'erreur pulls.rebase_conflict_summary=Message d'erreur
pulls.unrelated_histories=Échec de la fusion: La tête de fusion et la base ne partagent pas d'historique commun. Indice: Essayez une stratégie différente pulls.unrelated_histories=Échec de la fusion: La tête de fusion et la base ne partagent pas d'historique commun. Indice : Essayez une stratégie différente
pulls.merge_out_of_date=Échec de la fusion: La base a été mise à jour en cours de fusion. Indice: Réessayez. pulls.merge_out_of_date=Échec de la fusion: La base a été mise à jour en cours de fusion. Indice : Réessayez.
pulls.head_out_of_date=Échec de la fusion : Len-tête a été mis à jour pendant la fusion. Conseil : réessayez. pulls.head_out_of_date=Échec de la fusion : Len-tête a été mis à jour pendant la fusion. Conseil : réessayez.
pulls.has_merged=Échec : La demande dajout est déjà fusionnée, vous ne pouvez plus la fusionner, ni modifier sa branche cible. pulls.has_merged=Échec : La demande dajout est déjà fusionnée, vous ne pouvez plus la fusionner, ni modifier sa branche cible.
pulls.push_rejected=Échec du push : la soumission a été rejetée. Revoyez les Git hook pour ce dépôt. pulls.push_rejected=Échec du push : la soumission a été rejetée. Revoyez les Git hook pour ce dépôt.
@ -1893,7 +1892,7 @@ pulls.clear_merge_message=Effacer le message de fusion
pulls.clear_merge_message_hint=Effacer le message de fusion ne supprimera que le message de la révision, mais pas les pieds de révision générés tels que "Co-Authored-By:". pulls.clear_merge_message_hint=Effacer le message de fusion ne supprimera que le message de la révision, mais pas les pieds de révision générés tels que "Co-Authored-By:".
pulls.auto_merge_button_when_succeed=(Lorsque les vérifications ont réussi) pulls.auto_merge_button_when_succeed=(Lorsque les vérifications ont réussi)
pulls.auto_merge_when_succeed=Fusionner automatiquement si toutes les vérifications passent pulls.auto_merge_when_succeed=Fusionner automatiquement si toutes les vérifications passent.
pulls.auto_merge_newly_scheduled=La demande d'ajout était programmée pour fusionner lorsque toutes les vérifications aurait réussi. pulls.auto_merge_newly_scheduled=La demande d'ajout était programmée pour fusionner lorsque toutes les vérifications aurait réussi.
pulls.auto_merge_has_pending_schedule=%[1]s Ont planifié cette demande d'ajout pour fusionner automatiquement lorsque toutes les vérifications réussissent %[2]s. pulls.auto_merge_has_pending_schedule=%[1]s Ont planifié cette demande d'ajout pour fusionner automatiquement lorsque toutes les vérifications réussissent %[2]s.
@ -1907,7 +1906,7 @@ pulls.auto_merge_canceled_schedule_comment=`a annulé la fusion automatique de c
pulls.delete.title=Supprimer cette demande d'ajout ? pulls.delete.title=Supprimer cette demande d'ajout ?
pulls.delete.text=Voulez-vous vraiment supprimer cet demande d'ajout ? (Cela supprimera définitivement tout le contenu. Envisagez de le fermer à la place, si vous avez l'intention de le garder archivé) pulls.delete.text=Voulez-vous vraiment supprimer cet demande d'ajout ? (Cela supprimera définitivement tout le contenu. Envisagez de le fermer à la place, si vous avez l'intention de le garder archivé)
pulls.recently_pushed_new_branches=Vous avez soumis sur la branche <a href="%[3]s"><strong>%[1]s</strong></a> %[2]s pulls.recently_pushed_new_branches=Vous avez soumis sur la branche <strong>%[1]s</strong> %[2]s
pull.deleted_branch=(supprimé) : %s pull.deleted_branch=(supprimé) : %s
@ -1918,7 +1917,7 @@ milestones.no_due_date=Aucune date d'échéance
milestones.open=Ouvrir milestones.open=Ouvrir
milestones.close=Fermer milestones.close=Fermer
milestones.new_subheader=Les jalons peuvent vous aider à organiser vos tickets et à suivre leurs progrès. milestones.new_subheader=Les jalons peuvent vous aider à organiser vos tickets et à suivre leurs progrès.
milestones.completeness=<strong>%d%%</strong> Complété milestones.completeness=%d%% complété
milestones.create=Créer un Jalon milestones.create=Créer un Jalon
milestones.title=Titre milestones.title=Titre
milestones.desc=Description milestones.desc=Description
@ -1972,7 +1971,7 @@ wiki.default_commit_message=Écrire une note concernant cette mise à jour (opti
wiki.save_page=Enregistrer la page wiki.save_page=Enregistrer la page
wiki.last_commit_info=%s a édité cette page %s wiki.last_commit_info=%s a édité cette page %s
wiki.edit_page_button=Modifier wiki.edit_page_button=Modifier
wiki.new_page_button=Nouvelle page wiki.new_page_button=Nouvelle Page
wiki.file_revision=Révisions de la page wiki.file_revision=Révisions de la page
wiki.wiki_page_revisions=Révisions de la page wiki wiki.wiki_page_revisions=Révisions de la page wiki
wiki.back_to_wiki=Retour à la page wiki wiki.back_to_wiki=Retour à la page wiki
@ -1981,7 +1980,7 @@ wiki.delete_page_notice_1=Supprimer la page de wiki "%s" est irréversible. Cont
wiki.page_already_exists=Une page de wiki avec le même nom existe déjà. wiki.page_already_exists=Une page de wiki avec le même nom existe déjà.
wiki.reserved_page=Le nom de page de wiki "%s" est réservé. wiki.reserved_page=Le nom de page de wiki "%s" est réservé.
wiki.pages=Pages wiki.pages=Pages
wiki.last_updated=Dernière mise à jour: %s wiki.last_updated=Dernière mise à jour: %s
wiki.page_name_desc=Entrez un nom pour cette page Wiki. Certains noms spéciaux sont « Home », « _Sidebar » et « _Footer ». wiki.page_name_desc=Entrez un nom pour cette page Wiki. Certains noms spéciaux sont « Home », « _Sidebar » et « _Footer ».
wiki.original_git_entry_tooltip=Voir le fichier Git original au lieu d'utiliser un lien convivial. wiki.original_git_entry_tooltip=Voir le fichier Git original au lieu d'utiliser un lien convivial.
@ -2145,12 +2144,12 @@ settings.pulls.default_allow_edits_from_maintainers=Autoriser les modifications
settings.releases_desc=Activer les publications du dépôt settings.releases_desc=Activer les publications du dépôt
settings.packages_desc=Activer le registre des paquets du dépôt settings.packages_desc=Activer le registre des paquets du dépôt
settings.projects_desc=Activer les projets de dépôt settings.projects_desc=Activer les projets de dépôt
settings.actions_desc=Activer l'intégration continue avec Forgejo Actions settings.actions_desc=Activer les actions du dépôt
settings.admin_settings=Paramètres administrateur settings.admin_settings=Paramètres administrateur
settings.admin_enable_health_check=Activer les vérifications de santé du dépôt (git fsck) settings.admin_enable_health_check=Activer les vérifications de santé du dépôt (git fsck)
settings.admin_code_indexer=Indexeur de code settings.admin_code_indexer=Indexeur de code
settings.admin_stats_indexer=Indexeur des statistiques de code settings.admin_stats_indexer=Indexeur des statistiques de code
settings.admin_indexer_commit_sha=Dernier commit indexé settings.admin_indexer_commit_sha=Dernier SHA indexé
settings.admin_indexer_unindexed=Non indexé settings.admin_indexer_unindexed=Non indexé
settings.reindex_button=Ajouter à queue de réindexation settings.reindex_button=Ajouter à queue de réindexation
settings.reindex_requested=Réindexation demandée settings.reindex_requested=Réindexation demandée
@ -2167,7 +2166,7 @@ settings.convert_fork_desc=Vous pouvez convertir cette bifurcation en dépôt st
settings.convert_fork_notices_1=Cette opération convertira la bifurcation en dépôt standard. Cette action est irréversible. settings.convert_fork_notices_1=Cette opération convertira la bifurcation en dépôt standard. Cette action est irréversible.
settings.convert_fork_confirm=Convertir le dépôt settings.convert_fork_confirm=Convertir le dépôt
settings.convert_fork_succeed=La bifurcation a été convertie en dépôt standard. settings.convert_fork_succeed=La bifurcation a été convertie en dépôt standard.
settings.transfer.title=Changer de propriétaire settings.transfer=Changer de propriétaire
settings.transfer.rejected=Le transfert du dépôt a été rejeté. settings.transfer.rejected=Le transfert du dépôt a été rejeté.
settings.transfer.success=Le transfert du dépôt a réussi. settings.transfer.success=Le transfert du dépôt a réussi.
settings.transfer_abort=Annuler le transfert settings.transfer_abort=Annuler le transfert
@ -2409,12 +2408,12 @@ settings.ignore_stale_approvals_desc=Ignorer les approbations danciennes rév
settings.require_signed_commits=Exiger des révisions (commits) signées settings.require_signed_commits=Exiger des révisions (commits) signées
settings.require_signed_commits_desc=Rejeter les soumissions sur cette branche lorsqu'ils ne sont pas signés ou vérifiables. settings.require_signed_commits_desc=Rejeter les soumissions sur cette branche lorsqu'ils ne sont pas signés ou vérifiables.
settings.protect_branch_name_pattern=Motif de nom de branche protégé settings.protect_branch_name_pattern=Motif de nom de branche protégé
settings.protect_branch_name_pattern_desc=Motifs de nom de branche protégé. Consultez la <a href="https://github.com/gobwas/glob">documentation</a> pour la syntaxe du motif. Exemples : main, release/** settings.protect_branch_name_pattern_desc=Motifs de nom de branche protégé. Consultez la <a href="github.com/gobwas/glob">documentation</a> pour la syntaxe du motif. Exemples : <code>main</code>, <code>release/**</code>
settings.protect_patterns=Motifs settings.protect_patterns=Motifs
settings.protect_protected_file_patterns=Liste des fichiers et motifs protégés (séparés par un point virgule ";") : settings.protect_protected_file_patterns=Liste des fichiers et motifs protégés (séparés par un point virgule ";") :
settings.protect_protected_file_patterns_desc=Les fichiers protégés ne peuvent être modifiés, même si l'utilisateur a le droit d'ajouter, éditer ou supprimer des fichiers dans cette branche. Plusieurs motifs peuvent être séparés par un point-virgule ( ;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>. settings.protect_protected_file_patterns_desc=Les fichiers protégés ne peuvent être modifiés, même si l'utilisateur a le droit d'ajouter, éditer ou supprimer des fichiers dans cette branche. Plusieurs motifs peuvent être séparés par un point-virgule (;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>. ; », qui ne pourront pas être modifiés même si les utilisateurs disposent des droits sur la branche. Voir la <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>syntaxe glob</a>. Exemples : <code>.drone.yml ; /docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Liste des fichiers et motifs exclus (séparés par un point virgule ";") : settings.protect_unprotected_file_patterns=Liste des fichiers et motifs exclus (séparés par un point virgule ";") :
settings.protect_unprotected_file_patterns_desc=Les fichiers non-protégés qui peuvent être modifiés si l'utilisateur a le droit d'écriture, prenant le pas sur les restrictions de push. Plusieurs motifs peuvent être séparés par un point-virgule ( ;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>. settings.protect_unprotected_file_patterns_desc=Les fichiers non-protégés qui peuvent être modifiés si l'utilisateur a le droit d'écriture, prenant le pas sur les restrictions de push. Plusieurs motifs peuvent être séparés par un point-virgule (;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>. ; », qui pourront être modifiés malgré la protection de branche, par les utilisateurs autorisés. Voir la <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>syntaxe Glob</a>. Exemples : <code>.drone.yml ; /docs/**/*.txt</code>.
settings.add_protected_branch=Activer la protection settings.add_protected_branch=Activer la protection
settings.delete_protected_branch=Désactiver la protection settings.delete_protected_branch=Désactiver la protection
settings.update_protect_branch_success=La règle de protection de branche "%s" a été mise à jour. settings.update_protect_branch_success=La règle de protection de branche "%s" a été mise à jour.
@ -2455,7 +2454,7 @@ settings.matrix.room_id=ID de la salle
settings.matrix.message_type=Type de message settings.matrix.message_type=Type de message
settings.archive.button=Archiver ce dépôt settings.archive.button=Archiver ce dépôt
settings.archive.header=Archiver ce dépôt settings.archive.header=Archiver ce dépôt
settings.archive.text=Archiver un dépôt le place en lecture seule et le cache des tableaux de bord. Personne ne pourra faire de nouvelles révisions, d'ouvrir des tickets ou des demandes d'ajouts (pas même vous!). settings.archive.text=Archiver un dépôt le place en lecture seule et le cache des tableaux de bord. Personne ne pourra faire de nouvelles révisions, d'ouvrir des tickets ou des demandes d'ajouts (pas même vous!).
settings.archive.success=Ce dépôt a été archivé avec succès. settings.archive.success=Ce dépôt a été archivé avec succès.
settings.archive.error=Une erreur s'est produite lors de l'archivage du dépôt. Voir le journal pour plus de détails. settings.archive.error=Une erreur s'est produite lors de l'archivage du dépôt. Voir le journal pour plus de détails.
settings.archive.error_ismirror=Vous ne pouvez pas archiver un dépôt en miroir. settings.archive.error_ismirror=Vous ne pouvez pas archiver un dépôt en miroir.
@ -2517,7 +2516,7 @@ diff.whitespace_ignore_all_whitespace=Ignorer les espaces lors de la comparaison
diff.whitespace_ignore_amount_changes=Ignorer les changements quand ce sont des espaces diff.whitespace_ignore_amount_changes=Ignorer les changements quand ce sont des espaces
diff.whitespace_ignore_at_eol=Ignorer les blancs en fin de ligne diff.whitespace_ignore_at_eol=Ignorer les blancs en fin de ligne
diff.stats_desc=<strong> %d fichiers modifiés</strong> avec <strong>%d ajouts</strong> et <strong>%d suppressions</strong> diff.stats_desc=<strong> %d fichiers modifiés</strong> avec <strong>%d ajouts</strong> et <strong>%d suppressions</strong>
diff.stats_desc_file=%d modifications: %d ajouts et %d suppressions diff.stats_desc_file=%d modifications: %d ajouts et %d suppressions
diff.bin=BIN diff.bin=BIN
diff.bin_not_shown=Fichier binaire non affiché. diff.bin_not_shown=Fichier binaire non affiché.
diff.view_file=Voir le fichier diff.view_file=Voir le fichier
@ -2526,7 +2525,7 @@ diff.file_after=Après
diff.file_image_width=Largeur diff.file_image_width=Largeur
diff.file_image_height=Hauteur diff.file_image_height=Hauteur
diff.file_byte_size=Taille diff.file_byte_size=Taille
diff.file_suppressed=Diff de fichier supprimé car celui-ci est trop grand diff.file_suppressed=Fichier diff supprimé car celui-ci est trop grand
diff.file_suppressed_line_too_long=Diff de fichier supprimé car une ou plusieurs lignes sont trop longues diff.file_suppressed_line_too_long=Diff de fichier supprimé car une ou plusieurs lignes sont trop longues
diff.too_many_files=Certains fichiers ne sont pas affichés car ce diff contient trop de modifications diff.too_many_files=Certains fichiers ne sont pas affichés car ce diff contient trop de modifications
diff.show_more=Voir plus diff.show_more=Voir plus
@ -2540,7 +2539,7 @@ diff.comment.add_single_comment=Commenter (simple)
diff.comment.add_review_comment=Commenter diff.comment.add_review_comment=Commenter
diff.comment.start_review=Débuter une évaluation diff.comment.start_review=Débuter une évaluation
diff.comment.reply=Répondre diff.comment.reply=Répondre
diff.review=Terminer l'évaluation diff.review=Évaluation
diff.review.header=Évaluer diff.review.header=Évaluer
diff.review.placeholder=Commenter cette évaluation diff.review.placeholder=Commenter cette évaluation
diff.review.comment=Commenter diff.review.comment=Commenter
@ -2585,7 +2584,7 @@ release.prerelease_desc=Marquer comme pré-publication
release.prerelease_helper=Marquer cette publication comme impropre à la production. release.prerelease_helper=Marquer cette publication comme impropre à la production.
release.cancel=Annuler release.cancel=Annuler
release.publish=Publier release.publish=Publier
release.save_draft=Sauvegarder le brouillon release.save_draft=Sauvegarder le Brouillon
release.edit_release=Actualiser la publication release.edit_release=Actualiser la publication
release.delete_release=Supprimer cette publication release.delete_release=Supprimer cette publication
release.delete_tag=Supprimer l'étiquette release.delete_tag=Supprimer l'étiquette
@ -2601,7 +2600,7 @@ release.tag_already_exist=Ce nom d'étiquette existe déjà.
release.downloads=Téléchargements release.downloads=Téléchargements
release.download_count=Télécharger: %s release.download_count=Télécharger: %s
release.add_tag_msg=Utiliser le titre et le contenu de la publication comme message détiquette. release.add_tag_msg=Utiliser le titre et le contenu de la publication comme message détiquette.
release.add_tag=Créer l'étiquette release.add_tag=Créer uniquement l'étiquette
release.releases_for=Publications pour %s release.releases_for=Publications pour %s
release.tags_for=Étiquettes pour %s release.tags_for=Étiquettes pour %s
@ -2687,7 +2686,7 @@ settings.ignore_stale_approvals_desc = Ne pas prendre en compte les approbations
settings.archive.mirrors_unavailable = Les mirroirs ne sont pas disponibles si le dépôt a été archivé. settings.archive.mirrors_unavailable = Les mirroirs ne sont pas disponibles si le dépôt a été archivé.
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 le commit <a id="%[1]s" href="#%[1]s">%[2]s</a>`
settings.new_owner_blocked_doer = Le nouveau propriétaire vous a bloqué. 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.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 settings.wiki_rename_branch_main = Normalise le nom de la branche du Wiki
settings.wiki_rename_branch_main_desc = Renommer la branche utilisée en interne par le Wiki en "%s". Cette modification est permanente et ne peut être annulée. settings.wiki_rename_branch_main_desc = Renommer la branche utilisée en interne par le Wiki en "%s". Cette modification est permanente et ne peut être annulée.
settings.wiki_rename_branch_main_notices_2 = Cela changera le nom de la branche interne associée au dépôt du wiki %s de façon permanente. Les checkouts existant devront être mis à jour. settings.wiki_rename_branch_main_notices_2 = Cela changera le nom de la branche interne associée au dépôt du wiki %s de façon permanente. Les checkouts existant devront être mis à jour.
@ -2721,7 +2720,7 @@ pulls.merged_title_desc_one = fusionné %[1]d commit depuis <code>%[2]s</code> v
pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code> pulls.title_desc_one = veut fusionner %[1]d commit depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code>
stars = Étoiles stars = Étoiles
n_tag_few = %s étiquettes n_tag_few = %s étiquettes
editor.commit_id_not_matching = Le fichier a été modifié pendant que vous l'éditiez. Appliquez les modifications à une nouvelle branche puis procédez à la fusion. editor.commit_id_not_matching = L'ID de la révision ne correspond pas à celui que vous éditiez. Appliquez les modifications à une nouvelle branche puis procédez à la fusion.
commits.search_branch = Cette branche commits.search_branch = Cette branche
open_with_editor = Ouvrir avec %s open_with_editor = Ouvrir avec %s
pulls.ready_for_review = Prêt à être évalué? pulls.ready_for_review = Prêt à être évalué?
@ -2743,7 +2742,7 @@ settings.sourcehut_builds.graphql_url = URL GraphQL (e.g. https://builds.sr.ht/q
release.download_count_one = %s téléchargement release.download_count_one = %s téléchargement
release.download_count_few = %s téléchargements release.download_count_few = %s téléchargements
release.system_generated = Cet attachement a été généré automatiquement. release.system_generated = Cet attachement a été généré automatiquement.
settings.enforce_on_admins_desc = Les administrateurs du dépôt ne peuvent pas passer outre cette règle. settings.enforce_on_admins_desc = Les administrateurs du dépôt ne peuvent pas passer outre cette règle
settings.web_hook_name_sourcehut_builds = Builds SourceHut settings.web_hook_name_sourcehut_builds = Builds SourceHut
settings.enforce_on_admins = Appliquer cette règles aux administrateurs du dépôt settings.enforce_on_admins = Appliquer cette règles aux administrateurs du dépôt
settings.rename_branch_failed_protected = Impossible de renommer la branche %s car il s'agit d'une branche protégée. settings.rename_branch_failed_protected = Impossible de renommer la branche %s car il s'agit d'une branche protégée.
@ -2752,10 +2751,6 @@ settings.graphql_url = URL GraphQL
settings.matrix.room_id_helper = L'identifiant du salon peut être obtenu dans le client web Element. Par exemple: %s. settings.matrix.room_id_helper = L'identifiant du salon peut être obtenu dans le client web Element. Par exemple: %s.
settings.sourcehut_builds.access_token_helper = Un jeton d'accès ayant des permissions JOBS:RW. Génère un <a target="_blank" rel="noopener noreferrer" href="%s">jeton builds.sr.ht</a> ou un <a target="_blank" rel="noopener noreferrer" href="%s">jeton builds.sr.ht token ayant accès aux secrets</a> sur meta.sr.ht. settings.sourcehut_builds.access_token_helper = Un jeton d'accès ayant des permissions JOBS:RW. Génère un <a target="_blank" rel="noopener noreferrer" href="%s">jeton builds.sr.ht</a> ou un <a target="_blank" rel="noopener noreferrer" href="%s">jeton builds.sr.ht token ayant accès aux secrets</a> sur meta.sr.ht.
settings.matrix.access_token_helper = Il est recommandé de créer un compte Matrix dédié pour cela. Le jeton d'accès peut être obtenu depuis le client web Element (dans un onglet privé/incognito). Il faut ensuite fermer l'onglet privé/icognito (se déconnecter invaliderait le jeton). settings.matrix.access_token_helper = Il est recommandé de créer un compte Matrix dédié pour cela. Le jeton d'accès peut être obtenu depuis le client web Element (dans un onglet privé/incognito). Il faut ensuite fermer l'onglet privé/icognito (se déconnecter invaliderait le jeton).
release.hide_archive_links = Masquer les archives générées automatiquement
release.hide_archive_links_helper = Masquer les archives de code source générées automatiquement pour cette publication. Par exemple, si vous téléchargez vos propres archives.
settings.transfer.button = Changer de propriétaire
settings.transfer.modal.title = Changer de propriétaire
[graphs] [graphs]
component_loading=Chargement de %s… component_loading=Chargement de %s…
@ -2821,24 +2816,24 @@ settings.hooks_desc=Vous pouvez ajouter des webhooks qui seront activés pour <s
settings.labels_desc=Ajoute des labels qui peuvent être utilisés sur les tickets pour <strong>tous les dépôts</strong> de cette organisation. settings.labels_desc=Ajoute des labels qui peuvent être utilisés sur les tickets pour <strong>tous les dépôts</strong> de cette organisation.
members.membership_visibility=Visibilité des membres: members.membership_visibility=Visibilité des membres:
members.public=Visible members.public=Visible
members.public_helper=Rendre caché members.public_helper=rendre caché
members.private=Caché members.private=Caché
members.private_helper=Rendre visible members.private_helper=rendre visible
members.member_role=Rôle du membre : members.member_role=Rôle du membre :
members.owner=Propriétaire members.owner=Propriétaire
members.member=Membre members.member=Membre
members.remove=Exclure members.remove=Exclure
members.remove.detail=Supprimer %[1]s de %[2]s? members.remove.detail=Supprimer %[1]s de %[2]s?
members.leave=Quitter members.leave=Quitter
members.leave.detail=Quitter %s? members.leave.detail=Quitter %s?
members.invite_desc=Ajouter un nouveau membre à %s : members.invite_desc=Ajouter un nouveau membre à %s :
members.invite_now=Envoyer une invitation members.invite_now=Envoyer une invitation
teams.join=Rejoindre teams.join=Rejoindre
teams.leave=Quitter teams.leave=Quitter
teams.leave.detail=Quitter %s? teams.leave.detail=Quitter %s?
teams.can_create_org_repo=Créer des dépôts teams.can_create_org_repo=Créer des dépôts
teams.can_create_org_repo_helper=Les membres peuvent créer de nouveaux dépôts dans l'organisation. Le créateur obtiendra l'accès administrateur au nouveau dépôt. teams.can_create_org_repo_helper=Les membres peuvent créer de nouveaux dépôts dans l'organisation. Le créateur obtiendra l'accès administrateur au nouveau dépôt.
teams.none_access=Aucun accès teams.none_access=Aucun accès
@ -2888,7 +2883,6 @@ teams.invite.title=Vous avez été invité à rejoindre l'équipe <strong>%s</st
teams.invite.by=Invité par %s teams.invite.by=Invité par %s
teams.invite.description=Veuillez cliquer sur le bouton ci-dessous pour rejoindre léquipe. 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é. follow_blocked_user = Vous ne pouvez pas suivre cette organisation car elle vous a bloqué.
open_dashboard = Ouvrir le tableau de bord
[admin] [admin]
dashboard=Tableau de bord dashboard=Tableau de bord
@ -2919,12 +2913,12 @@ dashboard.operation_switch=Basculer
dashboard.operation_run=Exécuter dashboard.operation_run=Exécuter
dashboard.clean_unbind_oauth=Effacer les connexions OAuth associées dashboard.clean_unbind_oauth=Effacer les connexions OAuth associées
dashboard.clean_unbind_oauth_success=Toutes les connexions OAuth associées ont été supprimées. dashboard.clean_unbind_oauth_success=Toutes les connexions OAuth associées ont été supprimées.
dashboard.task.started=Tâche démarrée: %[1]s dashboard.task.started=Tâche démarrée: %[1]s
dashboard.task.process=Tâche: %[1]s dashboard.task.process=Tâche: %[1]s
dashboard.task.cancelled=Tâche %[1]s annulée : %[3]s dashboard.task.cancelled=Tâche %[1]s annulée : %[3]s
dashboard.task.error=Erreur dans la tâche: %[1]s: %[3]s dashboard.task.error=Erreur dans la tâche: %[1]s: %[3]s
dashboard.task.finished=Tâche: %[1]s démarrée par %[2]s est terminée dashboard.task.finished=Tâche: %[1]s démarrée par %[2]s est terminée
dashboard.task.unknown=Tâche inconnue: %[1]s dashboard.task.unknown=Tâche inconnue: %[1]s
dashboard.cron.started=Tâche planifiée démarrée : %[1]s dashboard.cron.started=Tâche planifiée démarrée : %[1]s
dashboard.cron.process=Tâche récurrente : %[1]s dashboard.cron.process=Tâche récurrente : %[1]s
dashboard.cron.cancelled=Tâche récurrente %[1]s annulée : %[3]s dashboard.cron.cancelled=Tâche récurrente %[1]s annulée : %[3]s
@ -2937,7 +2931,7 @@ dashboard.delete_repo_archives.started=Tâche de suppression de toutes les archi
dashboard.delete_missing_repos=Supprimer tous les dépôts dont les fichiers Git sont manquants dashboard.delete_missing_repos=Supprimer tous les dépôts dont les fichiers Git sont manquants
dashboard.delete_missing_repos.started=Tâche de suppression de tous les dépôts sans fichiers Git démarrée. dashboard.delete_missing_repos.started=Tâche de suppression de tous les dépôts sans fichiers Git démarrée.
dashboard.delete_generated_repository_avatars=Supprimer les avatars de dépôt générés dashboard.delete_generated_repository_avatars=Supprimer les avatars de dépôt générés
dashboard.sync_repo_branches=Synchroniser les branches manquantes depuis Git vers la base de donnée dashboard.sync_repo_branches=Synchroniser les branches manquantes depuis Git vers la base de donnée.
dashboard.sync_repo_tags=Synchroniser les étiquettes git depuis les dépôts vers la base de données dashboard.sync_repo_tags=Synchroniser les étiquettes git depuis les dépôts vers la base de données
dashboard.update_mirrors=Actualiser les miroirs dashboard.update_mirrors=Actualiser les miroirs
dashboard.repo_health_check=Vérifier l'état de santé de tous les dépôts dashboard.repo_health_check=Vérifier l'état de santé de tous les dépôts
@ -2983,8 +2977,8 @@ dashboard.total_gc_time=Pause GC
dashboard.total_gc_pause=Pause totale GC dashboard.total_gc_pause=Pause totale GC
dashboard.last_gc_pause=Dernière pause GC dashboard.last_gc_pause=Dernière pause GC
dashboard.gc_times=Nombres de GC dashboard.gc_times=Nombres de GC
dashboard.delete_old_actions=Supprimer toutes les anciennes activités de la base de données dashboard.delete_old_actions=Supprimer toutes les anciennes actions de la base de données
dashboard.delete_old_actions.started=Suppression de toutes les anciennes activités de la base de données démarrée. dashboard.delete_old_actions.started=Suppression de toutes les anciennes actions de la base de données démarrée.
dashboard.update_checker=Vérificateur de mise à jour dashboard.update_checker=Vérificateur de mise à jour
dashboard.delete_old_system_notices=Supprimer toutes les anciennes observations de la base de données dashboard.delete_old_system_notices=Supprimer toutes les anciennes observations de la base de données
dashboard.gc_lfs=Épousseter les métaobjets LFS dashboard.gc_lfs=Épousseter les métaobjets LFS
@ -3011,7 +3005,7 @@ users.repos=Dépôts
users.created=Créés users.created=Créés
users.last_login=Dernière connexion users.last_login=Dernière connexion
users.never_login=Jamais connecté users.never_login=Jamais connecté
users.send_register_notify=Informer de l'inscription par courriel users.send_register_notify=Envoyer une notification d'inscription
users.new_success=Le compte "%s" a bien été créé. users.new_success=Le compte "%s" a bien été créé.
users.edit=Éditer users.edit=Éditer
users.auth_source=Sources d'authentification users.auth_source=Sources d'authentification
@ -3075,7 +3069,7 @@ orgs.new_orga=Nouvelle organisation
repos.repo_manage_panel=Gestion des dépôts repos.repo_manage_panel=Gestion des dépôts
repos.unadopted=Dépôts non adoptés repos.unadopted=Dépôts non adoptés
repos.unadopted.no_more=Aucun dépôt dépossédé trouvé repos.unadopted.no_more=Aucun dépôt dépossédé trouvé.
repos.owner=Propriétaire repos.owner=Propriétaire
repos.name=Nom repos.name=Nom
repos.private=Privé repos.private=Privé
@ -3180,7 +3174,7 @@ auths.oauth2_scopes=Champs d'application supplémentaires
auths.oauth2_required_claim_name=Nom de réclamation requis auths.oauth2_required_claim_name=Nom de réclamation requis
auths.oauth2_required_claim_name_helper=Définissez ce nom pour restreindre la connexion depuis cette source aux utilisateurs ayant une réclamation avec ce nom auths.oauth2_required_claim_name_helper=Définissez ce nom pour restreindre la connexion depuis cette source aux utilisateurs ayant une réclamation avec ce nom
auths.oauth2_required_claim_value=Valeur de réclamation requise auths.oauth2_required_claim_value=Valeur de réclamation requise
auths.oauth2_required_claim_value_helper=Restreindre la connexion depuis cette source aux utilisateurs ayant réclamé cette valeur auths.oauth2_required_claim_value_helper=Restreindre la connexion depuis cette source aux utilisateurs ayant réclamé cette valeur.
auths.oauth2_group_claim_name=Réclamer le nom fournissant les noms de groupe pour cette source. (facultatif) auths.oauth2_group_claim_name=Réclamer le nom fournissant les noms de groupe pour cette source. (facultatif)
auths.oauth2_admin_group=Valeur de réclamation de groupe pour les administrateurs. (Optionnel, nécessite un nom de réclamation) auths.oauth2_admin_group=Valeur de réclamation de groupe pour les administrateurs. (Optionnel, nécessite un nom de réclamation)
auths.oauth2_restricted_group=Valeur de réclamation de groupe pour les utilisateurs restreints. (Optionnel, nécessite un nom de réclamation) auths.oauth2_restricted_group=Valeur de réclamation de groupe pour les utilisateurs restreints. (Optionnel, nécessite un nom de réclamation)
@ -3315,7 +3309,7 @@ config.mailer_sendmail_path=Chemin daccès à Sendmail
config.mailer_sendmail_args=Arguments supplémentaires pour Sendmail config.mailer_sendmail_args=Arguments supplémentaires pour Sendmail
config.mailer_sendmail_timeout=Délai dattente de Sendmail config.mailer_sendmail_timeout=Délai dattente de Sendmail
config.mailer_use_dummy=Factice config.mailer_use_dummy=Factice
config.test_email_placeholder=E-mail (ex: test@example.com) config.test_email_placeholder=E-mail (ex: test@example.com)
config.send_test_mail=Envoyer un courriel de test config.send_test_mail=Envoyer un courriel de test
config.send_test_mail_submit=Envoyer config.send_test_mail_submit=Envoyer
config.test_mail_failed=Impossible d'envoyer un courriel de test à "%s" : %v config.test_mail_failed=Impossible d'envoyer un courriel de test à "%s" : %v
@ -3357,7 +3351,7 @@ config.git_pull_timeout=Délai imparti pour l'opération "Pull"
config.git_gc_timeout=Délai imparti pour l'opération "GC" config.git_gc_timeout=Délai imparti pour l'opération "GC"
config.log_config=Configuration du journal config.log_config=Configuration du journal
config.logger_name_fmt=Logger: %s config.logger_name_fmt=Logger: %s
config.disabled_logger=Désactivé config.disabled_logger=Désactivé
config.access_log_mode=Mode de journalisation d'accès config.access_log_mode=Mode de journalisation d'accès
config.access_log_template=Modèle de journal d'accès config.access_log_template=Modèle de journal d'accès
@ -3383,7 +3377,7 @@ monitor.execute_time=Heure d'Éxécution
monitor.last_execution_result=Résultat monitor.last_execution_result=Résultat
monitor.process.cancel=Annuler le processus monitor.process.cancel=Annuler le processus
monitor.process.cancel_desc=L'annulation d'un processus peut entraîner une perte de données monitor.process.cancel_desc=L'annulation d'un processus peut entraîner une perte de données
monitor.process.cancel_notices=Annuler: <strong>%s</strong>? monitor.process.cancel_notices=Annuler : <strong>%s</strong>?
monitor.process.children=Enfant monitor.process.children=Enfant
monitor.queues=Files d'attente monitor.queues=Files d'attente
@ -3431,7 +3425,7 @@ self_check.database_fix_mysql = Les utilisateurs de MySQL/MariaDB peuvent utilis
self_check.database_fix_mssql = Les utilisateurs de MSSQL sont pour l'instant contraint d'utiliser la commande SQL "ALTER ... COLLATE ..." pour corriger ce problème. self_check.database_fix_mssql = Les utilisateurs de MSSQL sont pour l'instant contraint d'utiliser la commande SQL "ALTER ... COLLATE ..." pour corriger ce problème.
self_check.no_problem_found=Aucun problème trouvé pour linstant. self_check.no_problem_found=Aucun problème trouvé pour linstant.
self_check.database_collation_mismatch=Exige que la base de données utilise la collation %s self_check.database_collation_mismatch=Exige que la base de données utilise la collation %s.
self_check.database_collation_case_insensitive=La base de données utilise la collation %s, insensible à la casse. Bien que Forgejo soit compatible, il peut y avoir quelques rares cas qui ne fonctionnent pas comme prévu. self_check.database_collation_case_insensitive=La base de données utilise la collation %s, insensible à la casse. Bien que Forgejo soit compatible, il peut y avoir quelques rares cas qui ne fonctionnent pas comme prévu.
self_check.database_inconsistent_collation_columns=La base de données utilise la collation %s, mais ces colonnes utilisent des collations différentes. Cela peut causer des problèmes imprévus. self_check.database_inconsistent_collation_columns=La base de données utilise la collation %s, mais ces colonnes utilisent des collations différentes. Cela peut causer des problèmes imprévus.
self_check.database_fix_mysql=Pour les utilisateurs de MySQL ou MariaDB, vous pouvez utiliser la commande « forgejo doctor convert » dans un terminal ou exécuter une requête du type « ALTER … COLLATE ... » pour résoudre les problèmes de collation. self_check.database_fix_mysql=Pour les utilisateurs de MySQL ou MariaDB, vous pouvez utiliser la commande « forgejo doctor convert » dans un terminal ou exécuter une requête du type « ALTER … COLLATE ... » pour résoudre les problèmes de collation.
@ -3440,12 +3434,10 @@ config_settings = Paramètres
config_summary = Résumé config_summary = Résumé
auths.tips.gmail_settings = Paramètres Gmail: auths.tips.gmail_settings = Paramètres Gmail:
auths.tip.gitlab_new = Enregistrer une nouvelle application sur https://gitlab.com/-/profile/applications auths.tip.gitlab_new = Enregistrer une nouvelle application sur https://gitlab.com/-/profile/applications
auths.default_domain_name = Nom de domaine par défaut utilisé pour le courriel
config.open_with_editor_app_help = Les éditeurs du menu "Ouvrir avec". Si laissé vide, les valeurs par défaut seront utilisées. Ouvrir pour voir les valeurs par défaut.
[action] [action]
create_repo=a créé le dépôt <a href="%s">%s</a> create_repo=a créé le dépôt <a href="%s">%s</a>
rename_repo=a rebaptisé le dépôt <code>%[1]s</code> en <a href="%[2]s">%[3]s</a> rename_repo=a rebaptisé le dépôt <s><code>%[1]s</code></s> en <a href="%[2]s">%[3]s</a>
commit_repo=a soumis sur <a href="%[2]s">%[3]s</a> dans <a href="%[1]s">%[4]s</a> commit_repo=a soumis sur <a href="%[2]s">%[3]s</a> dans <a href="%[1]s">%[4]s</a>
create_issue=`a ouvert le ticket <a href="%[1]s">%[3]s#%[2]s</a>` create_issue=`a ouvert le ticket <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`a fermé le ticket <a href="%[1]s">%[3]s#%[2]s</a>` close_issue=`a fermé le ticket <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3464,8 +3456,8 @@ delete_branch=a supprimée la branche %[2]s de <a href="%[1]s">%[3]s</a>
compare_branch=Comparer compare_branch=Comparer
compare_commits=Comparer %d révisions compare_commits=Comparer %d révisions
compare_commits_general=Comparer les révisions compare_commits_general=Comparer les révisions
mirror_sync_push=a synchronisé les révisions de <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a> mirror_sync_push=a synchronisé les révisions de <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a>.
mirror_sync_create=a synchronisé la nouvelle référence <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a> mirror_sync_create=a synchronisé la nouvelle référence <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a>.
mirror_sync_delete=a synchronisé puis supprimé la nouvelle référence <code>%[2]s</code> vers <a href="%[1]s">%[3]s</a> depuis le miroir mirror_sync_delete=a synchronisé puis supprimé la nouvelle référence <code>%[2]s</code> vers <a href="%[1]s">%[3]s</a> depuis le miroir
approve_pull_request=`a approuvé <a href="%[1]s">%[3]s#%[2]s</a>` approve_pull_request=`a approuvé <a href="%[1]s">%[3]s#%[2]s</a>`
reject_pull_request=`a suggérés des changements pour <a href="%[1]s">%[3]s#%[2]s</a>` reject_pull_request=`a suggérés des changements pour <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3537,7 +3529,7 @@ title=Paquets
desc=Gérer les paquets du dépôt. desc=Gérer les paquets du dépôt.
empty=Il n'y pas de paquet pour le moment. empty=Il n'y pas de paquet pour le moment.
empty.documentation=Pour plus d'informations sur le registre de paquets, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>. empty.documentation=Pour plus d'informations sur le registre de paquets, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>.
empty.repo=Avez-vous téléchargé un paquet, mais il n'est pas affiché ici? Allez dans les <a href="%[1]s">paramètres du paquet</a> et liez le à ce dépôt. empty.repo=Avez-vous téléchargé un paquet, mais il n'est pas affiché ici? Allez dans les <a href="%[1]s">paramètres du paquet</a> et liez le à ce dépôt.
registry.documentation=Pour plus dinformations sur le registre %s, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>. registry.documentation=Pour plus dinformations sur le registre %s, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>.
filter.type=Type filter.type=Type
filter.type.all=Tous filter.type.all=Tous
@ -3572,7 +3564,7 @@ alpine.repository.repositories=Dépôts
alpine.repository.architectures=Architectures alpine.repository.architectures=Architectures
cargo.registry=Configurez ce registre dans le fichier de configuration Cargo (par exemple <code>~/.cargo/config.toml</code>) : cargo.registry=Configurez ce registre dans le fichier de configuration Cargo (par exemple <code>~/.cargo/config.toml</code>) :
cargo.install=Pour installer le paquet en utilisant Cargo, exécutez la commande suivante : cargo.install=Pour installer le paquet en utilisant Cargo, exécutez la commande suivante :
chef.registry=Configurer ce registre dans votre fichier <code>~/.chef/config.rb</code>: chef.registry=Configurer ce registre dans votre fichier <code>~/.chef/config.rb</code>:
chef.install=Pour installer le paquet, exécutez la commande suivante : chef.install=Pour installer le paquet, exécutez la commande suivante :
composer.registry=Configurez ce registre dans votre fichier <code>~/.composer/config.json</code> : composer.registry=Configurez ce registre dans votre fichier <code>~/.composer/config.json</code> :
composer.install=Pour installer le paquet en utilisant Composer, exécutez la commande suivante : composer.install=Pour installer le paquet en utilisant Composer, exécutez la commande suivante :
@ -3637,7 +3629,7 @@ rubygems.dependencies.development=Dépendances de développement
rubygems.required.ruby=Nécessite Ruby en version rubygems.required.ruby=Nécessite Ruby en version
rubygems.required.rubygems=Nécessite RubyGem en version rubygems.required.rubygems=Nécessite RubyGem en version
swift.registry=Configurez ce registre à partir d'un terminal : swift.registry=Configurez ce registre à partir d'un terminal :
swift.install=Ajoutez le paquet dans votre fichier <code>Package.swift</code>: swift.install=Ajoutez le paquet dans votre fichier <code>Package.swift</code>:
swift.install2=et exécutez la commande suivante : swift.install2=et exécutez la commande suivante :
vagrant.install=Pour ajouter une machine Vagrant, exécutez la commande suivante : vagrant.install=Pour ajouter une machine Vagrant, exécutez la commande suivante :
settings.link=Lier ce paquet à un dépôt settings.link=Lier ce paquet à un dépôt
@ -3660,7 +3652,7 @@ owner.settings.cargo.rebuild=Reconstruire l'index
owner.settings.cargo.rebuild.description=La reconstruction peut être utile si l'index n'est pas synchronisé avec les paquets Cargo stockés. owner.settings.cargo.rebuild.description=La reconstruction peut être utile si l'index n'est pas synchronisé avec les paquets Cargo stockés.
owner.settings.cargo.rebuild.error=Impossible de reconstruire l'index Cargo : %v owner.settings.cargo.rebuild.error=Impossible de reconstruire l'index Cargo : %v
owner.settings.cargo.rebuild.success=L'index Cargo a été reconstruit avec succès. owner.settings.cargo.rebuild.success=L'index Cargo a été reconstruit avec succès.
owner.settings.cleanuprules.title=Règles de nettoyage owner.settings.cleanuprules.title=Gérer les règles de nettoyage
owner.settings.cleanuprules.add=Ajouter une règle de nettoyage owner.settings.cleanuprules.add=Ajouter une règle de nettoyage
owner.settings.cleanuprules.edit=Modifier la règle de nettoyage owner.settings.cleanuprules.edit=Modifier la règle de nettoyage
owner.settings.cleanuprules.none=Aucune règle de nettoyage disponible. Veuillez consulter la documentation. owner.settings.cleanuprules.none=Aucune règle de nettoyage disponible. Veuillez consulter la documentation.
@ -3687,14 +3679,13 @@ rpm.repository = Information sur le dépôt
rpm.repository.architectures = Architectures rpm.repository.architectures = Architectures
rpm.repository.multiple_groups = Ce paquet est disponible dans plusieurs groupes. rpm.repository.multiple_groups = Ce paquet est disponible dans plusieurs groupes.
owner.settings.cargo.rebuild.no_index = Incapable de reconstruire, index non initialisé. owner.settings.cargo.rebuild.no_index = Incapable de reconstruire, index non initialisé.
npm.dependencies.bundle = Bundles de dépendances
[secrets] [secrets]
secrets=Secrets secrets=Secrets
description=Les secrets seront transmis à certaines actions et ne pourront pas être lus autrement. description=Les secrets seront transmis à certaines actions et ne pourront pas être lus autrement.
none=Il n'y a pas encore de secrets. none=Il n'y a pas encore de secrets.
creation=Ajouter un secret creation=Ajouter un secret
creation.name_placeholder=Caractères alphanumériques ou tirets bas uniquement, insensibles à la casse, ne peut commencer par FORGEJO_, GITEA_ ou GITHUB_ creation.name_placeholder=Caractères alphanumériques ou tirets bas uniquement, insensibles à la casse, ne peut commencer par GITEA_ ou GITHUB_.
creation.value_placeholder=Entrez nimporte quoi. Les blancs cernant seront taillés. creation.value_placeholder=Entrez nimporte quoi. Les blancs cernant seront taillés.
creation.success=Le secret "%s" a été ajouté. creation.success=Le secret "%s" a été ajouté.
creation.failed=Impossible d'ajouter le secret. creation.failed=Impossible d'ajouter le secret.
@ -3702,12 +3693,12 @@ deletion=Supprimer le secret
deletion.description=La suppression d'un secret est permanente et irréversible. Continuer ? deletion.description=La suppression d'un secret est permanente et irréversible. Continuer ?
deletion.success=Le secret a été supprimé. deletion.success=Le secret a été supprimé.
deletion.failed=Impossible de supprimer le secret. deletion.failed=Impossible de supprimer le secret.
management=Gestion des secrets management=Gestion des Secrets
[actions] [actions]
actions=Actions actions=Actions
unit.desc=Gérer l'intégration continue avec Forgejo Actions unit.desc=Gérer les actions
status.unknown=Inconnu status.unknown=Inconnu
status.waiting=En attente status.waiting=En attente
@ -3744,7 +3735,7 @@ runners.update_runner_failed=Impossible d'actualiser l'Exécuteur
runners.delete_runner=Supprimer cet exécuteur runners.delete_runner=Supprimer cet exécuteur
runners.delete_runner_success=Exécuteur supprimé avec succès runners.delete_runner_success=Exécuteur supprimé avec succès
runners.delete_runner_failed=Impossible de supprimer l'Exécuteur runners.delete_runner_failed=Impossible de supprimer l'Exécuteur
runners.delete_runner_header=Confirmer la suppression de cet exécuteur runners.delete_runner_header=Êtes-vous sûr de vouloir supprimer cet exécuteur ?
runners.delete_runner_notice=Si une tâche est en cours sur cet exécuteur, elle sera terminée et marquée comme échouée. Cela risque dinterrompre le flux de travail. runners.delete_runner_notice=Si une tâche est en cours sur cet exécuteur, elle sera terminée et marquée comme échouée. Cela risque dinterrompre le flux de travail.
runners.none=Aucun exécuteur disponible runners.none=Aucun exécuteur disponible
runners.status.unspecified=Inconnu runners.status.unspecified=Inconnu
@ -3755,11 +3746,11 @@ runners.version=Version
runners.reset_registration_token=Réinitialiser le jeton d'enregistrement runners.reset_registration_token=Réinitialiser le jeton d'enregistrement
runners.reset_registration_token_success=Le jeton dinscription de lexécuteur a été réinitialisé avec succès runners.reset_registration_token_success=Le jeton dinscription de lexécuteur a été réinitialisé avec succès
runs.all_workflows=Tous les workflows runs.all_workflows=Tous les flux de travail
runs.commit=Révision runs.commit=Révision
runs.scheduled=Planifié runs.scheduled=Planifié
runs.pushed_by=soumis par runs.pushed_by=soumis par
runs.invalid_workflow_helper=La configuration du flux de travail est invalide. Veuillez vérifier votre fichier %s runs.invalid_workflow_helper=La configuration du flux de travail est invalide. Veuillez vérifier votre fichier %s.
runs.no_matching_online_runner_helper=Aucun exécuteur en ligne correspondant au libellé %s runs.no_matching_online_runner_helper=Aucun exécuteur en ligne correspondant au libellé %s
runs.actor=Acteur runs.actor=Acteur
runs.status=Statut runs.status=Statut
@ -3772,9 +3763,9 @@ runs.no_workflows.documentation=Pour plus dinformations sur les actions Gitea
runs.no_runs=Le flux de travail n'a pas encore d'exécution. runs.no_runs=Le flux de travail n'a pas encore d'exécution.
runs.empty_commit_message=(message de révision vide) runs.empty_commit_message=(message de révision vide)
workflow.disable=Désactiver le workflow workflow.disable=Désactiver le flux de travail
workflow.disable_success=Le flux de travail « %s » a bien été désactivé. workflow.disable_success=Le flux de travail « %s » a bien été désactivé.
workflow.enable=Activer le workflow workflow.enable=Activer le flux de travail
workflow.enable_success=Le workflow « %s » a bien été activé. workflow.enable_success=Le workflow « %s » a bien été activé.
workflow.disabled=Le flux de travail est désactivé. workflow.disabled=Le flux de travail est désactivé.
@ -3799,12 +3790,11 @@ runs.no_workflows.quick_start = Vous ne savez pas comment commencer avec Forgejo
runs.no_workflows.documentation = Pour plus dinformations sur Forgejo Actions, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>. runs.no_workflows.documentation = Pour plus dinformations sur Forgejo Actions, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>.
variables.id_not_exist = La variable numéro %d nexiste pas. variables.id_not_exist = La variable numéro %d nexiste pas.
runs.workflow = Workflow runs.workflow = Workflow
runs.no_job_without_needs = Le workflow doit contenir au moins une tâche sans dépendances.
[projects] [projects]
type-1.display_name=Projet personnel type-1.display_name=Projet personnel
type-2.display_name=Projet du dépôt type-2.display_name=Projet de dépôt
type-3.display_name=Projet de l'organisation type-3.display_name=Projet dorganisation
[git.filemode] [git.filemode]
changed_filemode=%[1]s → %[2]s changed_filemode=%[1]s → %[2]s
@ -3853,12 +3843,6 @@ commit_kind = Chercher les commits...
[munits.data] [munits.data]
b = o b = o
mib = Mio
kib = Kio
gib = Gio
tib = Tio
pib = Pio
eib = Eio
[markup] [markup]
filepreview.line = Ligne %[1]d dans %[2]s filepreview.line = Ligne %[1]d dans %[2]s

View file

@ -30,10 +30,10 @@ return_to_gitea = Regreso a Forgejo
username = Nome de Usuario username = Nome de Usuario
email = Enderezo Electrónico email = Enderezo Electrónico
password = Contrasinal password = Contrasinal
re_type = Confirme o contrasinal re_type = Confirme o Contrasinal
captcha = CAPTCHA captcha = CAPTCHA
twofa = Autenticación de Dous Factores twofa = Autenticación de Dous Factores
passcode = Código de Acceso passcode = Código
webauthn_insert_key = Insira a súa Chave de Seguranza webauthn_insert_key = Insira a súa Chave de Seguranza
webauthn_press_button = Preme o botón da súa Chave de Seguranza… webauthn_press_button = Preme o botón da súa Chave de Seguranza…
webauthn_use_twofa = Use o Código de Dous Factores do seu Teléfono webauthn_use_twofa = Use o Código de Dous Factores do seu Teléfono
@ -41,7 +41,7 @@ webauthn_error = Non se Puido Ler a súa Chave de Seguranza.
webauthn_unsupported_browser = O seu Navegador non Soporta Actualmente WebAuthn. webauthn_unsupported_browser = O seu Navegador non Soporta Actualmente WebAuthn.
webauthn_error_unknown = Produciuse un Erro Descoñecido.Téntao de novo. webauthn_error_unknown = Produciuse un Erro Descoñecido.Téntao de novo.
webauthn_error_unable_to_process = O Servidor non Puido Procesar a súa Solicitude. webauthn_error_unable_to_process = O Servidor non Puido Procesar a súa Solicitude.
webauthn_error_duplicated = A Chave de Seguranza non está Permitida para esta Solicitude. Asegúrese de que a Chave non Estea Rexistrada. webauthn_error_duplicated = A Chave de Seguranza non está Permitida para esta Solicitude. Asegúrese de que a Chave non Estea Rexistrada.
webauthn_error_empty = Debes Definir un Nome para esta Chave. webauthn_error_empty = Debes Definir un Nome para esta Chave.
webauthn_reload = Recarga webauthn_reload = Recarga
repository = Repositorio repository = Repositorio
@ -104,7 +104,7 @@ save = Gardar
copy_content = Copiar Contido copy_content = Copiar Contido
language = Linguaxe language = Linguaxe
copy_hash = Copiar hash copy_hash = Copiar hash
twofa_scratch = Código Scratch de Dous Factores twofa_scratch = Código Scratch de Dous Facetores
webauthn_sign_in = Preme o botón da súa Chave de Seguranza. Se a súa Chave de Seguranza non ten ningún botón, insírela de novo. webauthn_sign_in = Preme o botón da súa Chave de Seguranza. Se a súa Chave de Seguranza non ten ningún botón, insírela de novo.
issues = Problemas issues = Problemas
disabled = Desactivado disabled = Desactivado
@ -123,8 +123,6 @@ name = Nome
value = Valor value = Valor
confirm_delete_selected = Confirmar a eliminación de todos os elementos seleccionados? confirm_delete_selected = Confirmar a eliminación de todos os elementos seleccionados?
show_full_screen = Mostrar Pantalla Completa show_full_screen = Mostrar Pantalla Completa
more_items = Máis items
toggle_menu = Alternar Menú
[aria] [aria]
navbar = Barra de Navegación navbar = Barra de Navegación

View file

@ -1,6 +0,0 @@
[common]
dashboard = डैशबोर्ड
home = घर

View file

@ -869,7 +869,7 @@ settings.tracker_issue_style.numeric=Numerik
settings.tracker_issue_style.alphanumeric=Alfhanumerik settings.tracker_issue_style.alphanumeric=Alfhanumerik
settings.danger_zone=Zona Bahaya settings.danger_zone=Zona Bahaya
settings.new_owner_has_same_repo=Pemilik baru sudah memiliki repositori dengan nama yang sama. Silakan pilih nama lain. settings.new_owner_has_same_repo=Pemilik baru sudah memiliki repositori dengan nama yang sama. Silakan pilih nama lain.
settings.transfer.title=Transfer Kepemilikan settings.transfer=Transfer Kepemilikan
settings.transfer_owner=Pemilik Baru settings.transfer_owner=Pemilik Baru
settings.delete=Menghapus Repositori Ini settings.delete=Menghapus Repositori Ini
settings.delete_notices_1=- Operasi ini <strong>TIDAK BISA</strong> dibatalkan. settings.delete_notices_1=- Operasi ini <strong>TIDAK BISA</strong> dibatalkan.

View file

@ -1024,7 +1024,7 @@ settings.use_external_wiki=Nota Utanaðkomandi Handbók
settings.tracker_issue_style.numeric=Tölugildi settings.tracker_issue_style.numeric=Tölugildi
settings.danger_zone=Hættusvæði settings.danger_zone=Hættusvæði
settings.convert_notices_1=Þessi aðgerð mun breyta speglinum í venjulegt hugbúnaðarsafn og ekki er hægt að afturkalla hana. settings.convert_notices_1=Þessi aðgerð mun breyta speglinum í venjulegt hugbúnaðarsafn og ekki er hægt að afturkalla hana.
settings.transfer.title=Flytja Eignarhald settings.transfer=Flytja Eignarhald
settings.trust_model.collaboratorcommitter.desc=Gildar undirskriftir frá samstarfsaðilum hugbúnaðarsafnsins verða merktar „traust“ ef þær passa við framlagandan. Að öðrum kosti verða gildar undirskriftir merktar „ótraust“ ef undirskriftin passar við framlagandan og „ósamþykkt“ að öðru leyti. Þetta mun neyða Forgejo til að vera merkt sem framlagandi á undirrituðum framlögum með raunverulega framlagandan merktan sem Co-Authored-By: og Co-Committed-By: í framlaginu. Sjálfgefinn Forgejo lykill verður að passa við notanda í gagnagrunninum. settings.trust_model.collaboratorcommitter.desc=Gildar undirskriftir frá samstarfsaðilum hugbúnaðarsafnsins verða merktar „traust“ ef þær passa við framlagandan. Að öðrum kosti verða gildar undirskriftir merktar „ótraust“ ef undirskriftin passar við framlagandan og „ósamþykkt“ að öðru leyti. Þetta mun neyða Forgejo til að vera merkt sem framlagandi á undirrituðum framlögum með raunverulega framlagandan merktan sem Co-Authored-By: og Co-Committed-By: í framlaginu. Sjálfgefinn Forgejo lykill verður að passa við notanda í gagnagrunninum.
settings.wiki_delete_desc=Að eyða handbókargögn er varanlegt og ekki er hægt að afturkalla það. settings.wiki_delete_desc=Að eyða handbókargögn er varanlegt og ekki er hægt að afturkalla það.
settings.delete=Eyða Þetta Hugbúnaðarsafn settings.delete=Eyða Þetta Hugbúnaðarsafn

View file

@ -1946,7 +1946,7 @@ settings.convert_fork_desc=Puoi convertire questo fork in un normale repository.
settings.convert_fork_notices_1=Questa operazione convertirà il fork in un normale repository e non può essere annullata. settings.convert_fork_notices_1=Questa operazione convertirà il fork in un normale repository e non può essere annullata.
settings.convert_fork_confirm=Converti progetto settings.convert_fork_confirm=Converti progetto
settings.convert_fork_succeed=Il fork è stato convertito in un repository regolare. settings.convert_fork_succeed=Il fork è stato convertito in un repository regolare.
settings.transfer.title=Trasferisci proprietà settings.transfer=Trasferisci proprietà
settings.transfer.rejected=Il trasferimento del repository è stato rifiutato. settings.transfer.rejected=Il trasferimento del repository è stato rifiutato.
settings.transfer.success=Il trasferimento del repository è andato a buon fine. settings.transfer.success=Il trasferimento del repository è andato a buon fine.
settings.transfer_abort=Annulla trasferimento settings.transfer_abort=Annulla trasferimento

View file

@ -157,7 +157,7 @@ toggle_menu = トグルメニュー
filter.not_template = テンプレートではない filter.not_template = テンプレートではない
invalid_data = 無効なデータ: %v invalid_data = 無効なデータ: %v
more_items = さらに表示 more_items = さらに表示
copy_generic = クリップボードへコピー copy_generic = クリップボード
[aria] [aria]
navbar=ナビゲーションバー navbar=ナビゲーションバー
@ -171,8 +171,7 @@ contributions_zero=貢献なし
less= less=
more= more=
contributions_one = 貢献 contributions_one = 貢献
contributions_few = 貢献たち contributions_few = 貢献
contributions_format = {month} {day}, {year} に {contributions} 件の貢献
[editor] [editor]
buttons.heading.tooltip=見出し追加 buttons.heading.tooltip=見出し追加
@ -647,7 +646,7 @@ joined_on=%sに登録
repositories=リポジトリ repositories=リポジトリ
activity=公開アクティビティ activity=公開アクティビティ
followers_few=%d フォロワー followers_few=%d フォロワー
starred=スターを付けたリポジトリたち starred=スターを付けたリポジトリ
watched=ウォッチ中のリポジトリ watched=ウォッチ中のリポジトリ
code=コード code=コード
projects=プロジェクト projects=プロジェクト
@ -2159,7 +2158,7 @@ settings.convert_fork_desc=フォークを通常のリポジトリに変換で
settings.convert_fork_notices_1=この操作によりフォークから通常のリポジトリに変換されます。 元に戻すことはできません。 settings.convert_fork_notices_1=この操作によりフォークから通常のリポジトリに変換されます。 元に戻すことはできません。
settings.convert_fork_confirm=リポジトリを変換 settings.convert_fork_confirm=リポジトリを変換
settings.convert_fork_succeed=フォークを通常のリポジトリに変換しました。 settings.convert_fork_succeed=フォークを通常のリポジトリに変換しました。
settings.transfer.title=オーナー移転 settings.transfer=オーナー移転
settings.transfer.rejected=リポジトリの移転は拒否されました。 settings.transfer.rejected=リポジトリの移転は拒否されました。
settings.transfer.success=リポジトリの移転が成功しました。 settings.transfer.success=リポジトリの移転が成功しました。
settings.transfer_abort=転送をキャンセル settings.transfer_abort=転送をキャンセル
@ -2724,12 +2723,6 @@ settings.sourcehut_builds.manifest_path = Build manifestのパス
settings.sourcehut_builds.secrets_helper = ジョブにビルドシークレットへのアクセス権を付与します (SECRETS:RO 権限が必要です) settings.sourcehut_builds.secrets_helper = ジョブにビルドシークレットへのアクセス権を付与します (SECRETS:RO 権限が必要です)
release.hide_archive_links_helper = このリリース用に自動的に生成されたソース コード アーカイブを非表示にします。たとえば、独自のソース コードをアップロードする場合などです。 release.hide_archive_links_helper = このリリース用に自動的に生成されたソース コード アーカイブを非表示にします。たとえば、独自のソース コードをアップロードする場合などです。
error.broken_git_hook = このリポジトリの Git フックが壊れているようです。<a target="_blank" rel="noreferrer" href="%s">ドキュメント</a>に従って修正し、コミットをいくつかプッシュしてステータスを更新してください。 error.broken_git_hook = このリポジトリの Git フックが壊れているようです。<a target="_blank" rel="noreferrer" href="%s">ドキュメント</a>に従って修正し、コミットをいくつかプッシュしてステータスを更新してください。
editor.commit_id_not_matching = このコミットIDはあなたが編集していたものと一致しません。新しいブランチへコミットし、そしてマージしてください。
issues.num_participants_one = %d 人の参加者
commits.search_branch = このブランチ
size_format = %[1]s: %[2]s, %[3]s: %[4]s
editor.push_out_of_date = このpushはもう古いようです。
issues.archived_label_description = (アーカイブ済) %s
[graphs] [graphs]
component_loading = %s の読み込み中... component_loading = %s の読み込み中...
@ -2737,7 +2730,7 @@ component_loading_failed = %s を読み込めませんでした
component_loading_info = 少し時間がかかるかもしれません… component_loading_info = 少し時間がかかるかもしれません…
component_failed_to_load = 予期しないエラーが発生しました。 component_failed_to_load = 予期しないエラーが発生しました。
code_frequency.what = コード頻度 code_frequency.what = コード頻度
contributors.what = 貢献たち contributors.what = 貢献
recent_commits.what = 最近のコミット recent_commits.what = 最近のコミット
[org] [org]
@ -3788,9 +3781,6 @@ project_kind = プロジェクトの検索...
keyword_search_unavailable = キーワードによる検索は現在ご利用いただけません。サイト管理者にお問い合わせください。 keyword_search_unavailable = キーワードによる検索は現在ご利用いただけません。サイト管理者にお問い合わせください。
runner_kind = ランナーの検索... runner_kind = ランナーの検索...
no_results = 一致する結果が見つかりませんでした。 no_results = 一致する結果が見つかりませんでした。
fuzzy_tooltip = 入力された語句に近いものも結果に含める
match = 一致
match_tooltip = 検索語句に厳密に一致するもののみ結果に含める
[munits.data] [munits.data]

View file

@ -16,7 +16,7 @@ template=템플릿
language=언어 language=언어
notifications=알림 notifications=알림
create_new=생성하기 create_new=생성하기
user_profile_and_more=프로파일 및 설정 user_profile_and_more=프로파일 및 설정
signed_in_as=다음 사용자로 로그인됨 signed_in_as=다음 사용자로 로그인됨
username=사용자명 username=사용자명
@ -37,7 +37,7 @@ new_migrate=새 마이그레이션
new_mirror=새로운 미러 new_mirror=새로운 미러
new_fork=새 저장소 포크 new_fork=새 저장소 포크
new_org=새로운 조직 new_org=새로운 조직
new_project=로운 프로젝트 new_project= 프로젝트
manage_org=조직 관리 manage_org=조직 관리
admin_panel=사이트 관리 admin_panel=사이트 관리
account_settings=계정 설정 account_settings=계정 설정
@ -70,7 +70,7 @@ enabled=활성화됨
write=쓰기 write=쓰기
preview=미리보기 preview=미리보기
loading=불러오는 중 loading=불러오는 중...
@ -85,89 +85,12 @@ concept_user_organization=조직
name=이름 name=이름
active_stopwatch = 진행중인 타임 트래커 active_stopwatch = 진행중인 타임 트래커
sign_in_with_provider = %s 으로 로그인 sign_in_with_provider = %으로 로그인
logo = 로고 logo = 로고
tracked_time_summary = 추적된 이슈 목록 필터 기반 시간 요약
enable_javascript = 이 웹사이트는 자바스크립트가 필요합니다.
toc = 목차
licenses = 라이센스
return_to_gitea = Forgejo로 돌아가기
access_token = 액세스 토큰
webauthn_error_unable_to_process = 서버가 귀하의 요청을 처리할 수 없습니다.
webauthn_error_duplicated = 이 요청에는 보안 키가 허용되지 않습니다. 키가 이미 등록되어 있는지 확인하세요.
webauthn_reload = 다시 불러오기
remove_label_str = "%s" 항목 제거
disabled = 비활성화됨
locked = 잠김
filter = 필터
filter.not_fork = 포크되지 않음
filter.is_mirror = 미러됨
webauthn_press_button = 보안 키의 버튼을 누르세요…
toggle_menu = 토글 메뉴
webauthn_error = 보안 키를 읽을 수 없습니다.
webauthn_unsupported_browser = 현재 귀하의 브라우저는 웹 인증을 지원하지 않습니다.
webauthn_insert_key = 보안 키를 입력하세요
webauthn_sign_in = 보안 키에 있는 버튼을 누르세요. 만약 보안 키에 버튼이 없다면 다시 입력하세요.
webauthn_use_twofa = 휴대전화 2단계 코드 사용
retry = 다시 시도하기
rerun = 다시 실행하기
rerun_all = 모든 작업을 다시 실행하기
copy = 복사
new_project_column = 새 열
more_items = 더 보기
webauthn_error_unknown = 알 수 없는 오류가 발생했습니다. 다시 시도해주세요.
webauthn_error_insecure = 웹 인증은 안전한 연결만 지원합니다. HTTP에서 테스트할 경우, "localhost" 또는 "127.0.0.1" 오리진을 사용할 수 있습니다.
webauthn_error_empty = 키의 이름을 설정해야 합니다.
webauthn_error_timeout = 키를 읽기 전에 시간이 초과되었습니다. 페이지를 새로 고치고 다시 시도해주세요.
copy_generic = 클립보드에 복사
copy_url = URL 복사
copy_hash = 해시 복사
copy_content = 내용 복사
copy_branch = 브랜치 이름 복사
copy_success = 복사되었습니다!
copy_error = 복사 실패
copy_type_unsupported = 이 파일 형식은 복사할 수 없습니다
error = 오류
error404 = 도달하려는 페이지가 <strong>존재하지 않거나</strong> 볼 수 있도록 <strong>인증되지 않았습니다</strong>.
go_back = 돌아가기
invalid_data = 유효하지 않는 데이터: %v
unknown = 알 수 없음
rss_feed = RSS 피드
pin = 고정
unpin = 고정 해제
archived = 보관됨
concept_system_global = 전역
concept_user_individual = 개인
show_timestamps = 타임스탬프 보기
show_log_seconds = 초 표시
show_full_screen = 전체 화면으로 보기
download_logs = 로그 다운로드
confirm_delete_selected = 선택된 모든 항목을 삭제하시겠습니까?
value =
filter.is_archived = 보관됨
filter.not_archived = 보관되지 않음
filter.is_fork = 포크됨
filter.not_mirror = 미러되지 않음
filter.is_template =템플릿
filter.clear = 필터 지우기
ok = 확인
confirm_delete_artifact = 정말 artifact "%s"를 삭제하실건가요?
artifacts = Artifacts
[aria] [aria]
navbar = 네비게이션 바
footer.links = 링크
footer = 꼬릿말
footer.software = 소프트웨어에 대하여
[heatmap] [heatmap]
number_of_contributions_in_the_last_12_months = 지난 12달간 %s 명의 기여자
contributions_zero = 기여자 없음
contributions_format = {year}년 {month}월 {day}일에 {contributions}개의 기여
contributions_one = 기여
contributions_few = 기여
less = 적은
more = 많은
[editor] [editor]
@ -185,7 +108,7 @@ license=오픈 소스
[install] [install]
install=설치 install=설치
title=초기 설정 title=초기 설정
docker_helper=Forgejo를 Docker에서 실행하려면 설정 전에 이 <a target="_blank" rel="noopener noreferrer" href="%s">문서</a>를 읽어보세요. docker_helper="Forgejo를 Docker에서 실행하려면 설정 전에 이 <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">문서</a>를 읽어보세요."
db_title=데이터베이스 설정 db_title=데이터베이스 설정
db_type=데이터베이스 유형 db_type=데이터베이스 유형
host=호스트 host=호스트
@ -214,9 +137,9 @@ run_user=실행 사용자명
ssh_port=SSH 서버 포트 ssh_port=SSH 서버 포트
ssh_port_helper=SSH 서버가 실행되고 있는 포트를 입력하세요. 비워둘 경우 SSH를 사용하지 않습니다. ssh_port_helper=SSH 서버가 실행되고 있는 포트를 입력하세요. 비워둘 경우 SSH를 사용하지 않습니다.
http_port=Forgejo HTTP 수신 포트 http_port=Forgejo HTTP 수신 포트
http_port_helper=Forgejo 웹서버가 수신할 포트 번호입니다. http_port_helper=Forgejo 웹서버가 수신할 포트 번호
app_url=Forgejo 기본 URL app_url=Forgejo 기본 URL
app_url_helper=HTTP(S) clone URL 및 이메일 알림 기본 주소입니다. app_url_helper=HTTP(S) clone URL 및 이메일 알림 기본 주소
log_root_path=로그 경로 log_root_path=로그 경로
log_root_path_helper=로그파일은 이 디렉토리에 저장됩니다. log_root_path_helper=로그파일은 이 디렉토리에 저장됩니다.
@ -236,15 +159,15 @@ offline_mode_popup=타사 콘텐츠 전송 네트워크를 사용하지 않도
disable_gravatar=Gravatar 사용안함 disable_gravatar=Gravatar 사용안함
disable_gravatar_popup=Gravatar 및 타사 아바타 소스를 사용하지 않도록 설정합니다. 사용자가 로컬로 아바타를 업로드하지 않는 한 기본 아바타가 사용됩니다. disable_gravatar_popup=Gravatar 및 타사 아바타 소스를 사용하지 않도록 설정합니다. 사용자가 로컬로 아바타를 업로드하지 않는 한 기본 아바타가 사용됩니다.
federated_avatar_lookup=아바타 연동 사용여부 federated_avatar_lookup=아바타 연동 사용여부
federated_avatar_lookup_popup=libravatar 기반 오픈소스 연합 아바타 조회를 허용합니다. federated_avatar_lookup_popup=libravatar 기반 오픈소스 서비스 사용 목적으로 연합 아바타 조회를 허용하기
disable_registration=사용자 등록 비활성화 disable_registration=사용자 등록 비활성화
disable_registration_popup=사용자가 직접 등록할 수 없게 합니다. 관리자만이 추가할 수 있습니다. disable_registration_popup=사용자가 직접 등록할 수 없게 합니다. 관리자만이 추가할 수 있습니다.
allow_only_external_registration_popup=외부 서비스를 통한 등록을 허용여부 allow_only_external_registration_popup=외부 서비스를 통한 등록을 허용여부
openid_signin=OpenID 로그인 사용 openid_signin=OpenID 로그인 사용
openid_signin_popup=OpenID 를 이용한 로그인을 허용합니다. openid_signin_popup=OpenID 를 이용한 로그인 가능여부
openid_signup=OpenID 가입 가능여부 openid_signup=OpenID 가입 가능여부
openid_signup_popup=OpenID를 통한 가입을 허용합니다. openid_signup_popup=OpenID를 통한 가입 가능여부
enable_captcha_popup=사용자 등록시 캡차 요구합니다. enable_captcha_popup=사용자 등록시 캡차 요구
require_sign_in_view=페이지를 보기 위해 로그인 하기 require_sign_in_view=페이지를 보기 위해 로그인 하기
admin_setting_desc=관리자 계정을 만드는 것은 선택사항입니다. 첫번째로 등록된 사용자는 자동적으로 관리자로 지정됩니다. admin_setting_desc=관리자 계정을 만드는 것은 선택사항입니다. 첫번째로 등록된 사용자는 자동적으로 관리자로 지정됩니다.
admin_title=관리자 계정 설정 admin_title=관리자 계정 설정
@ -254,16 +177,16 @@ confirm_password=비밀번호 확인
admin_email=이메일 주소 admin_email=이메일 주소
install_btn_confirm=Forgejo 설치하기 install_btn_confirm=Forgejo 설치하기
test_git_failed='git' 명령 테스트 실패: %v test_git_failed='git' 명령 테스트 실패: %v
sqlite3_not_available=해당 버전에서는 SQLite3를 지원하지 않습니다. %s에서 공식 버전을 다운로드해주세요. ('gobuild' 버전이 아닙니다). sqlite3_not_available=해당 버전에서는 SQLite3를 지원하지 않습니다. %s에서 공식 버전을 다운로드해주세요. ('gobuild' 버전이 아닙니다.)
invalid_db_setting=데이터베이스 설정이 올바르지 않습니다: %v invalid_db_setting=데이터베이스 설정이 올바르지 않습니다: %v
invalid_repo_path=저장소(레파지토리) 의 경로가 올바르지 않습니다: %v invalid_repo_path=저장소(레파지토리) 의 경로가 올바르지 않습니다: %v
run_user_not_match=실행 사용자명이 현재 사용자명과 다릅니다.: %s -> %s run_user_not_match=실행 사용자명이 현재 사용자명과 다릅니다.: %s -> %s
save_config_failed=설정을 저장할 수 없습니다: %v save_config_failed=설정을 저장할 수 없습니다: %v
invalid_admin_setting=관리자 계정 설정이 올바르지 않습니다: %v invalid_admin_setting=관리자 계정 설정이 올바르지 않습니다: %v
invalid_log_root_path=로그(Log) 의 경로가 올바르지 않습니다: %v invalid_log_root_path=로그(Log) 의 경로가 올바르지 않습니다: %v
default_keep_email_private=이메일 주소 숨김처리를 기본값으로 설정 default_keep_email_private=이메일 주소 숨김처리를 기본값으로 설정합니다.
default_keep_email_private_popup=새 사용자에 대한 이메일 주소 숨김처리를 기본값으로 설정합니다. default_keep_email_private_popup=새 사용자에 대한 이메일 주소 숨김처리를 기본값으로 설정합니다.
default_allow_create_organization=조직 생성 허용을 기본값으로 설정 default_allow_create_organization=조직 생성 허용을 기본값으로 설정합니다.
default_allow_create_organization_popup=신규 사용자 생성시 조직 생성을 기본값으로 설정합니다. default_allow_create_organization_popup=신규 사용자 생성시 조직 생성을 기본값으로 설정합니다.
default_enable_timetracking=시간 추적 사용을 기본값으로 설정 default_enable_timetracking=시간 추적 사용을 기본값으로 설정
default_enable_timetracking_popup=신규 레포지토리에 대한 시간 추적 사용을 기본값으로 설정합니다. default_enable_timetracking_popup=신규 레포지토리에 대한 시간 추적 사용을 기본값으로 설정합니다.
@ -289,7 +212,7 @@ issues.in_your_repos=당신의 저장소에
[explore] [explore]
repos=저장소 repos=저장소
users=사용자 users=유저
organizations=조직 organizations=조직
search=검색 search=검색
code=코드 code=코드
@ -308,7 +231,7 @@ forgot_password_title=비밀번호 찾기
forgot_password=비밀번호를 잊으셨나요? forgot_password=비밀번호를 잊으셨나요?
sign_up_now=계정이 필요하신가요? 지금 가입하세요. sign_up_now=계정이 필요하신가요? 지금 가입하세요.
confirmation_mail_sent_prompt=새로운 확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 등록 절차를 완료하십시오. confirmation_mail_sent_prompt=새로운 확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 등록 절차를 완료하십시오.
must_change_password=비밀번호를 변경하세요 must_change_password=비밀번호를 변경하세요.
allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨) allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨)
reset_password_mail_sent_prompt=확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오. reset_password_mail_sent_prompt=확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오.
active_your_account=계정 활성화 active_your_account=계정 활성화
@ -324,7 +247,7 @@ invalid_code=검증 코드가 유효하지 않거나 만료되었습니다.
reset_password_helper=계정 복구 reset_password_helper=계정 복구
password_too_short=비밀번호의 길이는 최소 %d 자가 되어야 합니다. password_too_short=비밀번호의 길이는 최소 %d 자가 되어야 합니다.
non_local_account=로컬 유저가 아닌 경우 Forgejo 웹 인터페이스를 통해 비밀번호를 변경할 수 없습니다. non_local_account=로컬 유저가 아닌 경우 Forgejo 웹 인터페이스를 통해 비밀번호를 변경할 수 없습니다.
verify=검증 verify=확인
scratch_code=스크래치 코드 scratch_code=스크래치 코드
use_scratch_code=스크래치 코드 사용 use_scratch_code=스크래치 코드 사용
twofa_scratch_used=스크래치 코드를 사용하셨습니다. 이중인증 설정 페이지로 리다이렉트 되었고 기기 등록을 제거하거나 새로운 스크래치 코드를 생성하십시오. twofa_scratch_used=스크래치 코드를 사용하셨습니다. 이중인증 설정 페이지로 리다이렉트 되었고 기기 등록을 제거하거나 새로운 스크래치 코드를 생성하십시오.
@ -442,7 +365,6 @@ following_few=%d 팔로우 중
follow=추적하기 follow=추적하기
unfollow=추적해제 unfollow=추적해제
user_bio=소개 user_bio=소개
projects = 프로젝트
[settings] [settings]
@ -506,7 +428,7 @@ email_deletion_desc=계정의 이메일 주소와 관련된 정보가 삭제됩
email_deletion_success=이메일 주소가 삭제되었습니다. email_deletion_success=이메일 주소가 삭제되었습니다.
theme_update_success=테마가 갱신되었습니다. theme_update_success=테마가 갱신되었습니다.
theme_update_error=선택한 테마가 존재하지 않습니다. theme_update_error=선택한 테마가 존재하지 않습니다.
openid_deletion=OpenID 주소 삭제됨 openid_deletion=OpenID 주소가 삭제되었습니다.
openid_deletion_desc=OpenID 주소를 삭제하면 이것을 이용하여 로그인할 수 없습니다. 계속 진행하시겠습니까? openid_deletion_desc=OpenID 주소를 삭제하면 이것을 이용하여 로그인할 수 없습니다. 계속 진행하시겠습니까?
openid_deletion_success=OpenID가 삭제되었습니다. openid_deletion_success=OpenID가 삭제되었습니다.
add_new_email=새 이메일 주소 추가 add_new_email=새 이메일 주소 추가
@ -523,8 +445,8 @@ manage_gpg_keys=GPG 키 관리
add_key=키 추가 add_key=키 추가
ssh_desc=이러한 SSH 공용 키는 귀하의 계정과 연결되어 있습니다. 해당 개인 키는 당신의 저장소에 대한 전체 액세스를 가능하게 합니다. ssh_desc=이러한 SSH 공용 키는 귀하의 계정과 연결되어 있습니다. 해당 개인 키는 당신의 저장소에 대한 전체 액세스를 가능하게 합니다.
gpg_desc=이러한 GPG 공개키는 당신의 계정과 연결되어있습니다. 커밋이 검증될 수 있도록 당신의 개인 키를 안전하게 유지하십시오. gpg_desc=이러한 GPG 공개키는 당신의 계정과 연결되어있습니다. 커밋이 검증될 수 있도록 당신의 개인 키를 안전하게 유지하십시오.
ssh_helper=<strong>도움이 필요하세요?</strong> <a href="%s">SSH 키 생성하기</a> 또는 <a href="%s">SSH를 사용할 때의 일반적인 문제</a>에 관한 GitHub의 설명서를 참조하시기 바랍니다. ssh_helper="<strong>도움이 필요하세요?</strong> GitHub의 설명서를 참조하시기 바랍니다: <a href=\"%s\">SSH 키 생성하기</a> 또는 SSH를 사용할 때 <a href=\"%s\">일반적인 문제</a>"
gpg_helper=<strong>도움이 필요하세요?</strong> <a href="%s">GPG키에 대한 GitHub 문서</a>를 참조하시기 바랍니다. gpg_helper="<strong>도움이 필요하세요?</strong> GitHub의 설명서를 참조하시기 바랍니다: <a href=\"%s\">GPG키에 대하여</a>."
add_new_key=SSH 키 추가 add_new_key=SSH 키 추가
add_new_gpg_key=GPG 키 추가 add_new_gpg_key=GPG 키 추가
gpg_key_id_used=같은 ID의 GPG 공개키가 이미 존재합니다. gpg_key_id_used=같은 ID의 GPG 공개키가 이미 존재합니다.
@ -545,12 +467,12 @@ gpg_key_deletion_desc=GPG 키를 삭제하면 해당 키로 서명 한 커밋은
ssh_key_deletion_success=SSH 키가 삭제되었습니다. ssh_key_deletion_success=SSH 키가 삭제되었습니다.
gpg_key_deletion_success=GPG 키가 삭제되었습니다. gpg_key_deletion_success=GPG 키가 삭제되었습니다.
valid_forever=영원히 유효 valid_forever=영원히 유효
last_used=마지막 사용 last_used=마지막 사용 :
no_activity=최근 활동 없음 no_activity=최근 활동 없음
can_read_info=읽기 can_read_info=읽기
can_write_info=쓰기 can_write_info=쓰기
key_state_desc=최근 1주일 동안 사용된 적 있는 키 key_state_desc=이 키는 최근 1주일 동안 사용된 적이 있습니다.
token_state_desc=최근 1주일 동안 사용된 적 있는 토큰 token_state_desc=이 토큰은 최근 1주일 동안 사용된 적이 있습니다.
show_openid=프로필에 표시 show_openid=프로필에 표시
hide_openid=프로필에서 숨기기 hide_openid=프로필에서 숨기기
ssh_disabled=SSH 사용불가 ssh_disabled=SSH 사용불가
@ -594,7 +516,7 @@ scan_this_image=이 이미지를 당신의 인증 애플리케이션에서 스
or_enter_secret=또는 이 비밀키를 입력하세요: %s or_enter_secret=또는 이 비밀키를 입력하세요: %s
then_enter_passcode=어플리케이션에 표시된 인증코드를 입력하여 주십시오: then_enter_passcode=어플리케이션에 표시된 인증코드를 입력하여 주십시오:
passcode_invalid=인증코드가 올바르지 않습니다. 재시도해주십시오. passcode_invalid=인증코드가 올바르지 않습니다. 재시도해주십시오.
twofa_enrolled=당신의 계정에 2단계 인증이 설정되었습니다. 스크래치 토큰 (%s) 은 한 번만 표시되므로 안전한 장소에 보관하십시오. twofa_enrolled=당신의 계정에 2단계 인증이 설정되었습니다. 스크래치 토큰 (%s) 은 한 번만 표시되므로 안전한 장소에 보관하십시오!
manage_account_links=연결된 계정 관리 manage_account_links=연결된 계정 관리
@ -624,19 +546,19 @@ repo_name=저장소 이름
repo_name_helper=좋은 저장소 이름은 보통 짧고 기억하기 좋은 특별한 키워드로 이루어 집니다. repo_name_helper=좋은 저장소 이름은 보통 짧고 기억하기 좋은 특별한 키워드로 이루어 집니다.
repo_size=저장소 용량 repo_size=저장소 용량
template=템플릿 template=템플릿
template_select=템플릿을 선택합니다. template_select=템플릿 고르기
template_helper=저장소 템플릿으로 만들기 template_helper=템플릿으로 저장소 만들기
visibility=가시성 visibility=가시성
visibility_helper_forced=사이트 관리자가 새 레포지토리에 대해 비공개로만 생성되도록 하였습니다. visibility_helper_forced=사이트 관리자가 새 레포지토리에 대해 비공개로만 생성되도록 하였습니다.
visibility_fork_helper=(변경사항을 적용하는 경우 모든 포크가 영향을 받게 됩니다.) visibility_fork_helper=(변경사항을 적용하는 경우 모든 포크가 영향을 받게 됩니다.)
clone_helper=클론하는데에 도움이 필요하신가요? <a target="_blank" rel="noopener noreferrer" href="%s">Help</a>에 방문하세요. clone_helper="클론하는데에 도움이 필요하면 <a target=\"_blank\" href=\"%s\">Help</a>에 방문하세요."
fork_repo=저장소 포크 fork_repo=저장소 포크
fork_from=원본 프로젝트 fork_from=원본 프로젝트 :
fork_visibility_helper=포크된 저장소의 가시성은 변경하실 수 없습니다. fork_visibility_helper=포크된 저장소의 가시성은 변경하실 수 없습니다.
use_template=이 템플릿을 사용 use_template=이 템플릿을 사용
repo_desc=설명 repo_desc=설명
repo_lang=언어 repo_lang=언어
repo_gitignore_helper=.gitignore 템플릿 선택합니다. repo_gitignore_helper=.gitignore 템플릿 선택
license=라이센스 license=라이센스
license_helper=라이센스 파일을 선택해주세요. license_helper=라이센스 파일을 선택해주세요.
readme=README readme=README
@ -678,7 +600,7 @@ migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니
migrate.failed=마이그레이션 실패: %v migrate.failed=마이그레이션 실패: %v
mirror_from=의 미러 mirror_from=의 미러
forked_from=원본 프로젝트 forked_from=원본 프로젝트 :
fork_from_self=자신의 저장소를 포크 할 수 없습니다. fork_from_self=자신의 저장소를 포크 할 수 없습니다.
fork_guest_user=로그인하고 Fork 이 창고. fork_guest_user=로그인하고 Fork 이 창고.
unwatch=보지않기 unwatch=보지않기
@ -696,7 +618,7 @@ push_exist_repo=커맨드라인에서 기존 레포지터리 푸시
empty_message=이 저장소는 아무런 내용을 가지고 있지 않습니다. empty_message=이 저장소는 아무런 내용을 가지고 있지 않습니다.
code=코드 code=코드
code.desc=소스 코드, 파일, 커밋과 브랜치에 접근합니다. code.desc=소스 코드 접근, 파일, 커밋 그리고 브랜치
branch=브렌치 branch=브렌치
tree=트리 tree=트리
filter_branch_and_tag=브랜치나 태그로 필터 filter_branch_and_tag=브랜치나 태그로 필터
@ -728,20 +650,20 @@ editor.preview_changes=변경내용 미리보기
editor.cannot_edit_non_text_files=바이너리 파일을 웹 인터페이스에서 편집하실 수 없습니다. editor.cannot_edit_non_text_files=바이너리 파일을 웹 인터페이스에서 편집하실 수 없습니다.
editor.edit_this_file=파일 편집 editor.edit_this_file=파일 편집
editor.delete_this_file=파일 삭제 editor.delete_this_file=파일 삭제
editor.name_your_file=파일명 입력… editor.name_your_file=파일명을 입력하세요...
editor.or=혹은 editor.or=혹은
editor.cancel_lower=취소 editor.cancel_lower=취소
editor.commit_changes=변경 내용을 커밋 editor.commit_changes=변경 내용을 커밋
editor.commit_message_desc=선택적 확장 설명 추가… editor.commit_message_desc=선택적 확장 설명을 추가...
editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> 브랜치에서 직접 커밋해주세요. editor.commit_directly_to_this_branch="<strong class=\"branch-name\">%s</strong> 브랜치에서 직접 커밋해주세요."
editor.create_new_branch=이 커밋에 대한 <strong>새로운 브랜치</strong>를 만들고 끌어오기 요청을 시작합니다. editor.create_new_branch=이 커밋에 대한 <strong>새로운 브랜치</strong>를 만들고 끌어오기 요청을 시작합니다.
editor.new_branch_name_desc=새로운 브랜치 이름… editor.new_branch_name_desc=새로운 브랜치 명...
editor.cancel=취소 editor.cancel=취소
editor.filename_cannot_be_empty=파일명이 빈칸입니다. editor.filename_cannot_be_empty=파일명이 빈칸입니다.
editor.no_changes_to_show=표시할 변경사항이 없습니다. editor.no_changes_to_show=표시할 변경사항이 없습니다.
editor.add_subdir=경로 추가 editor.add_subdir=경로 추가...
commits.desc=소스 코드 변경 내역 탐색합니다. commits.desc=소스 코드 변경 내역 탐색
commits.commits=커밋 commits.commits=커밋
commits.search=커밋 찾기... commits.search=커밋 찾기...
commits.find=검색 commits.find=검색
@ -767,7 +689,7 @@ projects.column.edit_title=이름
projects.column.new_title=이름 projects.column.new_title=이름
issues.new=새로운 이슈 issues.new=새로운 이슈
issues.new.title_empty=제목은 비워둘 수 없 issues.new.title_empty=제목은 비워둘 수 없습니다.
issues.new.labels=레이블 issues.new.labels=레이블
issues.new.no_label=레이블 없음 issues.new.no_label=레이블 없음
issues.new.clear_labels=레이블 초기화 issues.new.clear_labels=레이블 초기화
@ -779,7 +701,7 @@ issues.new.closed_milestone=마일스톤 닫기
issues.new.assignees=담당자 issues.new.assignees=담당자
issues.new.clear_assignees=담당자 초기화 issues.new.clear_assignees=담당자 초기화
issues.new.no_assignees=담당자 없음 issues.new.no_assignees=담당자 없음
issues.no_ref=Branch/Tag 가 지정되어 있지 않 issues.no_ref=Branch/Tag 가 지정되어 있지 않습니다.
issues.create=이슈 생성 issues.create=이슈 생성
issues.new_label=새로운 레이블 issues.new_label=새로운 레이블
issues.new_label_placeholder=레이블 이름 issues.new_label_placeholder=레이블 이름
@ -828,7 +750,7 @@ issues.action_milestone=마일스톤
issues.action_milestone_no_select=마일스톤 없음 issues.action_milestone_no_select=마일스톤 없음
issues.action_assignee=담당자 issues.action_assignee=담당자
issues.action_assignee_no_select=담당자 없음 issues.action_assignee_no_select=담당자 없음
issues.opened_by=<a href="%[2]s"> %[3]s</a>님이 %[1]s에 오픈 issues.opened_by="<a href=\"%[2]s\"> %[3]s</a>가 %[1]s을 오픈"
issues.previous=이전 issues.previous=이전
issues.next=다음 issues.next=다음
issues.open_title=오픈 issues.open_title=오픈
@ -846,7 +768,7 @@ issues.create_comment=코멘트
issues.commit_ref_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.role.owner=소유자 issues.role.owner=소유자
issues.role.member=멤버 issues.role.member=멤버
issues.sign_in_require_desc=<a href="%s">로그인</a>하여 이 대화에 참여하세요. issues.sign_in_require_desc="<a href=\"%s\">로그인</a>하여 이 대화에 참여"
issues.edit=수정 issues.edit=수정
issues.cancel=취소 issues.cancel=취소
issues.save=저장 issues.save=저장
@ -883,20 +805,20 @@ issues.add_time_sum_to_small=시간이 입력되지 않았습니다.
issues.time_spent_total=총 경과된 시간 issues.time_spent_total=총 경과된 시간
issues.time_spent_from_all_authors=`총 경과된 시간: %s` issues.time_spent_from_all_authors=`총 경과된 시간: %s`
issues.due_date=마감일 issues.due_date=마감일
issues.invalid_due_date_format=마감일은 반드시 "yyyy-mm-dd" 형식이어야 합니다. issues.invalid_due_date_format="마감일은 반드시 'yyyy-mm-dd' 형식이어야 합니다."
issues.error_modifying_due_date=마감일 수정을 실패하였습니다. issues.error_modifying_due_date="마감일 수정을 실패하였습니다."
issues.error_removing_due_date=마감일 삭제를 실패하였습니다. issues.error_removing_due_date="마감일 삭제를 실패하였습니다."
issues.due_date_form=yyyy-mm-dd issues.due_date_form=yyyy-mm-dd
issues.due_date_form_add=마감일 추가 issues.due_date_form_add=마감일 추가
issues.due_date_form_edit=편집 issues.due_date_form_edit=편집
issues.due_date_form_remove=삭제 issues.due_date_form_remove=삭제
issues.due_date_not_set=마감일이 설정되지 않았습니다. issues.due_date_not_set=마감일이 설정되지 않았습니다.
issues.due_date_added=마감일 %s 를 추가 %s issues.due_date_added=마감일 %s 를 추가 %s
issues.due_date_remove=%s %s 마감일이 삭제 issues.due_date_remove=%s %s 마감일이 삭제되었습니다.
issues.due_date_overdue="기한 초과" issues.due_date_overdue="기한 초과"
issues.due_date_invalid=기한이 올바르지 않거나 범위를 벗어났습니다. "yyyy-mm-dd"형식을 사용해주십시오. issues.due_date_invalid="기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오."
issues.dependency.title=의존성 issues.dependency.title=의존성
issues.dependency.add=의존성 추가 issues.dependency.add=의존성 추가...
issues.dependency.cancel=취소 issues.dependency.cancel=취소
issues.dependency.remove=제거 issues.dependency.remove=제거
issues.dependency.remove_info=이 의존성 제거 issues.dependency.remove_info=이 의존성 제거
@ -926,9 +848,9 @@ pulls.compare_changes=새 풀 리퀘스트
pulls.compare_base=병합하기 pulls.compare_base=병합하기
pulls.compare_compare=다음으로부터 풀 pulls.compare_compare=다음으로부터 풀
pulls.filter_branch=Filter Branch pulls.filter_branch=Filter Branch
pulls.no_results=결과를 찾을 수 없습니다. pulls.no_results=결과 없음
pulls.create=풀 리퀘스트 생성 pulls.create=풀 리퀘스트 생성
pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="branch_target">%[3]s</code> 로 %[1]d개의 커밋들을 머지하려 합니다 pulls.title_desc_few="<code>%[2]s</code> 에서 <code id=\"branch_target\">%[3]s</code> 로 %[1]d commits 를 머지하려 합니다"
pulls.merged_title_desc_few=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지했습니다 %[4]s pulls.merged_title_desc_few=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지했습니다 %[4]s
pulls.tab_conversation=대화 pulls.tab_conversation=대화
pulls.tab_commits=커밋 pulls.tab_commits=커밋
@ -953,13 +875,13 @@ milestones.closed=닫힘 %s
milestones.no_due_date=기한 없음 milestones.no_due_date=기한 없음
milestones.open=열기 milestones.open=열기
milestones.close=닫기 milestones.close=닫기
milestones.completeness=<strong>%d%%</strong> 완료됨 milestones.completeness=%d%% 완료됨
milestones.create=마일스톤 생성 milestones.create=마일스톤 생성
milestones.title=타이틀 milestones.title=타이틀
milestones.desc=설명 milestones.desc=설명
milestones.due_date=기한 (선택 사항) milestones.due_date=기한 (선택 사항)
milestones.clear=지우기 milestones.clear=지우기
milestones.invalid_due_date_format=마감일은 반드시 "yyyy-mm-dd" 형식이어야 합니다. milestones.invalid_due_date_format="마감일은 반드시 'yyyy-mm-dd' 형식이어야 합니다."
milestones.edit=마일스톤 편집 milestones.edit=마일스톤 편집
milestones.cancel=취소 milestones.cancel=취소
milestones.modify=마일스톤 갱신 milestones.modify=마일스톤 갱신
@ -975,14 +897,14 @@ milestones.filter_sort.least_issues=이슈 적은 순
ext_wiki.desc=외부 위키에 연결하기. ext_wiki.desc=외부 위키에 연결하기.
wiki=위키 wiki=위키
wiki.welcome=위키에 오신것을 환영합니다. wiki.welcome=위키에 오신것을 환영합니다!
wiki.welcome_desc=Wiki를 사용하여 업자들과 문서를 작성 하고 공유 할 수 있습니다. wiki.welcome_desc=Wiki를 사용하여 공동 작업자들과 문서를 작성 하고 공유 할 수 있습니다.
wiki.desc=업자들과 문서 작성 및 공유. wiki.desc=공동 작업자들과 문서 작성 및 공유.
wiki.create_first_page=첫 페이지 작성 wiki.create_first_page=첫 페이지 작성
wiki.page=페이지 wiki.page=페이지
wiki.filter_page=페이지 필터링 wiki.filter_page=페이지 필터링
wiki.new_page=페이지 wiki.new_page=페이지
wiki.default_commit_message=이 페이지 수정에 대한 메모를 작성하세요.(선택사항) wiki.default_commit_message=이 페이지에 대한 메모를 작성하세요.(선택사항)
wiki.save_page=페이지 저장하기 wiki.save_page=페이지 저장하기
wiki.last_commit_info=%s이(가) %s에 이 페이지를 수정함 wiki.last_commit_info=%s이(가) %s에 이 페이지를 수정함
wiki.edit_page_button=수정하기 wiki.edit_page_button=수정하기
@ -1008,8 +930,8 @@ activity.title.user_1=%d 사용자
activity.title.user_n=%d 사용자 activity.title.user_n=%d 사용자
activity.title.prs_1=풀 리퀘스트 %d개 activity.title.prs_1=풀 리퀘스트 %d개
activity.title.prs_n=풀 리퀘스트 %d개 activity.title.prs_n=풀 리퀘스트 %d개
activity.title.prs_merged_by=%s 가 %s 로부터 머지 되었 activity.title.prs_merged_by=%s 가 %s 로부터 머지 되었습니다.
activity.title.prs_opened_by=%s 가 %s 로 부터 제안 activity.title.prs_opened_by=%s 가 %s 로 부터 제안 되었습니다.
activity.merged_prs_label=병합됨 activity.merged_prs_label=병합됨
activity.opened_prs_label=제안중 activity.opened_prs_label=제안중
activity.active_issues_count_1=<strong>%d</strong> 개의 활성화된 이슈 activity.active_issues_count_1=<strong>%d</strong> 개의 활성화된 이슈
@ -1018,7 +940,7 @@ activity.closed_issues_count_1=클로즈된 이슈
activity.closed_issues_count_n=클로즈된 이슈 activity.closed_issues_count_n=클로즈된 이슈
activity.title.issues_1=이슈 %d개 activity.title.issues_1=이슈 %d개
activity.title.issues_n=이슈 %d개 activity.title.issues_n=이슈 %d개
activity.title.issues_created_by=%s 가 %s 에 의해 생성 activity.title.issues_created_by=%s 가 %s 에 의해 생성되었습니다.
activity.closed_issue_label=닫힘 activity.closed_issue_label=닫힘
activity.new_issues_count_1=새로운 이슈 activity.new_issues_count_1=새로운 이슈
activity.new_issues_count_n=새로운 이슈 activity.new_issues_count_n=새로운 이슈
@ -1029,7 +951,7 @@ activity.unresolved_conv_desc=최근 변경된 이슈나 풀 리퀘스트들이
activity.unresolved_conv_label=열기 activity.unresolved_conv_label=열기
activity.title.releases_1=%d 개의 릴리즈 activity.title.releases_1=%d 개의 릴리즈
activity.title.releases_n=%d 개의 릴리즈 activity.title.releases_n=%d 개의 릴리즈
activity.title.releases_published_by=%s 가 %s 에 의하여 배포 activity.title.releases_published_by=%s 가 %s 에 의하여 배포되었습니다.
activity.published_release_label=배포됨 activity.published_release_label=배포됨
contributors.contribution_type.commits=커밋 contributors.contribution_type.commits=커밋
@ -1040,9 +962,9 @@ search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과"
search.code_no_results=검색어와 일치하는 소스코드가 없습니다. search.code_no_results=검색어와 일치하는 소스코드가 없습니다.
settings=설정 settings=설정
settings.desc=설정에서 저장소 설정을 관리할 수 있음 settings.desc=설정은 저장소 설정을 관리할 수 있습니다.
settings.options=저장소 settings.options=저장소
settings.collaboration=업자 settings.collaboration=공동작업자
settings.collaboration.admin=관리자 settings.collaboration.admin=관리자
settings.collaboration.write=쓰기 settings.collaboration.write=쓰기
settings.collaboration.read=읽기 settings.collaboration.read=읽기
@ -1058,12 +980,12 @@ settings.site=웹 사이트
settings.update_settings=설정 저장 settings.update_settings=설정 저장
settings.advanced_settings=고급 설정 settings.advanced_settings=고급 설정
settings.wiki_desc=저장소 위키 활성화 settings.wiki_desc=저장소 위키 활성화
settings.use_internal_wiki=내장 위키 사용 settings.use_internal_wiki=빌트-인 위키 사용
settings.use_external_wiki=외부 위키 사용 settings.use_external_wiki=외부 위키 사용
settings.external_wiki_url=외부 위키 URL settings.external_wiki_url=외부 위키 URL
settings.external_wiki_url_error=외부 위키 URL이 올바른 URL이 아닙니다. settings.external_wiki_url_error=외부 위키 URL이 올바른 URL이 아닙니다.
settings.issues_desc=저장소 이슈 트래커 활성화 settings.issues_desc=저장소 이슈 트래커 활성화
settings.use_internal_issue_tracker=내장 이슈 트래커 사용 settings.use_internal_issue_tracker=빌트-인 트래커 사용
settings.use_external_issue_tracker=외부 이슈 트래커 사용 settings.use_external_issue_tracker=외부 이슈 트래커 사용
settings.external_tracker_url=외부 이슈 트래커 URL settings.external_tracker_url=외부 이슈 트래커 URL
settings.external_tracker_url_error=외부 이슈 트래커 URL이 올바른 URL이 아닙니다. settings.external_tracker_url_error=외부 이슈 트래커 URL이 올바른 URL이 아닙니다.
@ -1083,28 +1005,28 @@ settings.convert=일반 저장소로 변환
settings.convert_confirm=저장소 변환 settings.convert_confirm=저장소 변환
settings.convert_fork=일반 저장소로 변환 settings.convert_fork=일반 저장소로 변환
settings.convert_fork_confirm=저장소 변환 settings.convert_fork_confirm=저장소 변환
settings.transfer.title=소유권 이전 settings.transfer=소유권 이전
settings.transfer_owner=새 소유자 settings.transfer_owner=새 소유자
settings.transfer_succeed=저장소가 이전 되었습니다. settings.transfer_succeed=저장소가 이전 되었습니다.
settings.trust_model.collaborator=협업자 settings.trust_model.collaborator=협업자
settings.wiki_delete=위키 데이터 삭제 settings.wiki_delete=위키 데이터 삭제
settings.confirm_wiki_delete=위키 데이터 삭제 settings.confirm_wiki_delete=위키 데이터 삭제
settings.delete=이 저장소 삭제 settings.delete=이 저장소 삭제
settings.delete_notices_1=- 이 작업은 <strong>취소할 수 없습니다</strong>. settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong>
settings.deletion_success=저장소가 삭제되었습니다. settings.deletion_success=저장소가 삭제되었습니다.
settings.update_settings_success=저장소 설정이 갱신되었습니다. settings.update_settings_success=저장소 설정이 갱신되었습니다.
settings.confirm_delete=저장소 삭제 settings.confirm_delete=저장소 삭제
settings.add_collaborator=업자 추가 settings.add_collaborator=공동작업자 추가
settings.add_collaborator_success=업자가 추가 되었습니다. settings.add_collaborator_success=공동작업자가 추가 되었습니다.
settings.delete_collaborator=제거 settings.delete_collaborator=제거
settings.collaborator_deletion=업자 삭제 settings.collaborator_deletion=공동작업자 삭제
settings.search_user_placeholder=사용자 검색... settings.search_user_placeholder=사용자 검색...
settings.teams= settings.teams=
settings.add_webhook=Webhook 추가 settings.add_webhook=Webhook 추가
settings.webhook_deletion=Webhook 삭제 settings.webhook_deletion=Webhook 삭제
settings.webhook_deletion_success=Webhook을 삭제했습니다. settings.webhook_deletion_success=Webhook을 삭제했습니다.
settings.webhook.test_delivery=전달 시험 settings.webhook.test_delivery=전달 시험
settings.webhook.test_delivery_desc=이 웹훅을 가상 이벤트로 테스트합니다. settings.webhook.test_delivery_desc=이 웹훅을 가상 이벤트로 테스트
settings.webhook.request=요청 settings.webhook.request=요청
settings.webhook.response=응답 settings.webhook.response=응답
settings.webhook.headers=제목 settings.webhook.headers=제목
@ -1124,7 +1046,7 @@ settings.discord_icon_url=아이콘 URL
settings.event_desc=트리거: settings.event_desc=트리거:
settings.event_push_only=푸시 이벤트 settings.event_push_only=푸시 이벤트
settings.event_send_everything=모든 이벤트 settings.event_send_everything=모든 이벤트
settings.event_choose=사용자 정의 이벤트 settings.event_choose=사용자 정의 이벤트...
settings.event_create=생성 settings.event_create=생성
settings.event_create_desc=브랜치 또는 태그가 생성되었습니다. settings.event_create_desc=브랜치 또는 태그가 생성되었습니다.
settings.event_delete=삭제 settings.event_delete=삭제
@ -1133,7 +1055,7 @@ settings.event_wiki=위키
settings.event_release=릴리즈 settings.event_release=릴리즈
settings.event_release_desc=릴리즈가 저장소에서 배포, 갱신 또는 제거되었습니다. settings.event_release_desc=릴리즈가 저장소에서 배포, 갱신 또는 제거되었습니다.
settings.event_push=푸시 settings.event_push=푸시
settings.event_push_desc=저장소로 푸시합니다. settings.event_push_desc=저장소로 푸시
settings.event_repository=저장소 settings.event_repository=저장소
settings.event_repository_desc=저장소가 생성되거나 삭제됩니다. settings.event_repository_desc=저장소가 생성되거나 삭제됩니다.
settings.event_issues=이슈 settings.event_issues=이슈
@ -1243,37 +1165,6 @@ branch.deleted_by=%s 에 의해 삭제되었습니다.
topic.manage_topics=토픽 관리 topic.manage_topics=토픽 관리
topic.done=완료 topic.done=완료
topic.count_prompt=25개 이상의 토픽을 선택하실 수 없습니다. topic.count_prompt=25개 이상의 토픽을 선택하실 수 없습니다.
settings.trust_model.collaboratorcommitter.desc = 이 저장소의 협업자가 작성한 유효한 서명이 커미터와 일치하는 경우 "신뢰할 수 있음"으로 표시됩니다. 협업자가 아니되 유효한 서명이 커미터와 일치하면 "신뢰할 수 없음"으로 표시되고 그렇지 않으면 "일치하지 않음"으로 표시됩니다. 커밋에 Co-Authored-By: 또는 Co-Committed-By: 트레일러로 표시된 실제 커미터와 함께 서명된 커밋이 있다면 Forgejo가 커미터로 표시됩니다. 기본 Forgejo 키는 데이터베이스의 사용자와 일치해야 합니다.
settings.matrix.access_token_helper = 이 작업을 위한 개별적인 Matrix 계정을 만드는것이 권장됩니다. 엑세스 토큰은 Element 웹 클라이언트(개인정보 보호 브라우징 권장) > 유저 메뉴(좌상단) > All settings > Help & About > Advanced > Access Token (홈서버 주소 바로 아래) 에서 찾을 수 있습니다. 로그아웃시 토큰이 만료됨을 주의하시고, 창을 닫아주세요.
settings.trust_model.collaboratorcommitter = 협업자+커미터
settings.signing_settings = 서명 검증 설정
settings.trust_model.collaborator.desc = 이 저장소의 협업자들의 유효한 서명은 "신뢰됨"으로 표시됩니다 (커미터와 일치하지 않는 경우를 포함). 아닌경우, 커미터와 일치하는 유효한 서명은 "신뢰되지 않음"으로 표시되고, 일치하지도 않는경우 "일치하지 않움" 으로 표시됩니다.
settings.trust_model.committer.long = 커미터: 커미터와 일치하는 서명을 신뢰(GIthub와 일치하며 Forgejo로 서명된 커밋이 Fogejo를 커미터로 갖도록 강제합니다.)
settings.trust_model.collaboratorcommitter.long = 협업자+커미터: 커미터가 일치하는 협업자의 서명을 신뢰
settings.trust_model.default = 기본 신뢰 모델
settings.trust_model.default.desc = 이 설치에 대한 기본 신뢰 모델을 사용합니다.
settings.trust_model.collaborator.long = 협업자: 협업자들의 서명을 신뢰
settings.trust_model = 서명 신뢰 모델
settings.trust_model.committer.desc = 유효한 서명이 커미터와 일치할경우 "신뢰됨"으로, 일치하지 않을경우 "일치하지 않음"으로 표시됩니다. 이러한 경우 Forgejo가 커미터로 표시되도록 강제되며 실제 커미터는 Co-authored-by: 와 Co-committed-by: 트레일러로 표시됩니다. 기본 Forgejo 키는 데이터베이스의 유저와 일치해야 합니다.
visibility_helper = 저장소 비공개로 만들기
projects.description = 설명 (선택)
settings.external_tracker_url_desc = 방문자들이 이슈 탭을 클릭하면 외부 이슈 트레커 URL로 연결됩니다.
settings.tracker_url_format_desc = <code>{user}</code>, <code>{repo}</code> and <code>{index}</code>를 사용자 이름, 저장소 이름, 이슈 번호로 사용할 수 있습니다.
projects = 프로젝트
projects.desc = 이슈와 풀 리퀘스트를 프로젝트에서 관리합니다.
projects.create = 프로젝트 만들기
project_board = 프로젝트
projects.create_success = "%s" 프로젝트가 생성되었습니다.
projects.deletion = 프로젝트 삭제
projects.deletion_desc = 프로젝트를 삭제하면 관련된 모든 이슈에서 해당 프로젝트가 제거됩니다. 계속하시겠습니까?
projects.deletion_success = 프로젝트가 삭제되었습니다.
projects.edit = 프로젝트 수정
projects.new_subheader = 한 곳에서 당신의 작업을 조정, 추적, 업데이트해 프로젝트를 일정대로 투명하게 유지하세요.
pulls.approve_count_n = %명의 승인
pulls.approve_count_1 = %d명의 승인
pulls.blocked_by_approvals = 이 풀 리퀘스트는 충분히 승인되지 않았습니다. %d/%d 승인됨.
settings.event_pull_request_approvals = 풀 리퀘스트 승인
pulls.blocked_by_official_review_requests = 이 풀 리퀘스트는 공식 검토자에 의한 승인이 부족하여 차단되었습니다.
@ -1521,7 +1412,7 @@ config.reverse_auth_user=역방향 사용자 인증
config.ssh_config=SSH 설정 config.ssh_config=SSH 설정
config.ssh_enabled=활성화됨 config.ssh_enabled=활성화됨
config.ssh_start_builtin_server=내장 서버 사용 config.ssh_start_builtin_server=빌트-인 서버 사용
config.ssh_port=포트 config.ssh_port=포트
config.ssh_listen_port=수신 대기 포트 config.ssh_listen_port=수신 대기 포트
config.ssh_root_path=최상위 경로 config.ssh_root_path=최상위 경로
@ -1638,7 +1529,6 @@ notices.type_1=저장소
notices.desc=설명 notices.desc=설명
notices.op=일. notices.op=일.
notices.delete_success=시스템 알림이 삭제되었습니다. notices.delete_success=시스템 알림이 삭제되었습니다.
users.allow_git_hook_tooltip = Git 훅은 Forgejo가 실행중인 OS 유저로 실행되며 같은 수준의 권한을 갖습니다. 결과적으로, Git 훅 사용권한이 있는 사용자는 Forgejo에서 사용하는 데이터베이스를 포함한 모든 저장소에 접근하거나 수정할 수 있습니다. 궁극적으로 이러한 사용자들은 Forgejo의 관리자 권한을 획득할 수 있습니다.
[action] [action]
@ -1646,7 +1536,6 @@ create_repo=저장소를 만들었습니다. <a href="%s">%s</a>
rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다. rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다.
transfer_repo=<code>%s</code>에서 <a href="%s">%s</a>로 저장소가 전송되었습니다. transfer_repo=<code>%s</code>에서 <a href="%s">%s</a>로 저장소가 전송되었습니다.
compare_commits=%d 커밋들 비교 compare_commits=%d 커밋들 비교
watched_repo = <a href="%[1]s">%[2]s</a>에대한 감시를 시작합니다
[tool] [tool]
now=현재 now=현재
@ -1683,9 +1572,6 @@ pin=알림 고정
mark_as_read=읽음으로 표시 mark_as_read=읽음으로 표시
mark_as_unread=읽지 않음으로 표시 mark_as_unread=읽지 않음으로 표시
mark_all_as_read=모두 읽음으로 표시 mark_all_as_read=모두 읽음으로 표시
subscriptions = 구독된 알림
no_subscriptions = 알림이 없음
watching = 감시
[gpg] [gpg]
error.extract_sign=서명 추출에 실패 error.extract_sign=서명 추출에 실패
@ -1727,11 +1613,3 @@ runs.commit=커밋
[git.filemode] [git.filemode]
; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", … ; Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
[search]
code_search_by_git_grep = 현재 코드 검색 결과는 "git grep"에 의해 제공됩니다.관리자가 코드 인덱서를 활성화하면 더 나은 결과가 제공될 수 있습니다.
branch_kind = 브랜치 검색...
keyword_search_unavailable = 지금은 키워드로 검색이 지원되지 않습니다. 사이트 관리자에게 문의하십시오.
commit_kind = 커밋 검색...
no_results = 일치하는 결과를 찾을 수 없습니다.

View file

@ -2080,7 +2080,7 @@ settings.convert_fork_desc=Jūs varat nomainīt šo atdalīto repozitoriju kā n
settings.convert_fork_notices_1=Šī darbība mainīs atdalīto repozitoriju uz neatkarīgu repozitoriju un ir neatgriezeniska. settings.convert_fork_notices_1=Šī darbība mainīs atdalīto repozitoriju uz neatkarīgu repozitoriju un ir neatgriezeniska.
settings.convert_fork_confirm=Konvertēt repozitoriju settings.convert_fork_confirm=Konvertēt repozitoriju
settings.convert_fork_succeed=Atdalītais repozitorijs tika izmainīts par neatkarīgu repozitoriju. settings.convert_fork_succeed=Atdalītais repozitorijs tika izmainīts par neatkarīgu repozitoriju.
settings.transfer.title=Mainīt īpašnieku settings.transfer=Mainīt īpašnieku
settings.transfer.rejected=Repozitorija īpašnieka maiņas pieprasījums tika noraidīts. settings.transfer.rejected=Repozitorija īpašnieka maiņas pieprasījums tika noraidīts.
settings.transfer.success=Repozitorija īpašnieka maiņa veiksmīga. settings.transfer.success=Repozitorija īpašnieka maiņa veiksmīga.
settings.transfer_abort=Atcelt īpašnieka maiņu settings.transfer_abort=Atcelt īpašnieka maiņu

View file

@ -157,7 +157,6 @@ filter = Filter
filter.not_archived = Niet gearchiveerd filter.not_archived = Niet gearchiveerd
more_items = Meer items more_items = Meer items
invalid_data = Ongeldige data: %v invalid_data = Ongeldige data: %v
copy_generic = Kopieer naar klembord
[aria] [aria]
navbar = Navigatiebalk navbar = Navigatiebalk
@ -630,12 +629,6 @@ org_still_own_packages = Deze organisatie is eigenaar van één of meer pakkette
unset_password = De inloggebruiker heeft het wachtwoord niet ingesteld. unset_password = De inloggebruiker heeft het wachtwoord niet ingesteld.
unsupported_login_type = Het aanmeldtype wordt niet ondersteund om accounts te verwijderen. unsupported_login_type = Het aanmeldtype wordt niet ondersteund om accounts te verwijderen.
required_prefix = De tekst moet beginnen met "%s" required_prefix = De tekst moet beginnen met "%s"
Biography = Biografie
Location = Locatie
Description = Beschrijving
FullName = Volledige naam
To = Branch naam
Website = Website
[user] [user]
@ -2480,7 +2473,7 @@ settings.reindex_button = Toevoegen aan herindexeringswachtrij
settings.reindex_requested = Herindexering aangevraagd settings.reindex_requested = Herindexering aangevraagd
settings.danger_zone = Gevaren zone settings.danger_zone = Gevaren zone
settings.new_owner_has_same_repo = De nieuwe eigenaar heeft al een repository met dezelfde naam. Kies een andere naam. settings.new_owner_has_same_repo = De nieuwe eigenaar heeft al een repository met dezelfde naam. Kies een andere naam.
settings.transfer.title = Eigendom overdragen settings.transfer = Eigendom overdragen
settings.transfer.success = Repository overdracht was succesvol. settings.transfer.success = Repository overdracht was succesvol.
settings.transfer_abort = Overdracht annuleren settings.transfer_abort = Overdracht annuleren
settings.transfer_abort_success = De repository overdracht naar %s is succesvol geannuleerd. settings.transfer_abort_success = De repository overdracht naar %s is succesvol geannuleerd.

View file

@ -143,7 +143,7 @@ show_log_seconds = Pokaż sekundy
show_full_screen = Pokaż pełny ekran show_full_screen = Pokaż pełny ekran
download_logs = Pobierz logi download_logs = Pobierz logi
confirm_delete_selected = Potwierdzić usunięcie wszystkich wybranych elementów? confirm_delete_selected = Potwierdzić usunięcie wszystkich wybranych elementów?
filter.is_template = Szablony filter.is_template = Szablon
filter.public = Publiczne filter.public = Publiczne
filter.private = Prywatne filter.private = Prywatne
copy_generic = Skopiuj do schowka copy_generic = Skopiuj do schowka
@ -152,11 +152,10 @@ tracked_time_summary = Podsumowanie śledzonego czasu na podstawie filtrów list
show_timestamps = Pokaż znaczniki czasu show_timestamps = Pokaż znaczniki czasu
filter.not_archived = Nie zarchiwizowane filter.not_archived = Nie zarchiwizowane
filter.not_mirror = Nie lustrzane odbicie filter.not_mirror = Nie lustrzane odbicie
filter.not_template = Nie szablony filter.not_template = Nie szablon
filter.is_archived = Zarchiwizowane filter.is_archived = Zarchiwizowane
filter.is_mirror = Kopie lustrzane filter.is_mirror = Lustrzane odbicie
more_items = Więcej elementów more_items = Więcej elementów
filter.is_fork = Forki
[aria] [aria]
navbar = Pasek nawigacji navbar = Pasek nawigacji
@ -168,10 +167,6 @@ footer.links = Linki
contributions_format = {contributions} w dniu {month} {day}, {year} contributions_format = {contributions} w dniu {month} {day}, {year}
less = Mniej less = Mniej
more = Więcej more = Więcej
number_of_contributions_in_the_last_12_months = %s wkładów w ciągu ostatnich 12 miesięcy
contributions_zero = Brak wkładów
contributions_one = Wkład
contributions_few = Wkłady
[editor] [editor]
buttons.heading.tooltip = Dodaj nagłówek buttons.heading.tooltip = Dodaj nagłówek
@ -211,7 +206,7 @@ lightweight=Niskie wymagania
lightweight_desc=Forgejo ma niskie minimalne wymagania i może działać na niedrogim Raspberry Pi. Oszczędzaj energię swojego komputera! lightweight_desc=Forgejo ma niskie minimalne wymagania i może działać na niedrogim Raspberry Pi. Oszczędzaj energię swojego komputera!
license=Otwarte źródło license=Otwarte źródło
license_desc=Pobierz na <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">Forgejo</a>! Dołącz do nas dzięki <a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">swojemu wkładowi</a>, aby uczynić ten projekt jeszcze lepszym. Nie wstydź się zostać współtwórcą! license_desc=Pobierz na <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">Forgejo</a>! Dołącz do nas dzięki <a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">swojemu wkładowi</a>, aby uczynić ten projekt jeszcze lepszym. Nie wstydź się zostać współtwórcą!
install_desc = Po prostu <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#installation-from-binary">uruchom plik binarny</a> dla swojej platformy, dostarcz ją za pomocą <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#container-image">Dockera</a>, lub użyj wersji <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">zapakowanej</a>. install_desc = Po prostu <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#installation-from-binary">uruchom plik binarny</a> dla swojej platformy, dostarcz ją za pomocą <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#container-image">Dockera</a>, lub weż wersję<a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">zapakowaną</a>.
[install] [install]
install=Instalacja install=Instalacja
@ -372,9 +367,6 @@ go_to = Przejdź do
relevant_repositories = Wyświetlane są tylko istotne repozytoria, <a href="%s">pokaż niefiltrowane wyniki</a>. relevant_repositories = Wyświetlane są tylko istotne repozytoria, <a href="%s">pokaż niefiltrowane wyniki</a>.
stars_one = %d gwiazdka stars_one = %d gwiazdka
stars_few = %d gwiazdek stars_few = %d gwiazdek
forks_one = %d fork
forks_few = %d forki
relevant_repositories_tooltip = Repozytoria, które nie są forkami lub nie mają tematu, ikony i opisu są ukryte.
[auth] [auth]
create_new_account=Zarejestruj konto create_new_account=Zarejestruj konto
@ -439,23 +431,10 @@ prohibit_login_desc = Twoje konto jest zablokowane, skontaktuj się z administra
change_unconfirmed_email_summary = Zmień adres e-mail, na który zostanie wysłana wiadomość aktywacyjna. change_unconfirmed_email_summary = Zmień adres e-mail, na który zostanie wysłana wiadomość aktywacyjna.
manual_activation_only = Skontaktuj się z administratorem witryny, aby dokończyć aktywację. manual_activation_only = Skontaktuj się z administratorem witryny, aby dokończyć aktywację.
change_unconfirmed_email = Jeśli podczas rejestracji podałeś nieprawidłowy adres e-mail, możesz go zmienić poniżej, a potwierdzenie zostanie wysłane na nowy adres. change_unconfirmed_email = Jeśli podczas rejestracji podałeś nieprawidłowy adres e-mail, możesz go zmienić poniżej, a potwierdzenie zostanie wysłane na nowy adres.
openid_signin_desc = Wprowadź swój identyfikator URI OpenID. Na przykład: alice.openid.example.org lub https://openid.example.org/alice.
authorization_failed_desc = Autoryzacja nie powiodła się, ponieważ wykryliśmy nieprawidłowe żądanie. Skontaktuj się z autorem aplikacji, którą próbowałeś autoryzować.
password_pwned = Wybrane hasło znajduje się na <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">liście skradzionych haseł</a>, które zostały wcześniej ujawnione w wyniku publicznego naruszenia danych. Spróbuj ponownie z innym hasłem i rozważ zmianę tego hasła również w innych miejscach.
last_admin = Nie można usunąć ostatniego administratora. Musi istnieć co najmniej jeden administrator.
tab_signin = Zaloguj
oauth.signin.error = Wystąpił błąd podczas przetwarzania żądania autoryzacji. Jeśli ten błąd nadal występuje, skontaktuj się z administratorem witryny.
change_unconfirmed_email_error = Nie udało się zmienić adresu email: %v
invalid_code_forgot_password = Twój kod potwierdzający jest niepoprawny lub wygasł. Naciśnij <a href="%s">tutaj</a>, aby rozpocząć nową sesję.
invalid_password = Twoje hasło nie zgadza się z hasłem, które zostało użyte do stworzenia konta.
reset_password_wrong_user = Jesteś zalogowany jako %s, ale link odzyskujący jest dla %s
tab_signup = Zarejestruj
oauth.signin.error.access_denied = Wniosek o autoryzację został odrzucony.
oauth.signin.error.temporarily_unavailable = Autoryzacja nie powiodła się, ponieważ serwer uwierzytelniania jest tymczasowo niedostępny. Spróbuj ponownie później.
[mail] [mail]
view_it_on=Zobacz na %s view_it_on=Zobacz na %s
link_not_working_do_paste=Czy link nie działa? Spróbuj skopiować i wkleić go do paska adresu URL przeglądarki. link_not_working_do_paste=Nie działa? Spróbuj skopiować i wkleić go do przeglądarki.
hi_user_x=Cześć <b>%s</b>, hi_user_x=Cześć <b>%s</b>,
activate_account=Aktywuj swoje konto activate_account=Aktywuj swoje konto
@ -469,12 +448,12 @@ activate_email.text=Aby zweryfikować swój adres e-mail, w ciągu następnych <
register_notify=Witamy w Forgejo register_notify=Witamy w Forgejo
register_notify.title=%[1]s, witaj w %[2]s register_notify.title=%[1]s, witaj w %[2]s
register_notify.text_1=to jest Twój e-mail z potwierdzeniem rejestracji dla %s! register_notify.text_1=to jest Twój e-mail z potwierdzeniem rejestracji dla %s!
register_notify.text_2=Możesz teraz zalogować się za pomocą nazwy użytkownika: %s register_notify.text_2=Możesz teraz zalogować się za pomocą nazwy użytkownika: %s.
register_notify.text_3=Jeśli ktoś inny utworzył dla ciebie to konto, musisz najpierw <a href="%s">ustawić swoje hasło</a>. register_notify.text_3=Jeśli to konto zostało utworzone dla Ciebie, <a href="%s">ustaw swoje hasło</a>.
reset_password=Odzyskaj swoje konto reset_password=Odzyskaj swoje konto
reset_password.title=%s, otrzymaliśmy prośbę o odzyskanie konta reset_password.title=%s, prosiłeś o odzyskanie konta
reset_password.text=Jeśli to byłeś ty, kliknij poniższy link, aby odzyskać swoje konto w ciągu <b>%s</b>: reset_password.text=Kliknij poniższy link, aby odzyskać swoje konto w ciągu <b>%s</b>:
register_success=Rejestracja powiodła się register_success=Rejestracja powiodła się
@ -498,24 +477,13 @@ release.downloads=Pobierz:
release.download.zip=Kod źródłowy (ZIP) release.download.zip=Kod źródłowy (ZIP)
release.download.targz=Kod źródłowy (TAR.GZ) release.download.targz=Kod źródłowy (TAR.GZ)
repo.transfer.subject_to=%s chce przenieść repozytorium "%s" do %s repo.transfer.subject_to=%s chciałby przenieść "%s" do %s
repo.transfer.subject_to_you=%s chce przenieść repozytorium "%s" do ciebie repo.transfer.subject_to_you=%s chciałby przenieść "%s" do ciebie
repo.transfer.to_you=ciebie repo.transfer.to_you=ciebie
repo.transfer.body=Aby zaakceptować lub odrzucić go, odwiedź %s lub po prostu go zignoruj. repo.transfer.body=Aby zaakceptować lub odrzucić go, odwiedź %s lub po prostu go zignoruj.
repo.collaborator.added.subject=%s dodał cię do %s jako współtwórce repo.collaborator.added.subject=%s dodał Cię do %s
repo.collaborator.added.text=Zostałeś dodany jako współtwórca do repozytorium: repo.collaborator.added.text=Zostałeś dodany jako współtwórca repozytorium:
issue.action.push_1 = <b>@%[1]s</b> pchnął %[3]d commit do %[2]s
activate_email.title = %s, zweryfikuj swój adres e-mail
admin.new_user.text = <a href="%s">Kliknij tutaj</a>, aby zarządzać tym użytkownikiem z panelu administracyjnego.
issue.action.push_n = <b>@%[1]s</b> pchnął %[3]d commity do %[2]s
reply = lub odpowiedz bezpośrednio na ten e-mail
admin.new_user.subject = Właśnie zarejestrował się nowy użytkownik %s
admin.new_user.user_info = Informacje użytkownika
issue.action.approve = <b>@%[1]s</b> zatwierdził ten pull request.
issue.action.reject = <b>@%[1]s</b> poprosił o zmiany w tym pull requescie.
issue.action.review_dismissed = <b>@%[1]s</b> odrzucił ostatnią analizę od %[2]s dla tego pull requesta.
team_invite.subject = %[1]s zaprosił cię do dołączenia do organizacji %[2]s
[modal] [modal]
@ -1665,7 +1633,7 @@ settings.convert_fork_desc=Możesz przekonwertować ten fork w zwykłe repozytor
settings.convert_fork_notices_1=Ta operacja przekonwertuje fork w zwykłe repozytorium i nie może być cofnięta. settings.convert_fork_notices_1=Ta operacja przekonwertuje fork w zwykłe repozytorium i nie może być cofnięta.
settings.convert_fork_confirm=Konwertuj repozytorium settings.convert_fork_confirm=Konwertuj repozytorium
settings.convert_fork_succeed=Fork został przekonwertowany w zwykłe repozytorium. settings.convert_fork_succeed=Fork został przekonwertowany w zwykłe repozytorium.
settings.transfer.title=Przeniesienie własności settings.transfer=Przeniesienie własności
settings.transfer.rejected=Przeniesienie repozytorium zostało odrzucone. settings.transfer.rejected=Przeniesienie repozytorium zostało odrzucone.
settings.transfer.success=Przeniesienie repozytorium powiodło się. settings.transfer.success=Przeniesienie repozytorium powiodło się.
settings.transfer_abort=Anuluj transfer settings.transfer_abort=Anuluj transfer

View file

@ -247,9 +247,9 @@ run_user_helper=O nome de usuário do sistema operacional com o qual o Forgejo
domain=Domínio do servidor domain=Domínio do servidor
domain_helper=Domínio ou endereço de host para o servidor. domain_helper=Domínio ou endereço de host para o servidor.
ssh_port=Porta do servidor SSH ssh_port=Porta do servidor SSH
ssh_port_helper=Número da porta que será utilizada pelo servidor SSH. Deixe em branco para desabilitar. ssh_port_helper=Número da porta que seu servidor SSH está usando. Deixe em branco para desabilitar.
http_port=Porta HTTP http_port=Porta HTTP de uso do Forgejo
http_port_helper=Número da porta que será usada pelo servidor web do Forgejo. http_port_helper=Número da porta que o servidor web do Forgejo irá usar.
app_url=URL base app_url=URL base
app_url_helper=Endereço base para URLs clone HTTP(S) e notificações por e-mail. app_url_helper=Endereço base para URLs clone HTTP(S) e notificações por e-mail.
log_root_path=Caminho dos arquivos de registro log_root_path=Caminho dos arquivos de registro
@ -304,20 +304,20 @@ invalid_admin_setting=Configuração da conta de administrador está inválida:
invalid_log_root_path=Pasta raíz do log está inválida: %v invalid_log_root_path=Pasta raíz do log está inválida: %v
default_keep_email_private=Ocultar endereços de e-mail por padrão default_keep_email_private=Ocultar endereços de e-mail por padrão
default_keep_email_private_popup=Ocultar endereços de e-mail de novas contas de usuário por padrão. default_keep_email_private_popup=Ocultar endereços de e-mail de novas contas de usuário por padrão.
default_allow_create_organization=Permitir a criação de organizações default_allow_create_organization=Permitir a criação de organizações por padrão
default_allow_create_organization_popup=Permitir que novas contas de usuários criem organizações por padrão. default_allow_create_organization_popup=Permitir que novas contas de usuários criem organizações por padrão.
default_enable_timetracking=Habilitar o Cronômetro por Padrão default_enable_timetracking=Habilitar o Cronômetro por Padrão
default_enable_timetracking_popup=Habilitar o cronômetro para novos repositórios por padrão. default_enable_timetracking_popup=Habilitar o cronômetro para novos repositórios por padrão.
no_reply_address=Domínio de e-mail oculto no_reply_address=Domínio de e-mail oculto
no_reply_address_helper=Nome de domínio para usuários com um endereço de e-mail oculto. Por exemplo, o nome de usuário 'joe' será registrado no Git como 'joe@noreply.example.org' se o domínio de e-mail oculto estiver definido como 'noreply.example.org'. no_reply_address_helper=Nome de domínio para usuários com um endereço de e-mail oculto. Por exemplo, o nome de usuário 'joe' será registrado no Git como 'joe@noreply.example.org' se o domínio de e-mail oculto estiver definido como 'noreply.example.org'.
password_algorithm=Algoritmo de hash de senhas password_algorithm=Algoritmo Hash de Senha
invalid_password_algorithm=Algoritmo de hash de senha inválido invalid_password_algorithm=Algoritmo de hash de senha inválido
password_algorithm_helper=Escolha o algoritmo de hash para as senhas. Diferentes algoritmos têm requerimentos e forças diversos. O algoritmo argon2 é bastante seguro, mas usa muita memória e pode ser inapropriado para sistemas com menos recursos. password_algorithm_helper=Escolha o algoritmo de hash para as senhas. Diferentes algoritmos têm requerimentos e forças diversos. O algoritmo argon2 é bastante seguro, mas usa muita memória e pode ser inapropriado para sistemas com menos recursos.
enable_update_checker=Verificar por atualizações automaticamente enable_update_checker=Habilitar Verificador de Atualizações
env_config_keys=Configuração do ambiente env_config_keys=Configuração do ambiente
env_config_keys_prompt=As seguintes variáveis de ambiente também serão aplicadas ao seu arquivo de configuração: env_config_keys_prompt=As seguintes variáveis de ambiente também serão aplicadas ao seu arquivo de configuração:
allow_dots_in_usernames = Permitir pontos em nomes de usuário. Esta opção não afeta contas já existentes. allow_dots_in_usernames = Permitir pontos em nomes de usuário. Esta opção não afeta contas já existentes.
enable_update_checker_helper_forgejo = Confere periodicamente um registro TXT de DNS em release.forgejo.org para verificar se há uma nova versão do Forgejo disponível. enable_update_checker_helper_forgejo = Confere periodicamente um registro de DNS TXT em release.forgejo.org para verificar se há uma nova versão do Forgejo disponível.
[home] [home]
uname_holder=Usuário ou e-mail uname_holder=Usuário ou e-mail
@ -326,7 +326,7 @@ switch_dashboard_context=Trocar contexto do painel de controle
my_repos=Repositórios my_repos=Repositórios
show_more_repos=Mostrar mais repositórios… show_more_repos=Mostrar mais repositórios…
collaborative_repos=Repositórios colaborativos collaborative_repos=Repositórios colaborativos
my_orgs=Organizações my_orgs=Minhas organizações
my_mirrors=Meus espelhos my_mirrors=Meus espelhos
view_home=Ver %s view_home=Ver %s
search_repos=Encontre um repositório… search_repos=Encontre um repositório…
@ -464,12 +464,12 @@ activate_email.text=Por favor clique no link a seguir para verificar o seu ender
register_notify=Bem-vindo ao Forgejo register_notify=Bem-vindo ao Forgejo
register_notify.title=%[1]s, bem-vindo(a) a %[2]s register_notify.title=%[1]s, bem-vindo(a) a %[2]s
register_notify.text_1=este é o seu e-mail de confirmação de registro para %s! register_notify.text_1=este é o seu e-mail de confirmação de registro para %s!
register_notify.text_2=Você pode fazer login em sua conta utilizando o usuário: %s register_notify.text_2=Agora você pode entrar com o nome de usuário: %s.
register_notify.text_3=Se outra pessoa criou esta conta para você, é preciso <a href="%s">definir a sua senha</a> primeiro. register_notify.text_3=Se esta conta foi criada para você, <a href="%s">defina sua senha</a> primeiro.
reset_password=Recuperar sua conta reset_password=Recuperar sua conta
reset_password.title=%s, recebemos um pedido para recuperar a sua conta reset_password.title=%s, recebemos um pedido para recuperar a sua conta
reset_password.text=Caso tenha solicitado, clique no link a seguir para recuperar a sua conta dentro de <b>%s</b>: reset_password.text=Por favor clique no link a seguir para recuperar sua conta em <b>%s</b>:
register_success=Cadastro bem-sucedido register_success=Cadastro bem-sucedido
@ -499,13 +499,13 @@ release.downloads=Downloads:
release.download.zip=Código fonte (ZIP) release.download.zip=Código fonte (ZIP)
release.download.targz=Código fonte (TAR.GZ) release.download.targz=Código fonte (TAR.GZ)
repo.transfer.subject_to=%s gostaria de transferir o repositório "%s" para %s repo.transfer.subject_to=%s gostaria de transferir "%s" para %s
repo.transfer.subject_to_you=%s gostaria de transferir o repositório "%s" para você repo.transfer.subject_to_you=%s gostaria de transferir "%s" para você
repo.transfer.to_you=você repo.transfer.to_you=você
repo.transfer.body=Para o aceitar ou rejeitar visite %s, ou simplesmente o ignore. repo.transfer.body=Para o aceitar ou rejeitar visite %s, ou simplesmente o ignore.
repo.collaborator.added.subject=%s adicionou você a %s como colaborador(a) repo.collaborator.added.subject=%s adicionou você a %s
repo.collaborator.added.text=Você foi adicionado(a) como colaborador(a) do repositório: repo.collaborator.added.text=Você foi adicionado como um colaborador do repositório:
team_invite.subject=%[1]s convidou você para participar da organização %[2]s team_invite.subject=%[1]s convidou você para participar da organização %[2]s
team_invite.text_1=%[1]s convidou você para participar da equipe %[2]s na organização %[3]s. team_invite.text_1=%[1]s convidou você para participar da equipe %[2]s na organização %[3]s.
@ -602,10 +602,10 @@ invalid_ssh_key=Não é possível verificar sua chave SSH: %s
invalid_gpg_key=Não é possível verificar sua chave GPG: %s invalid_gpg_key=Não é possível verificar sua chave GPG: %s
invalid_ssh_principal=Nome principal inválido: %s invalid_ssh_principal=Nome principal inválido: %s
must_use_public_key=A chave que você forneceu é uma chave privada. Por favor, não envie sua chave privada em nenhum lugar. Use sua chave pública em vez disso. must_use_public_key=A chave que você forneceu é uma chave privada. Por favor, não envie sua chave privada em nenhum lugar. Use sua chave pública em vez disso.
unable_verify_ssh_key=Não foi possível validar a chave SSH. Certifique-se de que foi digitada corretamente. unable_verify_ssh_key=Não é possível verificar a chave SSH, verifique se há erros.
auth_failed=Autenticação falhou: %v auth_failed=Autenticação falhou: %v
still_own_repo=A sua conta possui um ou mais repositórios. Exclua ou transfira-os antes de excluir a conta. still_own_repo=Sua conta possui um ou mais repositórios, exclua ou transfira-os primeiro.
still_has_org=Sua conta é um membro de uma ou mais organizações, deixe-as primeiro. still_has_org=Sua conta é um membro de uma ou mais organizações, deixe-as primeiro.
still_own_packages=Sua conta possui um ou mais pacotes, exclua-os primeiro. still_own_packages=Sua conta possui um ou mais pacotes, exclua-os primeiro.
org_still_own_repo=Esta organização ainda possui repositórios, exclua ou transfira-os primeiro. org_still_own_repo=Esta organização ainda possui repositórios, exclua ou transfira-os primeiro.
@ -677,9 +677,9 @@ password_username_disabled=Usuários não-locais não podem alterar seus nomes d
full_name=Nome completo full_name=Nome completo
website=Site website=Site
location=Localização location=Localização
update_theme=Alterar tema update_theme=Atualizar o tema
update_profile=Modificar perfil update_profile=Atualizar o perfil
update_language=Mudar idioma update_language=Atualizar Idioma
update_language_not_found=Idioma "%s" não está disponível. update_language_not_found=Idioma "%s" não está disponível.
update_language_success=O idioma foi atualizado. update_language_success=O idioma foi atualizado.
update_profile_success=Seu perfil foi atualizado. update_profile_success=Seu perfil foi atualizado.
@ -700,7 +700,7 @@ comment_type_group_milestone=Marco
comment_type_group_assignee=Atribuído comment_type_group_assignee=Atribuído
comment_type_group_title=Título comment_type_group_title=Título
comment_type_group_branch=Branch comment_type_group_branch=Branch
comment_type_group_time_tracking=Contagem de tempo comment_type_group_time_tracking=Contador de tempo
comment_type_group_deadline=Prazo final comment_type_group_deadline=Prazo final
comment_type_group_dependency=Dependência comment_type_group_dependency=Dependência
comment_type_group_lock=Status de Bloqueio comment_type_group_lock=Status de Bloqueio
@ -711,20 +711,20 @@ comment_type_group_issue_ref=Referência do issue
saved_successfully=Suas configurações foram salvas com sucesso. saved_successfully=Suas configurações foram salvas com sucesso.
privacy=Privacidade privacy=Privacidade
keep_activity_private=Ocultar atividade da página de perfil keep_activity_private=Ocultar atividade da página de perfil
keep_activity_private_popup=A sua atividade estará visível apenas para você e os admnistradores keep_activity_private_popup=Torna a atividade visível somente para você e os administradores
lookup_avatar_by_mail=Procurar o avatar do endereço de e-mail lookup_avatar_by_mail=Procurar o avatar do endereço de e-mail
federated_avatar_lookup=Busca de avatar federativo federated_avatar_lookup=Busca de avatar federativo
enable_custom_avatar=Usar avatar personalizado enable_custom_avatar=Usar avatar personalizado
choose_new_avatar=Escolha um novo avatar choose_new_avatar=Escolha um novo avatar
update_avatar=Atualizar o avatar update_avatar=Atualizar o avatar
delete_current_avatar=Excluir avatar atual delete_current_avatar=Excluir o avatar atual
uploaded_avatar_not_a_image=O arquivo enviado não é uma imagem. uploaded_avatar_not_a_image=O arquivo enviado não é uma imagem.
uploaded_avatar_is_too_big=O tamanho do arquivo enviado (%d KiB) excede o tamanho máximo permitido (%d KiB). uploaded_avatar_is_too_big=O tamanho do arquivo enviado (%d KiB) excede o tamanho máximo permitido (%d KiB).
update_avatar_success=Seu avatar foi atualizado. update_avatar_success=Seu avatar foi atualizado.
update_user_avatar_success=O avatar do usuário foi atualizado. update_user_avatar_success=O avatar do usuário foi atualizado.
update_password=Modificar senha update_password=Atualizar senha
old_password=Senha atual old_password=Senha atual
new_password=Nova senha new_password=Nova senha
retype_new_password=Confirmar nova senha retype_new_password=Confirmar nova senha
@ -735,7 +735,7 @@ password_change_disabled=Contas não-locais não podem alterar sua senha atravé
emails=Endereços de e-mail emails=Endereços de e-mail
manage_emails=Gerenciar endereços de e-mail manage_emails=Gerenciar endereços de e-mail
manage_themes=Selecione o tema padrão manage_themes=Selecione o tema padrão
manage_openid=Gerenciar endereços OpenID manage_openid=Gerencia endereços OpenID
email_desc=Seu endereço de e-mail principal será usado para notificações, recuperação de senha e, desde que não esteja oculto, para operações do Git baseadas na Web. email_desc=Seu endereço de e-mail principal será usado para notificações, recuperação de senha e, desde que não esteja oculto, para operações do Git baseadas na Web.
theme_desc=Este será o seu tema padrão em todo o site. theme_desc=Este será o seu tema padrão em todo o site.
primary=Principal primary=Principal
@ -775,7 +775,7 @@ principal_desc=Estes nomes principais do certificado SSH estão associados à su
gpg_desc=Essas chaves GPG públicas estão associadas à sua conta. Mantenha suas chaves privadas seguras, pois elas permitem que os commits sejam verificados. gpg_desc=Essas chaves GPG públicas estão associadas à sua conta. Mantenha suas chaves privadas seguras, pois elas permitem que os commits sejam verificados.
ssh_helper=<strong>Precisa de ajuda?</strong> Dê uma olhada no guia do GitHub para <a href="%s">criar suas próprias chaves SSH</a> ou resolver <a href="%s">problemas comuns</a> que você pode ter usando SSH. ssh_helper=<strong>Precisa de ajuda?</strong> Dê uma olhada no guia do GitHub para <a href="%s">criar suas próprias chaves SSH</a> ou resolver <a href="%s">problemas comuns</a> que você pode ter usando SSH.
gpg_helper=<strong>Precisa de ajuda?</strong> Dê uma olhada no guia do GitHub <a href="%s">sobre GPG</a>. gpg_helper=<strong>Precisa de ajuda?</strong> Dê uma olhada no guia do GitHub <a href="%s">sobre GPG</a>.
add_new_key=Adicionar chave SSH add_new_key=Adicionar Chave SSH
add_new_gpg_key=Adicionar chave GPG add_new_gpg_key=Adicionar chave GPG
key_content_ssh_placeholder=Começa com "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com" ou "sk-ssh-ed25519@openssh.com" key_content_ssh_placeholder=Começa com "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com" ou "sk-ssh-ed25519@openssh.com"
key_content_gpg_placeholder=Começa com "-----BEGIN PGP PUBLIC KEY BLOCK-----" key_content_gpg_placeholder=Começa com "-----BEGIN PGP PUBLIC KEY BLOCK-----"
@ -817,8 +817,8 @@ add_key_success=A chave SSH "%s" foi adicionada.
add_gpg_key_success=A chave GPG "%s" foi adicionada. add_gpg_key_success=A chave GPG "%s" foi adicionada.
add_principal_success=O principal "%s" foi adicionado ao certificado SSH. add_principal_success=O principal "%s" foi adicionado ao certificado SSH.
delete_key=Remover delete_key=Remover
ssh_key_deletion=Remover chave SSH ssh_key_deletion=Remover a chave SSH
gpg_key_deletion=Remover chave GPG gpg_key_deletion=Remover a chave GPG
ssh_principal_deletion=Remover Nome Principal do Certificado SSH ssh_principal_deletion=Remover Nome Principal do Certificado SSH
ssh_key_deletion_desc=A exclusão de uma chave SSH revoga seu acesso à sua conta. Continuar? ssh_key_deletion_desc=A exclusão de uma chave SSH revoga seu acesso à sua conta. Continuar?
gpg_key_deletion_desc=A exclusão de uma chave GPG cancela a verificação de confirmações assinadas por ela. Continuar? gpg_key_deletion_desc=A exclusão de uma chave GPG cancela a verificação de confirmações assinadas por ela. Continuar?
@ -2082,7 +2082,7 @@ settings.convert_fork_desc=Você pode converter este fork em um repositório nor
settings.convert_fork_notices_1=Esta operação irá converter o fork em um repositório normal e não pode ser desfeita. settings.convert_fork_notices_1=Esta operação irá converter o fork em um repositório normal e não pode ser desfeita.
settings.convert_fork_confirm=Converter repositório settings.convert_fork_confirm=Converter repositório
settings.convert_fork_succeed=O fork foi convertido em um repositório normal. settings.convert_fork_succeed=O fork foi convertido em um repositório normal.
settings.transfer.title=Transferir propriedade settings.transfer=Transferir propriedade
settings.transfer.rejected=A transferência do repositório foi rejeitada. settings.transfer.rejected=A transferência do repositório foi rejeitada.
settings.transfer.success=A transferência do repositório foi bem sucedida. settings.transfer.success=A transferência do repositório foi bem sucedida.
settings.transfer_abort=Cancelar transferência settings.transfer_abort=Cancelar transferência

View file

@ -2168,7 +2168,7 @@ settings.convert_fork_desc=Pode converter esta derivação num repositório norm
settings.convert_fork_notices_1=Esta operação irá converter a derivação num repositório normal e não poderá ser revertida. settings.convert_fork_notices_1=Esta operação irá converter a derivação num repositório normal e não poderá ser revertida.
settings.convert_fork_confirm=Converter repositório settings.convert_fork_confirm=Converter repositório
settings.convert_fork_succeed=A derivação foi convertida num repositório normal. settings.convert_fork_succeed=A derivação foi convertida num repositório normal.
settings.transfer.title=Transferir a propriedade settings.transfer=Transferir a propriedade
settings.transfer.rejected=A transferência do repositório foi rejeitada. settings.transfer.rejected=A transferência do repositório foi rejeitada.
settings.transfer.success=A transferência do repositório foi bem sucedida. settings.transfer.success=A transferência do repositório foi bem sucedida.
settings.transfer_abort=Cancelar a transferência settings.transfer_abort=Cancelar a transferência
@ -2869,7 +2869,6 @@ teams.invite.title=Foi-lhe feito um convite para se juntar à equipa <strong>%s<
teams.invite.by=Convidado(a) por %s teams.invite.by=Convidado(a) por %s
teams.invite.description=Clique no botão abaixo para se juntar à equipa. teams.invite.description=Clique no botão abaixo para se juntar à equipa.
follow_blocked_user = Não pode seguir esta organização porque esta organização bloqueou-o/a. follow_blocked_user = Não pode seguir esta organização porque esta organização bloqueou-o/a.
open_dashboard = Abrir painel de controlo
[admin] [admin]
dashboard=Painel de controlo dashboard=Painel de controlo
@ -3413,7 +3412,6 @@ config_settings = Configurações
auths.tip.gitlab_new = Registe uma nova aplicação em https://gitlab.com/-/profile/applications auths.tip.gitlab_new = Registe uma nova aplicação em https://gitlab.com/-/profile/applications
config.open_with_editor_app_help = Os editores da opção "Abrir com" do menu da clonagem. Se for deixado em branco, será usado o valor predefinido. Expanda para ver o que está predefinido. config.open_with_editor_app_help = Os editores da opção "Abrir com" do menu da clonagem. Se for deixado em branco, será usado o valor predefinido. Expanda para ver o que está predefinido.
config.allow_dots_in_usernames = Permitir que os utilizadores usem pontos no seu nome de utilizador. Não altera as contas existentes. config.allow_dots_in_usernames = Permitir que os utilizadores usem pontos no seu nome de utilizador. Não altera as contas existentes.
auths.default_domain_name = Nome de domínio predefinido usado para o endereço de email
[action] [action]
create_repo=criou o repositório <a href="%s">%s</a> create_repo=criou o repositório <a href="%s">%s</a>
@ -3656,7 +3654,6 @@ owner.settings.chef.title=Registo do Chef
owner.settings.chef.keypair=Gerar par de chaves owner.settings.chef.keypair=Gerar par de chaves
owner.settings.chef.keypair.description=É necessário um par de chaves para autenticar no registro Chef. Se você gerou um par de chaves antes, gerar um novo par de chaves irá descartar o par de chaves antigo. owner.settings.chef.keypair.description=É necessário um par de chaves para autenticar no registro Chef. Se você gerou um par de chaves antes, gerar um novo par de chaves irá descartar o par de chaves antigo.
owner.settings.cargo.rebuild.no_index = Não foi possível reconstruir, não há um índice inicializado. owner.settings.cargo.rebuild.no_index = Não foi possível reconstruir, não há um índice inicializado.
npm.dependencies.bundle = Dependências agrupadas
[secrets] [secrets]
secrets=Segredos secrets=Segredos

View file

@ -145,7 +145,7 @@ confirm_delete_artifact = Вы точно хотите удалить артеф
toggle_menu = Показать/скрыть меню toggle_menu = Показать/скрыть меню
filter.not_archived = Не архивированные filter.not_archived = Не архивированные
filter = Фильтры filter = Фильтры
filter.clear = Снять фильтры filter.clear = Очистить фильтры
filter.is_fork = Ответвления filter.is_fork = Ответвления
filter.not_fork = Не ответвления filter.not_fork = Не ответвления
filter.is_mirror = Зеркала filter.is_mirror = Зеркала
@ -277,7 +277,7 @@ server_service_title=Настройки сервера и внешних слу
offline_mode=Локальный режим offline_mode=Локальный режим
offline_mode_popup=Отключить сторонние сети доставки контента и передавать все ресурсы из их локальных копий. offline_mode_popup=Отключить сторонние сети доставки контента и передавать все ресурсы из их локальных копий.
disable_gravatar=Отключить Gravatar disable_gravatar=Отключить Gravatar
disable_gravatar_popup=Отключить Gravatar и сторонние источники аватаров. Если у пользователя нет локально установленного аватара, будет использоваться аватар по умолчанию. disable_gravatar_popup=Отключить Gravatar и сторонние источники аватаров. Если пользователь не загрузит аватар локально, то по умолчанию будет использоваться стандартный аватар.
federated_avatar_lookup=Федерированные аватары federated_avatar_lookup=Федерированные аватары
federated_avatar_lookup_popup=Включите поиск федеративного аватара для использования службы с открытым исходным кодом на основе libravatar. federated_avatar_lookup_popup=Включите поиск федеративного аватара для использования службы с открытым исходным кодом на основе libravatar.
disable_registration=Отключить самостоятельную регистрацию disable_registration=Отключить самостоятельную регистрацию
@ -736,7 +736,7 @@ comment_type_group_issue_ref=Ссылка на задачу
saved_successfully=Ваши настройки успешно сохранены. saved_successfully=Ваши настройки успешно сохранены.
privacy=Приватность privacy=Приватность
keep_activity_private=Скрыть активность со страницы профиля keep_activity_private=Скрыть активность со страницы профиля
keep_activity_private_popup=Ваша активность будет видна только вам и администраторам сервера keep_activity_private_popup=Делает активность видимой только для вас и администраторов
lookup_avatar_by_mail=Найти аватар по адресу эл. почты lookup_avatar_by_mail=Найти аватар по адресу эл. почты
federated_avatar_lookup=Найти внешний аватар federated_avatar_lookup=Найти внешний аватар
@ -928,7 +928,7 @@ twofa_recovery_tip=При утере устройства вы сможете в
twofa_is_enrolled=Ваша учётная запись в настоящее время <strong>использует</strong> двухфакторную аутентификацию. twofa_is_enrolled=Ваша учётная запись в настоящее время <strong>использует</strong> двухфакторную аутентификацию.
twofa_not_enrolled=Ваша учётная запись в настоящее время не использует двухфакторную аутентификацию. twofa_not_enrolled=Ваша учётная запись в настоящее время не использует двухфакторную аутентификацию.
twofa_disable=Отключить 2ФА twofa_disable=Отключить 2ФА
twofa_scratch_token_regenerate=Пересоздать одноразовый ключ восстановления twofa_scratch_token_regenerate=Пересоздать scratch-токен
twofa_enroll=Включить 2ФА twofa_enroll=Включить 2ФА
twofa_disable_note=При необходимости можно отключить двухфакторную аутентификацию. twofa_disable_note=При необходимости можно отключить двухфакторную аутентификацию.
twofa_disable_desc=Отключение двухфакторной аутентификации снизит безопасность вашей учётной записи. Продолжить? twofa_disable_desc=Отключение двухфакторной аутентификации снизит безопасность вашей учётной записи. Продолжить?
@ -1000,7 +1000,6 @@ additional_repo_units_hint_description = Показывать кнопку "До
pronouns_custom = Другие pronouns_custom = Другие
pronouns = Местоимения pronouns = Местоимения
pronouns_unspecified = Не указаны pronouns_unspecified = Не указаны
language.title = Язык по умолчанию
[repo] [repo]
owner=Владелец owner=Владелец
@ -1229,7 +1228,7 @@ file.title=%s в %s
file_raw=Исходный file_raw=Исходный
file_history=История file_history=История
file_view_source=Просмотр исходного текста file_view_source=Просмотр исходного текста
file_view_rendered=Просмотр печатной версии file_view_rendered=Просмотр рендера
file_view_raw=Открыть исходный file_view_raw=Открыть исходный
file_permalink=Постоянная ссылка file_permalink=Постоянная ссылка
file_too_large=Этот файл слишком большой, поэтому он не может быть отображён. file_too_large=Этот файл слишком большой, поэтому он не может быть отображён.
@ -1382,7 +1381,7 @@ projects.edit_subheader=Создавайте и организуйте зада
projects.modify=Обновить проект projects.modify=Обновить проект
projects.edit_success=Проект «%s» обновлён. projects.edit_success=Проект «%s» обновлён.
projects.type.none=Нет projects.type.none=Нет
projects.type.basic_kanban=Обычный канбан projects.type.basic_kanban=Обычный Канбан
projects.type.bug_triage=Планирование работы с багами projects.type.bug_triage=Планирование работы с багами
projects.template.desc=Шаблон projects.template.desc=Шаблон
projects.template.desc_helper=Для начала выберите шаблон проекта projects.template.desc_helper=Для начала выберите шаблон проекта
@ -1694,7 +1693,7 @@ issues.dependency.blocked_by_short=Зависит от
issues.dependency.remove_header=Удалить зависимость issues.dependency.remove_header=Удалить зависимость
issues.dependency.issue_remove_text=Это приведет к удалению зависимости от этой задачи. Продолжить? issues.dependency.issue_remove_text=Это приведет к удалению зависимости от этой задачи. Продолжить?
issues.dependency.pr_remove_text=Это приведёт к удалению зависимости от этого запроса на слияние. Продолжить? issues.dependency.pr_remove_text=Это приведёт к удалению зависимости от этого запроса на слияние. Продолжить?
issues.dependency.setting=Включить зависимости для задач и запросов на слияния issues.dependency.setting=Включение зависимостей для задач и запросов на слияние
issues.dependency.add_error_same_issue=Вы не можете заставить задачу зависеть от самой себя. issues.dependency.add_error_same_issue=Вы не можете заставить задачу зависеть от самой себя.
issues.dependency.add_error_dep_issue_not_exist=Зависимая задача не существует. issues.dependency.add_error_dep_issue_not_exist=Зависимая задача не существует.
issues.dependency.add_error_dep_not_exist=Зависимости не существует. issues.dependency.add_error_dep_not_exist=Зависимости не существует.
@ -1742,7 +1741,7 @@ compare.compare_base=Основа
compare.compare_head=сравнить compare.compare_head=сравнить
pulls.desc=Включить запросы на слияние и проверки кода. pulls.desc=Включить запросы на слияние и проверки кода.
pulls.new=Создать запрос pulls.new=Новый запрос
pulls.view=Просмотр запроса на слияние pulls.view=Просмотр запроса на слияние
pulls.compare_changes=Новый запрос на слияние pulls.compare_changes=Новый запрос на слияние
pulls.allow_edits_from_maintainers=Разрешить редактирование сопровождающими pulls.allow_edits_from_maintainers=Разрешить редактирование сопровождающими
@ -1821,7 +1820,7 @@ pulls.no_merge_access=У вас нет права для слияния данн
pulls.merge_pull_request=Создать коммит слияния pulls.merge_pull_request=Создать коммит слияния
pulls.rebase_merge_pull_request=Выполнить rebase и fast-forward pulls.rebase_merge_pull_request=Выполнить rebase и fast-forward
pulls.rebase_merge_commit_pull_request=Выполнить rebase и создать коммит слияния pulls.rebase_merge_commit_pull_request=Выполнить rebase и создать коммит слияния
pulls.squash_merge_pull_request=Создать объединяющий коммит pulls.squash_merge_pull_request=Создать объединённый коммит
pulls.merge_manually=Слито вручную pulls.merge_manually=Слито вручную
pulls.merge_commit_id=ИД коммита слияния pulls.merge_commit_id=ИД коммита слияния
pulls.require_signed_wont_sign=Данная ветка ожидает подписанные коммиты, однако слияние не будет подписано pulls.require_signed_wont_sign=Данная ветка ожидает подписанные коммиты, однако слияние не будет подписано
@ -1835,22 +1834,22 @@ pulls.unrelated_histories=Слияние не удалось: у источни
pulls.merge_out_of_date=Слияние не удалось: при создании слияния база данных была обновлена. Подсказка: попробуйте ещё раз. pulls.merge_out_of_date=Слияние не удалось: при создании слияния база данных была обновлена. Подсказка: попробуйте ещё раз.
pulls.head_out_of_date=Слияние не удалось: во время слияния головной коммит был обновлён. Попробуйте ещё раз. pulls.head_out_of_date=Слияние не удалось: во время слияния головной коммит был обновлён. Попробуйте ещё раз.
pulls.push_rejected=Отправка была отклонена. Проверьте Git-хуки этого репозитория. pulls.push_rejected=Отправка была отклонена. Проверьте Git-хуки этого репозитория.
pulls.push_rejected_summary=Полная причина отклонения pulls.push_rejected_summary=Полная ошибка отклонения
pulls.push_rejected_no_message=Отправка была отклонена и удалённый сервер не указал причину. Проверьте Git-хуки этого репозитория pulls.push_rejected_no_message=Отправка была отклонена и удалённый сервер не указал причину. Проверьте Git-хуки этого репозитория
pulls.open_unmerged_pull_exists=`Нельзя открыть снова, поскольку существует другой открытый запрос на слияние (#%d) с такими же свойствами.` pulls.open_unmerged_pull_exists=`Вы не можете снова открыть, поскольку уже существует запрос на слияние (#%d) из того же репозитория с той же информацией о слиянии и ожидающий слияния.`
pulls.status_checking=Выполняются проверки pulls.status_checking=Выполняются некоторые проверки
pulls.status_checks_success=Все проверки успешно пройдены pulls.status_checks_success=Все проверки выполнены успешно
pulls.status_checks_warning=Некоторые проверки имеют предупреждения pulls.status_checks_warning=Некоторые проверки сообщили о предупреждениях
pulls.status_checks_failure=Некоторые проверки провалились pulls.status_checks_failure=Некоторые проверки не удались
pulls.status_checks_error=Некоторые проверки сообщили об ошибках pulls.status_checks_error=Некоторые проверки сообщили об ошибках
pulls.status_checks_requested=Требуется pulls.status_checks_requested=Требуется
pulls.status_checks_details=Информация pulls.status_checks_details=Информация
pulls.status_checks_hide_all=Скрыть все проверки pulls.status_checks_hide_all=Скрыть все проверки
pulls.status_checks_show_all=Показать все проверки pulls.status_checks_show_all=Показать все проверки
pulls.update_branch=Обновить ветку слиянием pulls.update_branch=Обновить ветку посредством слияния
pulls.update_branch_rebase=Обновить ветку перебазированием pulls.update_branch_rebase=Обновить ветку через rebase
pulls.update_branch_success=Ветка успешно обновлена pulls.update_branch_success=Обновление ветки выполнено успешно
pulls.update_not_allowed=Недостаточно прав для обновления ветки pulls.update_not_allowed=У вас недостаточно прав для обновления ветки
pulls.outdated_with_base_branch=Эта ветка отстает от базовой ветки pulls.outdated_with_base_branch=Эта ветка отстает от базовой ветки
pulls.close=Закрыть запрос на слияние pulls.close=Закрыть запрос на слияние
pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -1896,15 +1895,15 @@ milestones.create_success=Этап «%s» создан.
milestones.edit=Редактировать этап milestones.edit=Редактировать этап
milestones.edit_subheader=Используйте лучшее описание контрольной точки, во избежание непонимания со стороны других людей. milestones.edit_subheader=Используйте лучшее описание контрольной точки, во избежание непонимания со стороны других людей.
milestones.cancel=Отмена milestones.cancel=Отмена
milestones.modify=Сохранить этап milestones.modify=Обновить этап
milestones.edit_success=Этап «%s» обновлён. milestones.edit_success=Этап «%s» обновлён.
milestones.deletion=Удалить этап milestones.deletion=Удалить этап
milestones.deletion_desc=Удаление этапа приведет к его удалению из всех связанных задач. Продолжить? milestones.deletion_desc=Удаление этапа приведет к его удалению из всех связанных задач. Продолжить?
milestones.deletion_success=Этап успешно удалён. milestones.deletion_success=Этап успешно удалён.
milestones.filter_sort.earliest_due_data=Ближайший срок выполнения milestones.filter_sort.earliest_due_data=Ближайший срок выполнения
milestones.filter_sort.latest_due_date=Поздний срок выполнения milestones.filter_sort.latest_due_date=Поздний срок выполнения
milestones.filter_sort.least_complete=Менее выполненные milestones.filter_sort.least_complete=Менее полное
milestones.filter_sort.most_complete=Более выполненные milestones.filter_sort.most_complete=Более полное
milestones.filter_sort.most_issues=Больше задач milestones.filter_sort.most_issues=Больше задач
milestones.filter_sort.least_issues=Меньше задач milestones.filter_sort.least_issues=Меньше задач
@ -2125,7 +2124,7 @@ settings.convert_fork_desc=Вы можете преобразовать это
settings.convert_fork_notices_1=Эта операция преобразует этот ответвление в обычный репозиторий, и не может быть отменена. settings.convert_fork_notices_1=Эта операция преобразует этот ответвление в обычный репозиторий, и не может быть отменена.
settings.convert_fork_confirm=Преобразовать репозиторий settings.convert_fork_confirm=Преобразовать репозиторий
settings.convert_fork_succeed=Ответвление преобразовано в обычный репозиторий. settings.convert_fork_succeed=Ответвление преобразовано в обычный репозиторий.
settings.transfer.title=Передать репозиторий settings.transfer=Передать права собственности
settings.transfer.rejected=Передача репозитория отменена. settings.transfer.rejected=Передача репозитория отменена.
settings.transfer.success=Передача репозитория выполнена успешно. settings.transfer.success=Передача репозитория выполнена успешно.
settings.transfer_abort=Отменить передачу settings.transfer_abort=Отменить передачу
@ -2211,8 +2210,8 @@ settings.githook_content=Содержимое хука
settings.update_githook=Обновить хук settings.update_githook=Обновить хук
settings.add_webhook_desc=Forgejo будет оправлять <code>POST</code> запросы на указанный URL адрес, с информацией о происходящих событиях. Подробности на странице <a target="_blank" rel="noopener noreferrer" href="%s">инструкции по использованию веб-хуков</a>. settings.add_webhook_desc=Forgejo будет оправлять <code>POST</code> запросы на указанный URL адрес, с информацией о происходящих событиях. Подробности на странице <a target="_blank" rel="noopener noreferrer" href="%s">инструкции по использованию веб-хуков</a>.
settings.payload_url=URL обработчика settings.payload_url=URL обработчика
settings.http_method=HTTP-метод settings.http_method=Метод HTTP
settings.content_type=Тип содержимого POST settings.content_type=Тип содержимого
settings.secret=Секретный ключ settings.secret=Секретный ключ
settings.slack_username=Имя пользователя settings.slack_username=Имя пользователя
settings.slack_icon_url=URL иконки settings.slack_icon_url=URL иконки
@ -2222,7 +2221,7 @@ settings.discord_icon_url=URL иконки
settings.event_desc=Срабатывать на: settings.event_desc=Срабатывать на:
settings.event_push_only=События отправки settings.event_push_only=События отправки
settings.event_send_everything=Все события settings.event_send_everything=Все события
settings.event_choose=Другие события… settings.event_choose=Пользовательские события…
settings.event_header_repository=События репозитория settings.event_header_repository=События репозитория
settings.event_create=Создать settings.event_create=Создать
settings.event_create_desc=Ветка или тэг созданы. settings.event_create_desc=Ветка или тэг созданы.
@ -2238,14 +2237,14 @@ settings.event_push=Отправка
settings.event_push_desc=Отправка в репозиторий. settings.event_push_desc=Отправка в репозиторий.
settings.event_repository=Репозиторий settings.event_repository=Репозиторий
settings.event_repository_desc=Репозиторий создан или удален. settings.event_repository_desc=Репозиторий создан или удален.
settings.event_header_issue=События задач settings.event_header_issue=События задачи
settings.event_issues=Задачи settings.event_issues=Задачи
settings.event_issues_desc=Задача открыта, закрыта, переоткрыта или отредактирована. settings.event_issues_desc=Задача открыта, закрыта, переоткрыта или отредактирована.
settings.event_issue_assign=Назначение задач settings.event_issue_assign=Назначена задача
settings.event_issue_assign_desc=Задача назначена или снята с назначения. settings.event_issue_assign_desc=Задача назначена или снята с назначения.
settings.event_issue_label=Изменение меток задач settings.event_issue_label=Ярлык задачи
settings.event_issue_label_desc=Метки задач обновлены или очищены. settings.event_issue_label_desc=Метки задач обновлены или очищены.
settings.event_issue_milestone=Добавление задач в этапы settings.event_issue_milestone=Этап задачи завершен
settings.event_issue_milestone_desc=Этап или этап выполнения задания. settings.event_issue_milestone_desc=Этап или этап выполнения задания.
settings.event_issue_comment=Комментарии в задаче settings.event_issue_comment=Комментарии в задаче
settings.event_issue_comment_desc=Комментарий создан, изменён или удалён. settings.event_issue_comment_desc=Комментарий создан, изменён или удалён.
@ -2324,7 +2323,7 @@ settings.protected_branch.delete_rule=Удалить правило
settings.protected_branch_can_push=Разрешить отправку? settings.protected_branch_can_push=Разрешить отправку?
settings.protected_branch_can_push_yes=Вы можете выполнять отправку settings.protected_branch_can_push_yes=Вы можете выполнять отправку
settings.protected_branch_can_push_no=Вы не можете выполнять отправку settings.protected_branch_can_push_no=Вы не можете выполнять отправку
settings.branch_protection=Правила доступа ветки «<b>%s</b>» settings.branch_protection=Правила защиты ветки «<b>%s</b>»
settings.protect_this_branch=Защитить эту ветку settings.protect_this_branch=Защитить эту ветку
settings.protect_this_branch_desc=Предотвращает удаление, ограничивает Push и слияние Git в ветку. settings.protect_this_branch_desc=Предотвращает удаление, ограничивает Push и слияние Git в ветку.
settings.protect_disable_push=Запретить отправку изменений settings.protect_disable_push=Запретить отправку изменений
@ -2371,9 +2370,9 @@ settings.protect_unprotected_file_patterns=Шаблоны незащищённы
settings.protect_unprotected_file_patterns_desc=Незащищенные файлы, которые допускается изменять напрямую, если пользователь имеет право на запись, несмотря на ограничение отправки изменений. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a> . Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>. settings.protect_unprotected_file_patterns_desc=Незащищенные файлы, которые допускается изменять напрямую, если пользователь имеет право на запись, несмотря на ограничение отправки изменений. Можно указать несколько шаблонов, разделяя их точкой с запятой («;»). О синтаксисе шаблонов читайте в документации <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a> . Примеры: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Включить защиту settings.add_protected_branch=Включить защиту
settings.delete_protected_branch=Отключить защиту settings.delete_protected_branch=Отключить защиту
settings.update_protect_branch_success=Правила доступа веток «%s» изменена. settings.update_protect_branch_success=Защита веток по правилу «%s» изменена.
settings.remove_protected_branch_success=Правила доступа веток «%s» удалена. settings.remove_protected_branch_success=Защита веток по правилу «%s» удалена.
settings.remove_protected_branch_failed=Не удалось удалить правило доступа веток «%s». settings.remove_protected_branch_failed=Не удалось удалить правило защиты веток «%s».
settings.protected_branch_deletion=Отключение защиты ветки settings.protected_branch_deletion=Отключение защиты ветки
settings.protected_branch_deletion_desc=Любой пользователь с разрешениями на запись сможет выполнять push в эту ветку. Вы уверены? settings.protected_branch_deletion_desc=Любой пользователь с разрешениями на запись сможет выполнять push в эту ветку. Вы уверены?
settings.block_rejected_reviews=Блокировка слияния по отклоненным отзывам settings.block_rejected_reviews=Блокировка слияния по отклоненным отзывам
@ -2453,7 +2452,7 @@ diff.browse_source=Просмотр исходного кода
diff.parent=родитель diff.parent=родитель
diff.commit=коммит diff.commit=коммит
diff.git-notes=Заметки diff.git-notes=Заметки
diff.data_not_available=Различия отсутствуют или недоступны diff.data_not_available=Различия недоступны
diff.options_button=Опции Diff diff.options_button=Опции Diff
diff.show_diff_stats=Показать статистику diff.show_diff_stats=Показать статистику
diff.download_patch=Скачать .patch diff.download_patch=Скачать .patch
@ -2530,7 +2529,7 @@ release.title=Название выпуска
release.title_empty=Заголовок не может быть пустым. release.title_empty=Заголовок не может быть пустым.
release.message=Расскажите про этот выпуск release.message=Расскажите про этот выпуск
release.prerelease_desc=Это предварительный выпуск release.prerelease_desc=Это предварительный выпуск
release.prerelease_helper=Пометить выпуск как неготовый для массового использования. release.prerelease_helper=Пометить выпуск как не готовый для массового использования.
release.cancel=Отменить release.cancel=Отменить
release.publish=Опубликовать выпуск release.publish=Опубликовать выпуск
release.save_draft=Сохранить черновик release.save_draft=Сохранить черновик
@ -2548,7 +2547,7 @@ release.tag_already_exist=Этот тег уже используется.
release.downloads=Загрузки release.downloads=Загрузки
release.download_count=Загрузки: %s release.download_count=Загрузки: %s
release.add_tag_msg=Использовать заголовок и содержимое выпуска в качестве сообщения тега. release.add_tag_msg=Использовать заголовок и содержимое выпуска в качестве сообщения тега.
release.add_tag=Создать тег release.add_tag=Создать только тег
release.releases_for=Выпуски %s release.releases_for=Выпуски %s
release.tags_for=Теги %s release.tags_for=Теги %s
@ -2627,7 +2626,7 @@ issues.blocked_by_user = Невозможно создать задачу в э
settings.new_owner_blocked_doer = Вы заблокированы новым владельцем. settings.new_owner_blocked_doer = Вы заблокированы новым владельцем.
settings.add_collaborator_blocked_them = Невозможно добавить соучастника, т.к. им заблокирован владелец репозитория. settings.add_collaborator_blocked_them = Невозможно добавить соучастника, т.к. им заблокирован владелец репозитория.
pulls.blocked_by_changed_protected_files_1 = Этот запрос на слияние заблокирован, т.к. им изменяется защищённый файл: pulls.blocked_by_changed_protected_files_1 = Этот запрос на слияние заблокирован, т.к. им изменяется защищённый файл:
object_format_helper = Формат объектов в репозитории. Невозможно изменить в дальнейшем. SHA1 имеет наибольшую совместимость. object_format_helper = Формат объектов в репозитории. Невозможно изменить в дальнейшем. SHA1 даёт наибольшую совместимость.
pulls.blocked_by_outdated_branch = Этот запрос на слияние заблокирован, т.к. он устарел. pulls.blocked_by_outdated_branch = Этот запрос на слияние заблокирован, т.к. он устарел.
pulls.blocked_by_changed_protected_files_n = Этот запрос на слияние заблокирован, т.к. им изменяются защищённые файлы: pulls.blocked_by_changed_protected_files_n = Этот запрос на слияние заблокирован, т.к. им изменяются защищённые файлы:
blame.ignore_revs.failed = Не удалось проигнорировать правки из <a href="%s">.git-blame-ignore-revs</a>. blame.ignore_revs.failed = Не удалось проигнорировать правки из <a href="%s">.git-blame-ignore-revs</a>.
@ -2697,7 +2696,7 @@ pulls.agit_explanation = Создано через рабочий поток AGi
settings.webhook.replay.description_disabled = Активируйте веб-хук для повторения отправки. settings.webhook.replay.description_disabled = Активируйте веб-хук для повторения отправки.
activity.navbar.pulse = Недавняя активность activity.navbar.pulse = Недавняя активность
settings.tags.protection.pattern.description = Можно указать название тега. Для выбора нескольких тегов можно указать поисковый шаблон или регулярное выражение. <a target="_blank" rel="noopener" href="https://forgejo.org/docs/latest/user/protection/#protected-tags">Подробнее о защищённых тегах</a>. settings.tags.protection.pattern.description = Можно указать название тега. Для выбора нескольких тегов можно указать поисковый шаблон или регулярное выражение. <a target="_blank" rel="noopener" href="https://forgejo.org/docs/latest/user/protection/#protected-tags">Подробнее о защищённых тегах</a>.
file_follow = Пройти по символьной ссылке file_follow = Пройти по мягкой ссылке
settings.pull_mirror_sync_in_progress = Идёт получение изменений из удалённого репозитория %s. settings.pull_mirror_sync_in_progress = Идёт получение изменений из удалённого репозитория %s.
settings.ignore_stale_approvals_desc = Не учитывать одобрения, оставленные для старых коммитов (устаревшие отзывы), при подсчёте общего числа одобрений у запроса на слияние. Не относится к отклонённым отзывам. settings.ignore_stale_approvals_desc = Не учитывать одобрения, оставленные для старых коммитов (устаревшие отзывы), при подсчёте общего числа одобрений у запроса на слияние. Не относится к отклонённым отзывам.
settings.mirror_settings.docs.doc_link_pull_section = раздел документации «Pulling from a remote repository». settings.mirror_settings.docs.doc_link_pull_section = раздел документации «Pulling from a remote repository».
@ -2739,14 +2738,12 @@ settings.matrix.access_token_helper = Рекомендуется создать
settings.mirror_settings.pushed_repository = Удалённый репозиторий settings.mirror_settings.pushed_repository = Удалённый репозиторий
release.hide_archive_links = Скрыть автоматически генерируемые архивы release.hide_archive_links = Скрыть автоматически генерируемые архивы
release.hide_archive_links_helper = Скрыть автоматически добавляемые архивы исходного кода для этого релиза. Например, если вы загружаете свои архивы. release.hide_archive_links_helper = Скрыть автоматически добавляемые архивы исходного кода для этого релиза. Например, если вы загружаете свои архивы.
settings.transfer.button = Передать репозиторий
settings.transfer.modal.title = Передача репозитория
[graphs] [graphs]
[org] [org]
org_name_holder=Название организации org_name_holder=Название организации
org_full_name_holder=Полное название org_full_name_holder=Полное название организации
org_name_helper=Лучшие названия организаций коротки и запоминаемы. org_name_helper=Лучшие названия организаций коротки и запоминаемы.
create_org=Создать организацию create_org=Создать организацию
repo_updated=Обновлено repo_updated=Обновлено
@ -2803,9 +2800,9 @@ settings.labels_desc=Добавьте метки, которые могут бы
members.membership_visibility=Видимость участника: members.membership_visibility=Видимость участника:
members.public=Видимый members.public=Видимый
members.public_helper=Скрыть members.public_helper=скрыть
members.private=Скрыт members.private=Скрыт
members.private_helper=Сделать видимым members.private_helper=сделать видимым
members.member_role=Роль участника: members.member_role=Роль участника:
members.owner=Владелец members.owner=Владелец
members.member=Участник members.member=Участник
@ -2814,7 +2811,7 @@ members.remove.detail=Исключить %[1]s из %[2]s?
members.leave=Покинуть members.leave=Покинуть
members.leave.detail=Покинуть %s? members.leave.detail=Покинуть %s?
members.invite_desc=Добавить нового участника в %s: members.invite_desc=Добавить нового участника в %s:
members.invite_now=Пригласить members.invite_now=Пригласите сейчас
teams.join=Объединить teams.join=Объединить
teams.leave=Выйти teams.leave=Выйти
@ -2838,9 +2835,9 @@ teams.update_settings=Обновить настройки
teams.delete_team=Удалить команду teams.delete_team=Удалить команду
teams.add_team_member=Добавить участника teams.add_team_member=Добавить участника
teams.invite_team_member=Пригласить в %s teams.invite_team_member=Пригласить в %s
teams.invite_team_member.list=Ожидающие приглашения teams.invite_team_member.list=Приглашения в ожидании
teams.delete_team_title=Удаление команды teams.delete_team_title=Удаление команды
teams.delete_team_desc=Удаление команды лишит её членов доступа к репозиториям. Продолжить? teams.delete_team_desc=Удаление команды отменяет доступ к репозиторию для её членов. Продолжить?
teams.delete_team_success=Команда удалена. teams.delete_team_success=Команда удалена.
teams.read_permission_desc=Эта команда предоставляет доступ на <strong>Чтение</strong>: члены могут просматривать и клонировать репозитории команды. teams.read_permission_desc=Эта команда предоставляет доступ на <strong>Чтение</strong>: члены могут просматривать и клонировать репозитории команды.
teams.write_permission_desc=Эта команда предоставляет доступ на <strong>Запись</strong>: члены могут получать и выполнять push команды в репозитории. teams.write_permission_desc=Эта команда предоставляет доступ на <strong>Запись</strong>: члены могут получать и выполнять push команды в репозитории.
@ -2868,7 +2865,6 @@ teams.invite.by=Приглашен(а) %s
teams.invite.description=Нажмите на кнопку ниже, чтобы присоединиться к команде. teams.invite.description=Нажмите на кнопку ниже, чтобы присоединиться к команде.
follow_blocked_user = Вы не можете подписаться на эту организацию, т.к. вы в ней заблокированы. follow_blocked_user = Вы не можете подписаться на эту организацию, т.к. вы в ней заблокированы.
teams.general_access = Настраиваемый доступ teams.general_access = Настраиваемый доступ
open_dashboard = Открыть панель
[admin] [admin]
dashboard=Панель управления dashboard=Панель управления
@ -2879,7 +2875,7 @@ repositories=Репозитории
hooks=Веб-хуки hooks=Веб-хуки
integrations=Интеграции integrations=Интеграции
authentication=Аутентификация authentication=Аутентификация
emails=Адреса эл. почты emails=Адреса эл. почты пользователей
config=Конфигурация config=Конфигурация
notices=Системные оповещения notices=Системные оповещения
monitor=Мониторинг monitor=Мониторинг
@ -2957,8 +2953,8 @@ dashboard.total_gc_time=Итоговая задержка GC
dashboard.total_gc_pause=Итоговая задержка сборщика dashboard.total_gc_pause=Итоговая задержка сборщика
dashboard.last_gc_pause=Последняя пауза сборщика dashboard.last_gc_pause=Последняя пауза сборщика
dashboard.gc_times=Сборок мусора dashboard.gc_times=Сборок мусора
dashboard.delete_old_actions=Удалить все старые активности из базы данных dashboard.delete_old_actions=Удалить все старые действия из базы данных
dashboard.delete_old_actions.started=Запущено удаление всех старых активностей из БД. dashboard.delete_old_actions.started=Запущено удаление всех старых действий из БД.
dashboard.update_checker=Проверка обновлений dashboard.update_checker=Проверка обновлений
dashboard.delete_old_system_notices=Удалить все старые системные уведомления из базы данных dashboard.delete_old_system_notices=Удалить все старые системные уведомления из базы данных
dashboard.gc_lfs=Выполнить сборку мусора метаобъектов LFS dashboard.gc_lfs=Выполнить сборку мусора метаобъектов LFS
@ -2981,7 +2977,7 @@ users.repos=Репозитории
users.created=Создано users.created=Создано
users.last_login=Последний вход users.last_login=Последний вход
users.never_login=Никогда не входил users.never_login=Никогда не входил
users.send_register_notify=Уведомить о регистрации по эл. почте users.send_register_notify=Отправить пользователю уведомление о регистрации
users.new_success=Учётная запись «%s» создана. users.new_success=Учётная запись «%s» создана.
users.edit=Редактировать users.edit=Редактировать
users.auth_source=Источник аутентификации users.auth_source=Источник аутентификации
@ -2990,12 +2986,12 @@ users.auth_login_name=Имя для входа
users.password_helper=Оставьте пустым, чтобы оставить без изменений. users.password_helper=Оставьте пустым, чтобы оставить без изменений.
users.update_profile_success=Профиль учётной записи обновлён успешно. users.update_profile_success=Профиль учётной записи обновлён успешно.
users.edit_account=Изменение учётной записи users.edit_account=Изменение учётной записи
users.max_repo_creation=Ограничение количества репозиториев users.max_repo_creation=Максимальное количество репозиториев
users.max_repo_creation_desc=(Установите -1 для использования стандартного глобального значения предела) users.max_repo_creation_desc=(Установите -1 для использования стандартного глобального значения предела)
users.is_activated=Эта учётная запись активирована users.is_activated=Эта учётная запись активирована
users.prohibit_login=Вход запрещён users.prohibit_login=Запретить вход в учётную запись
users.is_admin=Является администратором users.is_admin=У этой учётной записи есть права администратора
users.is_restricted=Ограниченная users.is_restricted=Ограничен
users.allow_git_hook=Может создавать Git-хуки users.allow_git_hook=Может создавать Git-хуки
users.allow_git_hook_tooltip=Git hooks выполняются от пользователя ОС, под которым работает Forgejo. Они будут иметь такой же доступ к хосту. Из-за этого пользователи с правами на Git hook будут иметь возможность получать доступ и модифицировать все репозитории в Forgejo, а также базу данных Forgejo. Следовательно, они также могут получить права администратора Forgejo. users.allow_git_hook_tooltip=Git hooks выполняются от пользователя ОС, под которым работает Forgejo. Они будут иметь такой же доступ к хосту. Из-за этого пользователи с правами на Git hook будут иметь возможность получать доступ и модифицировать все репозитории в Forgejo, а также базу данных Forgejo. Следовательно, они также могут получить права администратора Forgejo.
users.allow_import_local=Может импортировать локальные репозитории users.allow_import_local=Может импортировать локальные репозитории
@ -3048,7 +3044,7 @@ repos.unadopted=Непринятые репозитории
repos.unadopted.no_more=Больше непринятых репозиториев не найдено repos.unadopted.no_more=Больше непринятых репозиториев не найдено
repos.owner=Владелец repos.owner=Владелец
repos.name=Название repos.name=Название
repos.private=Частный repos.private=Личный
repos.watches=Следят repos.watches=Следят
repos.stars=Звезды repos.stars=Звезды
repos.forks=Ответвления repos.forks=Ответвления
@ -3086,22 +3082,22 @@ auths.enabled=Включено
auths.syncenabled=Включить синхронизацию пользователей auths.syncenabled=Включить синхронизацию пользователей
auths.updated=Обновлено auths.updated=Обновлено
auths.auth_type=Тип аутентификации auths.auth_type=Тип аутентификации
auths.auth_name=Название аутентификации auths.auth_name=Имя аутентификации
auths.security_protocol=Протокол безопасности auths.security_protocol=Протокол безопасности
auths.domain=Домен auths.domain=Домен
auths.host=Сервер auths.host=Сервер
auths.port=Порт auths.port=Порт
auths.bind_dn=Bind DN auths.bind_dn=Bind DN
auths.bind_password=Привязать пароль auths.bind_password=Привязать пароль
auths.user_base=База поиска пользователей auths.user_base=База для поиска пользователя
auths.user_dn=DN пользователя auths.user_dn=DN пользователя
auths.attribute_username=Атрибут username auths.attribute_username=Атрибут Username
auths.attribute_username_placeholder=Оставьте пустым, чтобы использовать имя пользователя для регистрации. auths.attribute_username_placeholder=Оставьте пустым, чтобы использовать имя пользователя для регистрации.
auths.attribute_name=Атрибут first name auths.attribute_name=Атрибут First Name
auths.attribute_surname=Атрибут surname auths.attribute_surname=Атрибут Surname
auths.attribute_mail=Атрибут эл. почты auths.attribute_mail=Атрибут эл. почты
auths.attribute_ssh_public_key=Атрибут открытого ключа SSH auths.attribute_ssh_public_key=Атрибут Открытый ключ SSH
auths.attribute_avatar=Атрибут аватара auths.attribute_avatar=Характеристики аватара
auths.attributes_in_bind=Извлекать атрибуты в контексте Bind DN auths.attributes_in_bind=Извлекать атрибуты в контексте Bind DN
auths.allow_deactivate_all=Разрешить пустой результат поиска для отключения всех пользователей auths.allow_deactivate_all=Разрешить пустой результат поиска для отключения всех пользователей
auths.use_paged_search=Использовать постраничный поиск auths.use_paged_search=Использовать постраничный поиск
@ -3109,7 +3105,7 @@ auths.search_page_size=Размер страницы
auths.filter=Фильтр пользователя auths.filter=Фильтр пользователя
auths.admin_filter=Фильтр администратора auths.admin_filter=Фильтр администратора
auths.restricted_filter=Ограниченный фильтр auths.restricted_filter=Ограниченный фильтр
auths.restricted_filter_helper=Оставьте пустым, чтобы не назначать никаких пользователей ограниченными. Используйте звёздочку («*»), чтобы сделать ограниченными всех пользователей, не соответствующих фильтру администратора. auths.restricted_filter_helper=Оставьте пустым, чтобы не назначать никаких пользователей ограниченными. Используйте звёздочку ('*'), чтобы сделать ограниченными всех пользователей, не соответствующих фильтру администратора.
auths.verify_group_membership=Проверить принадлежность к группе в LDAP (оставьте фильтр пустым, чтобы пропустить) auths.verify_group_membership=Проверить принадлежность к группе в LDAP (оставьте фильтр пустым, чтобы пропустить)
auths.group_search_base=Поисковая база групп DN auths.group_search_base=Поисковая база групп DN
auths.group_attribute_list_users=Атрибут группы, содержащий список пользователей auths.group_attribute_list_users=Атрибут группы, содержащий список пользователей
@ -3357,15 +3353,15 @@ monitor.queue=Очередь: %s
monitor.queue.name=Имя monitor.queue.name=Имя
monitor.queue.type=Тип monitor.queue.type=Тип
monitor.queue.exemplar=Тип образца monitor.queue.exemplar=Тип образца
monitor.queue.numberworkers=Количество обработчиков monitor.queue.numberworkers=Количество рабочих
monitor.queue.activeworkers=Активные обработчики monitor.queue.activeworkers=Активные рабочие
monitor.queue.maxnumberworkers=Макс. количество обработчиков monitor.queue.maxnumberworkers=Максимальное количество рабочих
monitor.queue.numberinqueue=Позиция в очереди monitor.queue.numberinqueue=Позиция в очереди
monitor.queue.settings.title=Настройки пула monitor.queue.settings.title=Настройки пула
monitor.queue.settings.desc=Пулы увеличиваются динамически в ответ на блокировку очередей своих обработчиков. monitor.queue.settings.desc=Пулы увеличиваются динамически в ответ на блокировку очередей своих рабочих.
monitor.queue.settings.maxnumberworkers=Макс. количество обработчиков monitor.queue.settings.maxnumberworkers=Максимальное количество рабочих
monitor.queue.settings.maxnumberworkers.placeholder=В настоящий момент %[1]d monitor.queue.settings.maxnumberworkers.placeholder=В настоящее время %[1]d
monitor.queue.settings.maxnumberworkers.error=Максимальное количество обработчиков должно быть числом monitor.queue.settings.maxnumberworkers.error=Максимальное количество рабочих должно быть числом
monitor.queue.settings.submit=Обновить настройки monitor.queue.settings.submit=Обновить настройки
monitor.queue.settings.changed=Настройки обновлены monitor.queue.settings.changed=Настройки обновлены
monitor.queue.settings.remove_all_items=Удалить все monitor.queue.settings.remove_all_items=Удалить все
@ -3410,7 +3406,7 @@ config.open_with_editor_app_help = Приложения для "Открыть
config_settings = Настройки config_settings = Настройки
auths.tips.gmail_settings = Настройки Gmail: auths.tips.gmail_settings = Настройки Gmail:
auths.tip.gitlab_new = Создайте новое приложение в https://gitlab.com/-/profile/applications auths.tip.gitlab_new = Создайте новое приложение в https://gitlab.com/-/profile/applications
monitor.queue.review_add = Подробности / добавить обработчики monitor.queue.review_add = Подробности / добавить рабочих
auths.default_domain_name = Домен по умолчанию для адресов эл. почты auths.default_domain_name = Домен по умолчанию для адресов эл. почты
@ -3474,7 +3470,7 @@ mib = МиБ
gib = ГиБ gib = ГиБ
tib = ТиБ tib = ТиБ
pib = ПиБ pib = ПиБ
eib = ЭиБ eib = ЕиБ
[dropzone] [dropzone]
default_message=Перетащите файл или кликните сюда для загрузки. default_message=Перетащите файл или кликните сюда для загрузки.
@ -3666,7 +3662,6 @@ rpm.repository.architectures = Архитектуры
rpm.repository.multiple_groups = Этот пакет доступен в нескольких группах. rpm.repository.multiple_groups = Этот пакет доступен в нескольких группах.
owner.settings.chef.keypair.description = Для аутентификации реестра Chef необходима пара ключей. Если до этого вы уже сгенерировали пару ключей, генерация новой приведёт к прекращению действия предыдущей. owner.settings.chef.keypair.description = Для аутентификации реестра Chef необходима пара ключей. Если до этого вы уже сгенерировали пару ключей, генерация новой приведёт к прекращению действия предыдущей.
owner.settings.cargo.rebuild.no_index = Невозможно выполнить пересборку. Нет инициализированного индекса. owner.settings.cargo.rebuild.no_index = Невозможно выполнить пересборку. Нет инициализированного индекса.
npm.dependencies.bundle = Комплектные зависимости
[secrets] [secrets]
secrets=Секреты secrets=Секреты
@ -3686,7 +3681,7 @@ management=Управление секретами
[actions] [actions]
actions=Действия actions=Действия
unit.desc=Управление встроенными конвейерами CI/CD с Действиями Forgejo unit.desc=Управление действиями
status.unknown=Неизвестно status.unknown=Неизвестно
status.waiting=Ожидает status.waiting=Ожидает

View file

@ -1537,7 +1537,7 @@ settings.convert_fork_desc=ඔබට මෙම දෙබලක සාමාන
settings.convert_fork_notices_1=මෙම මෙහෙයුම දෙබලක සාමාන්ය ගබඩාවක් බවට පරිවර්තනය කරන අතර එය අහෝසි කළ නොහැක. settings.convert_fork_notices_1=මෙම මෙහෙයුම දෙබලක සාමාන්ය ගබඩාවක් බවට පරිවර්තනය කරන අතර එය අහෝසි කළ නොහැක.
settings.convert_fork_confirm=පරිවර්තනය කරන්න ගබඩාව settings.convert_fork_confirm=පරිවර්තනය කරන්න ගබඩාව
settings.convert_fork_succeed=මෙම දෙබලක සාමාන්ය ගබඩාවක් බවට පරිවර්තනය කර ඇත. settings.convert_fork_succeed=මෙම දෙබලක සාමාන්ය ගබඩාවක් බවට පරිවර්තනය කර ඇත.
settings.transfer.title=අයිතිය පැවරීම settings.transfer=අයිතිය පැවරීම
settings.transfer.rejected=ගබඩාව මාරු කිරීම ප්රතික්ෂේප කරන ලදී. settings.transfer.rejected=ගබඩාව මාරු කිරීම ප්රතික්ෂේප කරන ලදී.
settings.transfer.success=ගබඩාව මාරු කිරීම සාර්ථක විය. settings.transfer.success=ගබඩාව මාරු කිරීම සාර්ථක විය.
settings.transfer_abort=මාරු කිරීම අවලංගු කරන්න settings.transfer_abort=මාරු කිරීම අවලංගු කරන්න

View file

@ -28,12 +28,12 @@ licenses=Licencie
return_to_gitea=Naspäť do Forgejo return_to_gitea=Naspäť do Forgejo
username=Používateľské meno username=Používateľské meno
email=Emailová adresa email=E-mailová adresa
password=Heslo password=Heslo
access_token=Prístupový token access_token=Prístupový token
re_type=Potvrdiť heslo re_type=Potvrdiť heslo
captcha=CAPTCHA captcha=CAPTCHA
twofa=Dvoj-faktorové overenie twofa=Dvojfaktorová autentifikácia
twofa_scratch=Dvojfaktorový dočasný kód twofa_scratch=Dvojfaktorový dočasný kód
passcode=Prístupový kód passcode=Prístupový kód
@ -62,7 +62,7 @@ new_org=Nová organizácia
new_project=Nový projekt new_project=Nový projekt
new_project_column=Nový stĺpec new_project_column=Nový stĺpec
manage_org=Spravovať organizácie manage_org=Spravovať organizácie
admin_panel=Administrácia stránky admin_panel=Administrácia
account_settings=Nastavenia účtu account_settings=Nastavenia účtu
settings=Nastavenia settings=Nastavenia
your_profile=Profil your_profile=Profil
@ -140,7 +140,6 @@ confirm_delete_selected=Potvrdzujete zmazanie všetkých vybraných položiek?
name=Meno name=Meno
value=Hodnota value=Hodnota
issues = Problémy
[aria] [aria]
navbar=Navigačná lišta navbar=Navigačná lišta
@ -1168,7 +1167,7 @@ settings.convert_fork_desc=Tento fork môžete previesť na bežný repozitár.
settings.convert_fork_notices_1=Táto operácia skonvertuje fork na bežný repozitár a nedá sa vrátiť späť. settings.convert_fork_notices_1=Táto operácia skonvertuje fork na bežný repozitár a nedá sa vrátiť späť.
settings.convert_fork_confirm=Konvertovať repozitár settings.convert_fork_confirm=Konvertovať repozitár
settings.convert_fork_succeed=Fork bol prevedený na bežný repozitár. settings.convert_fork_succeed=Fork bol prevedený na bežný repozitár.
settings.transfer.title=Previesť vlastníctvo settings.transfer=Previesť vlastníctvo
settings.transfer_notices_1=- Ak prenesiete repozitár na užívateľa, stratíte k nemu prístup. settings.transfer_notices_1=- Ak prenesiete repozitár na užívateľa, stratíte k nemu prístup.
settings.transfer_notices_2=- Prístup k repozitáru si ponecháte, ak ho prevediete na organizáciu, ktorú (spolu)vlastníte. settings.transfer_notices_2=- Prístup k repozitáru si ponecháte, ak ho prevediete na organizáciu, ktorú (spolu)vlastníte.
settings.transfer_owner=Nový vlastník settings.transfer_owner=Nový vlastník

View file

@ -1288,7 +1288,7 @@ settings.convert_confirm=Konvertera utvecklingskatalog
settings.convert_succeed=Speglingen har blivit konverterad till en vanlig utvecklingskatalog. settings.convert_succeed=Speglingen har blivit konverterad till en vanlig utvecklingskatalog.
settings.convert_fork=Konvertera till vanlig utvecklingskatalog settings.convert_fork=Konvertera till vanlig utvecklingskatalog
settings.convert_fork_confirm=Konvertera utvecklingskatalog settings.convert_fork_confirm=Konvertera utvecklingskatalog
settings.transfer.title=Överför Ägarskap settings.transfer=Överför Ägarskap
settings.transfer_desc=Överför denna utvecklingskatalog till en användare eller organisation för vilken du har administratörsrättigheter till. settings.transfer_desc=Överför denna utvecklingskatalog till en användare eller organisation för vilken du har administratörsrättigheter till.
settings.transfer_form_title=Ange utvecklingskatalogens namn för att bekräfta: settings.transfer_form_title=Ange utvecklingskatalogens namn för att bekräfta:
settings.transfer_notices_1=- Du kommer förlora åtkomst till denna utvecklingskatalog om du för över den till en individuell användare. settings.transfer_notices_1=- Du kommer förlora åtkomst till denna utvecklingskatalog om du för över den till en individuell användare.

View file

@ -2094,7 +2094,7 @@ settings.convert_fork_desc=Bu çatalı normal bir depoya dönüştürebilirsiniz
settings.convert_fork_notices_1=Bu işlem çatalı normal bir depoya dönüştürür ve geri alınamaz. settings.convert_fork_notices_1=Bu işlem çatalı normal bir depoya dönüştürür ve geri alınamaz.
settings.convert_fork_confirm=Depoyu Dönüştür settings.convert_fork_confirm=Depoyu Dönüştür
settings.convert_fork_succeed=Çatal normal bir depoya dönüştürüldü. settings.convert_fork_succeed=Çatal normal bir depoya dönüştürüldü.
settings.transfer.title=Sahipliği Aktar settings.transfer=Sahipliği Aktar
settings.transfer.rejected=Depo aktarımı reddedildi. settings.transfer.rejected=Depo aktarımı reddedildi.
settings.transfer.success=Depo aktarımı başarıyla tamamlandı. settings.transfer.success=Depo aktarımı başarıyla tamamlandı.
settings.transfer_abort=Aktarımı iptal et settings.transfer_abort=Aktarımı iptal et

View file

@ -1654,7 +1654,7 @@ settings.convert_fork_desc=Ви можете перетворити цей фо
settings.convert_fork_notices_1=Ця операція перетворить форк на звичайний репозиторій та не може бути скасованою. settings.convert_fork_notices_1=Ця операція перетворить форк на звичайний репозиторій та не може бути скасованою.
settings.convert_fork_confirm=Перетворити репозиторій settings.convert_fork_confirm=Перетворити репозиторій
settings.convert_fork_succeed=Цей форк успішно перетворено на звичайний репозиторій. settings.convert_fork_succeed=Цей форк успішно перетворено на звичайний репозиторій.
settings.transfer.title=Передати новому власнику settings.transfer=Передати новому власнику
settings.transfer.rejected=Перенесення репозиторію відхилено. settings.transfer.rejected=Перенесення репозиторію відхилено.
settings.transfer.success=Перенесення репозиторію виконано. settings.transfer.success=Перенесення репозиторію виконано.
settings.transfer_abort=Скасувати перенесення settings.transfer_abort=Скасувати перенесення

View file

@ -638,8 +638,6 @@ Location = 地区
To = 分支名 To = 分支名
AccessToken = 访问令牌 AccessToken = 访问令牌
Description = 描述 Description = 描述
Pronouns = 代称
Biography = 简历
[user] [user]
change_avatar=修改头像 change_avatar=修改头像
@ -1001,7 +999,6 @@ update_hints_success = 提示更改成功。
pronouns_custom = 自定义 pronouns_custom = 自定义
pronouns = 代词 pronouns = 代词
pronouns_unspecified = 不指定 pronouns_unspecified = 不指定
language.title = 默认语言
[repo] [repo]
new_repo_helper=代码仓库包含了所有的项目文件,包括版本历史记录。已经在其他地方托管了?<a href="%s">迁移仓库。</a> new_repo_helper=代码仓库包含了所有的项目文件,包括版本历史记录。已经在其他地方托管了?<a href="%s">迁移仓库。</a>
@ -1100,7 +1097,7 @@ blame.ignore_revs.failed=忽略 <a href="%s">.git-blame-ignore-revs</a> 版本
author_search_tooltip=最多显示30个用户 author_search_tooltip=最多显示30个用户
tree_path_not_found_commit=路径%[1]s 在提交 %[2]s 中不存在 tree_path_not_found_commit=路径%[1]s 在提交 %[2]s 中不存在
tree_path_not_found_branch=路径 %[1]s 不存在于分支 %[2]s 中 tree_path_not_found_branch=路径 %[1]s 不存在于分支 %[2]s 中
tree_path_not_found_tag=路径 %[1]s 不存在于标签 %[2]s 中 tree_path_not_found_tag=路径 %[1]s 不存在于标签 %[2]s 中
transfer.accept=接受转移 transfer.accept=接受转移
@ -2108,7 +2105,7 @@ settings.sync_mirror=立即同步
settings.pull_mirror_sync_in_progress=正在从远程 %s 拉取更改。 settings.pull_mirror_sync_in_progress=正在从远程 %s 拉取更改。
settings.push_mirror_sync_in_progress=正在推送变更到远程 %s 。 settings.push_mirror_sync_in_progress=正在推送变更到远程 %s 。
settings.site=网站 settings.site=网站
settings.update_settings=保存设置 settings.update_settings=更新仓库设置
settings.update_mirror_settings=更新镜像设置 settings.update_mirror_settings=更新镜像设置
settings.branches.switch_default_branch=切换默认分支 settings.branches.switch_default_branch=切换默认分支
settings.branches.update_default_branch=更新默认分支 settings.branches.update_default_branch=更新默认分支
@ -2168,7 +2165,7 @@ settings.convert_fork_desc=您可以将该镜像仓库转换为普通仓库,
settings.convert_fork_notices_1=该操作会将派生仓库转换为普通仓库,但该操作不可逆。 settings.convert_fork_notices_1=该操作会将派生仓库转换为普通仓库,但该操作不可逆。
settings.convert_fork_confirm=转换仓库 settings.convert_fork_confirm=转换仓库
settings.convert_fork_succeed=此派生仓库已经转换为普通仓库。 settings.convert_fork_succeed=此派生仓库已经转换为普通仓库。
settings.transfer.title=转让仓库所有权 settings.transfer=转让仓库所有权
settings.transfer.rejected=代码库转移被拒绝。 settings.transfer.rejected=代码库转移被拒绝。
settings.transfer.success=代码库转移成功。 settings.transfer.success=代码库转移成功。
settings.transfer_abort=取消转移 settings.transfer_abort=取消转移
@ -2290,7 +2287,7 @@ settings.event_issue_assign=工单已分配
settings.event_issue_assign_desc=工单已被指派或取消指派。 settings.event_issue_assign_desc=工单已被指派或取消指派。
settings.event_issue_label=工单已分类 settings.event_issue_label=工单已分类
settings.event_issue_label_desc=工单标签被更新或清除。 settings.event_issue_label_desc=工单标签被更新或清除。
settings.event_issue_milestone=工单被收入里程碑中 settings.event_issue_milestone=工单被收入里程碑中
settings.event_issue_milestone_desc=工单被收入或取消收入里程碑中。 settings.event_issue_milestone_desc=工单被收入或取消收入里程碑中。
settings.event_issue_comment=工单评论 settings.event_issue_comment=工单评论
settings.event_issue_comment_desc=工单评论被创建、编辑或删除 settings.event_issue_comment_desc=工单评论被创建、编辑或删除
@ -2740,18 +2737,6 @@ release.download_count_one = %s 下载
release.download_count_few = %s 下载 release.download_count_few = %s 下载
release.system_generated = 此附件是自动生成的。 release.system_generated = 此附件是自动生成的。
pulls.ready_for_review = 准备好接受评审了吗? pulls.ready_for_review = 准备好接受评审了吗?
settings.web_hook_name_sourcehut_builds = SourceHut 构建
settings.graphql_url = GraphQL URL 链接
settings.sourcehut_builds.access_token_helper = 已授予 JOBS:RW 权限的访问令牌。可在 meta.sr.ht 上生成标准的 <a target="_blank" rel="noopener noreferrer" href="%s">builds.sr.ht 令牌</a>或<a target="_blank" rel="noopener noreferrer" href="%s">带有密匙访问权限的 builds.sr.ht 令牌</a> 。
settings.matrix.access_token_helper = 推荐为此设立专门的 Matrix 账户。访问令牌可从 Element Web 客户端(在隐私/无痕模式选项卡中打开)> 用户菜单(左上角)> 所有设置 > 帮助及关于 > 高级 > 访问令牌(在主服务器 URL 下方)检索。获取完成后,请直接关闭隐私/无痕选项卡(注销会使令牌失效)。
settings.event_pull_request_enforcement = 执行
settings.sourcehut_builds.manifest_path = 构建清单路径
settings.sourcehut_builds.visibility = 作业可见性
settings.matrix.room_id_helper = 房间 ID 可从 Element Web 客户端 > 房间设置 > 高级 > 内部房间 ID 获得。例如:%s。
release.hide_archive_links_helper = 为此版本发布隐藏自动生成的源代码存档。例如,如果您准备自行上传。
release.hide_archive_links = 隐藏自动生成的存档
settings.transfer.modal.title = 转移所有权
settings.transfer.button = 转移所有权
[graphs] [graphs]
component_loading=正在加载 %s... component_loading=正在加载 %s...
@ -2886,7 +2871,6 @@ teams.invite.title=您已被邀请加入组织 <strong>%s</strong> 中的团队
teams.invite.by=邀请人 %s teams.invite.by=邀请人 %s
teams.invite.description=请点击下面的按钮加入团队。 teams.invite.description=请点击下面的按钮加入团队。
follow_blocked_user = 你无法关注此组织,因为此组织已屏蔽你。 follow_blocked_user = 你无法关注此组织,因为此组织已屏蔽你。
open_dashboard = 打开仪表盘
[admin] [admin]
dashboard=管理面板 dashboard=管理面板
@ -3438,8 +3422,6 @@ auths.tips.gmail_settings = Gmail 设置:
auths.tip.gitlab_new = 在 https://gitlab.com/-/profile/applications 上注册新应用 auths.tip.gitlab_new = 在 https://gitlab.com/-/profile/applications 上注册新应用
config_settings = 设置 config_settings = 设置
config_summary = 概况 config_summary = 概况
auths.default_domain_name = 用于电子邮件地址的默认域名
config.open_with_editor_app_help = 克隆菜单中的“打开方式”所用的编辑器。如果留空,将使用默认值。展开以查看默认值。
[action] [action]
create_repo=创建了仓库 <a href="%s">%s</a> create_repo=创建了仓库 <a href="%s">%s</a>
@ -3793,7 +3775,6 @@ variables.creation.success=变量 “%s” 添加成功。
variables.update.failed=编辑变量失败。 variables.update.failed=编辑变量失败。
variables.update.success=该变量已被编辑。 variables.update.success=该变量已被编辑。
runs.workflow = 工作流 runs.workflow = 工作流
runs.no_job_without_needs = 工作流必须至少包含一组没有依赖的作业。
[projects] [projects]
type-1.display_name=个人项目 type-1.display_name=个人项目
@ -3828,7 +3809,7 @@ runner_kind = 搜索Runners...
no_results = 未找到匹配的结果。 no_results = 未找到匹配的结果。
type_tooltip = 搜索类型 type_tooltip = 搜索类型
fuzzy = 模糊 fuzzy = 模糊
code_search_by_git_grep = 当前搜索结果由 git grep 提供,如果站点管理员启用了代码索引可能会有更好的结果。 code_search_by_git_grep = 当前搜索结果由 git grep 提供,如果站点管理员启用了仓库索引可能会有更好的结果。
match = 匹配 match = 匹配
match_tooltip = 仅包含与搜索词完全匹配的结果 match_tooltip = 仅包含与搜索词完全匹配的结果
fuzzy_tooltip = 在搜索结果中包含与搜索词相近的项目 fuzzy_tooltip = 在搜索结果中包含与搜索词相近的项目

View file

@ -87,7 +87,6 @@ webauthn_error_unknown = 發生未知嘅錯誤,請再試下。
webauthn_error_unable_to_process = 伺服器唔可以執行你嘅請求。 webauthn_error_unable_to_process = 伺服器唔可以執行你嘅請求。
logo = 標識 logo = 標識
enable_javascript = 本網站需要 JavaScript。 enable_javascript = 本網站需要 JavaScript。
webauthn_error_empty = 你要起名呢條鎖匙。
[aria] [aria]
@ -592,7 +591,7 @@ settings.tracker_issue_style.numeric=數字
settings.tracker_issue_style.alphanumeric=字母及數字 settings.tracker_issue_style.alphanumeric=字母及數字
settings.danger_zone=危險操作區 settings.danger_zone=危險操作區
settings.new_owner_has_same_repo=新的儲存庫擁有者已經存在同名儲存庫! settings.new_owner_has_same_repo=新的儲存庫擁有者已經存在同名儲存庫!
settings.transfer.title=轉移儲存庫所有權 settings.transfer=轉移儲存庫所有權
settings.transfer_owner=新擁有者 settings.transfer_owner=新擁有者
settings.delete=刪除本儲存庫 settings.delete=刪除本儲存庫
settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滾。 settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滾。

View file

@ -8,18 +8,18 @@ sign_in=登入
sign_in_or= sign_in_or=
sign_out=登出 sign_out=登出
sign_up=註冊 sign_up=註冊
link_account=連結帳 link_account=連結帳
register=註冊 register=註冊
version=版本 version=版本
powered_by=技術由 %s 提供 powered_by=技術提供: %s
page=頁面 page=頁面
template=模板 template=模板
language=語言 language=語言
notifications=通知 notifications=通知
active_stopwatch=進行中的時間追蹤 active_stopwatch=進行中的時間追蹤
create_new=建立 create_new=建立...
user_profile_and_more=個人資料和設定 user_profile_and_more=個人資料和設定...
signed_in_as=已登入 signed_in_as=已登入
enable_javascript=本網站需要 JavaScript。 enable_javascript=本網站需要 JavaScript。
toc=目錄 toc=目錄
licenses=授權條款 licenses=授權條款
@ -28,7 +28,7 @@ return_to_gitea=返回 Forgejo
username=帳號 username=帳號
email=電子信箱 email=電子信箱
password=密碼 password=密碼
access_token=存取符記 access_token=訪問符記
re_type=確認密碼 re_type=確認密碼
captcha=驗證碼 captcha=驗證碼
twofa=兩步驟驗證 twofa=兩步驟驗證
@ -43,8 +43,8 @@ webauthn_error=無法讀取您的安全金鑰。
webauthn_unsupported_browser=您的瀏覽器還不支援 WebAuthn。 webauthn_unsupported_browser=您的瀏覽器還不支援 WebAuthn。
webauthn_error_unknown=發生未知的錯誤,請再試一次。 webauthn_error_unknown=發生未知的錯誤,請再試一次。
webauthn_error_insecure=WebAuthn 只支援安全連線。想在 HTTP 上測試您可以使用「localhost」或「127.0.0.1」 webauthn_error_insecure=WebAuthn 只支援安全連線。想在 HTTP 上測試您可以使用「localhost」或「127.0.0.1」
webauthn_error_unable_to_process=伺服器無法處理您的請求。 webauthn_error_unable_to_process=伺服器無法執行您的請求。
webauthn_error_duplicated=安全金鑰無法允許這個請求。請確保該金鑰尚未註冊。 webauthn_error_duplicated=請求不允許使用這個安全金鑰。請確保該金鑰尚未註冊。
webauthn_error_empty=您必須命名此金鑰。 webauthn_error_empty=您必須命名此金鑰。
webauthn_error_timeout=在成功讀取金鑰之前已逾時,請重新載入此頁面並重試。 webauthn_error_timeout=在成功讀取金鑰之前已逾時,請重新載入此頁面並重試。
webauthn_reload=重新載入 webauthn_reload=重新載入
@ -54,7 +54,7 @@ organization=組織
mirror=鏡像 mirror=鏡像
new_repo=新增儲存庫 new_repo=新增儲存庫
new_migrate=遷移外部儲存庫 new_migrate=遷移外部儲存庫
new_mirror=新增鏡像 new_mirror=建立新的鏡像
new_fork=新增儲存庫 Fork new_fork=新增儲存庫 Fork
new_org=新增組織 new_org=新增組織
new_project=新增專案 new_project=新增專案
@ -82,8 +82,8 @@ ok=確認
cancel=取消 cancel=取消
retry=重試 retry=重試
save=儲存 save=儲存
add= add=
add_all=全部 add_all=全部
remove=移除 remove=移除
remove_all=全部移除 remove_all=全部移除
remove_label_str=移除項目「%s」 remove_label_str=移除項目「%s」
@ -105,7 +105,7 @@ preview=預覽
loading=載入中… loading=載入中…
error=錯誤 error=錯誤
error404=嘗試訪的頁面 <strong>不存在</strong> 或 <strong>您沒有權限</strong> 檢視該頁面。 error404=嘗試訪的頁面 <strong>不存在</strong> 或 <strong>您尚未被授權</strong> 查看該頁面。
never=從來沒有 never=從來沒有
unknown=未知 unknown=未知
@ -131,32 +131,32 @@ tracked_time_summary = 基於 issue 清單篩選器的追蹤時間摘要
locked = 已鎖定 locked = 已鎖定
rerun = 重新執行 rerun = 重新執行
rerun_all = 重新執行所有作業 rerun_all = 重新執行所有作業
copy_hash = 複製雜湊 copy_hash = 複製哈希
toggle_menu = 切換選單 toggle_menu = 切換選單
concept_system_global = concept_system_global =
view = 檢視 view = 查看
filter = 篩選 filter = 篩選
filter.clear = 篩選條件 filter.clear = 篩選條件
filter.is_archived = 封存 filter.is_archived = 歸檔
filter.not_archived = 封存 filter.not_archived = 封存
filter.is_fork = 是分叉 filter.is_fork = 已派生
filter.not_fork = 不是分 filter.not_fork = 不是分
filter.is_mirror = 鏡像 filter.is_mirror = 鏡像
filter.not_mirror = 不是鏡像 filter.not_mirror = 不是鏡像
filter.is_template = 是範本 filter.is_template = 模板
filter.not_template = 不是範本 filter.not_template = 不是範本
filter.public = 公開 filter.public = 公開
filter.private = 私有 filter.private = 私有
artifacts = 製品 artifacts = 製品
concept_user_individual = 個人 concept_user_individual = 個人
show_timestamps = 顯示時間戳 show_timestamps = 顯示時間戳
show_log_seconds = 顯示秒數 show_log_seconds = 顯示秒數
show_full_screen = 螢幕顯示 show_full_screen = 顯示
download_logs = 下載日誌 download_logs = 下載日誌
confirm_delete_selected = 確認刪除所有選擇的項目 confirm_delete_selected = 確認刪除所有選中專案
confirm_delete_artifact = 您確定要刪除製品「%s」嗎? confirm_delete_artifact = 您確定要刪除製品“%s”嗎?
more_items = 顯示更多 more_items = 顯示更多
invalid_data = 無效資料%v invalid_data = 無效數據%v
copy_generic = 複製到剪貼簿 copy_generic = 複製到剪貼簿
[aria] [aria]
@ -185,7 +185,7 @@ buttons.list.unordered.tooltip=新增項目符號清單
buttons.list.ordered.tooltip=新增編號清單 buttons.list.ordered.tooltip=新增編號清單
buttons.list.task.tooltip=新增工作項目清單 buttons.list.task.tooltip=新增工作項目清單
buttons.mention.tooltip=提及使用者或團隊 buttons.mention.tooltip=提及使用者或團隊
buttons.ref.tooltip=引用問題或合併請求 buttons.ref.tooltip=參考問題或合併請求
buttons.enable_monospace_font=啟用等寬字型 buttons.enable_monospace_font=啟用等寬字型
buttons.disable_monospace_font=停用等寬字型 buttons.disable_monospace_font=停用等寬字型
buttons.switch_to_legacy.tooltip = 使用舊版編輯器 buttons.switch_to_legacy.tooltip = 使用舊版編輯器
@ -196,42 +196,41 @@ string.desc=Z - A
[error] [error]
occurred=發生錯誤 occurred=發生錯誤
missing_csrf=錯誤的請求:未提供 CSRF 符記 missing_csrf=錯誤的請求:未提供 CSRF token
invalid_csrf=錯誤的請求:無效的 CSRF 符記 invalid_csrf=錯誤的請求:無效的 CSRF token
not_found=找不到目標。 not_found=找不到目標。
network_error=網路錯誤 network_error=網路錯誤
report_message = 如果您確定這是一個 Forgejo 的錯誤,請在 <a href="https://codeberg.org/forgejo/forgejo/issues" target="_blank">Codeberg</a> 上搜尋相關問題,或在必要時提出一個問題 report_message = 如果您確定這是一個 Forgejo bug,請在 <a href="https://codeberg.org/forgejo/forgejo/issues" target="_blank">Codeberg</a> 上搜索問題,或在必要時建立一個新工單
server_internal = 伺服器內部錯誤 server_internal = 伺服器內部錯誤
[startpage] [startpage]
app_desc=一套極易架設的 Git 服務 app_desc=一套極易架設的 Git 服務
install=安裝容易 install=安裝容易
platform=跨平台 platform=跨平台
platform_desc=Forgejo 可以在所有能編譯 <a target="_blank" rel="noopener noreferrer" href="https://go.dev/">Go 語言</a>的平台上執行WindowsmacOSLinuxARM 等。挑一個您喜歡的吧! platform_desc=Forgejo 可以在所有能編譯 <a target="_blank" rel="noopener noreferrer" href="https://go.dev/">Go 語言</a>的平台上執行: Windows, macOS, Linux, ARM 等等。挑一個您喜歡的吧!
lightweight=輕量級 lightweight=輕量級
lightweight_desc=一片便宜的 Raspberry Pi 就可以滿足 Forgejo 的最低需求。節省您的機器資源! lightweight_desc=一片便宜的 Raspberry Pi 就可以滿足 Forgejo 的最低需求。節省您的機器資源!
license=開放原始碼 license=開放原始碼
license_desc=取得 <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">Forgejo</a> !成為一名<a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">貢獻者</a>和我們一起讓 Forgejo 更好,快點加入我們吧! license_desc=取得 <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">Forgejo</a> !成為一名<a target="_blank" rel="noopener noreferrer" href="https://codeberg.org/forgejo/forgejo">貢獻者</a>和我們一起讓 Forgejo 更好,快點加入我們吧!
install_desc = 輕鬆使用您平台的<a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#installation-from-binary">可執行檔</a>,使用 <a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download/#container-image">Docker 部署</a>,抑或是<a target="_blank" rel="noopener noreferrer" href="https://forgejo.org/download">軟體包</a>。
[install] [install]
install=安裝頁面 install=安裝頁面
title=最初組態 title=初始化設定
docker_helper=如果您在 Docker 中執行 Forgejo請先閱讀<a target="_blank" rel="noopener noreferrer" href="%s">安裝指南</a>再來調整設定。 docker_helper=如果您在 Docker 中執行 Forgejo請先閱讀<a target="_blank" rel="noopener noreferrer" href="%s">安裝指南</a>再來調整設定。
require_db_desc=Forgejo 需要 MySQL、PostgreSQL、SQLite3、MSSQL 或 TiDB (MySQL 協定) require_db_desc=Forgejo 需要 MySQL、PostgreSQL、SQLite3、MSSQL、TiDB (MySQL 協定) 等其中一項
db_title=資料庫設定 db_title=資料庫設定
db_type=資料庫類型 db_type=資料庫類型
host=主機 host=主機
user=使用者名稱 user=帳號
password=密碼 password=密碼
db_name=資料庫名稱 db_name=資料庫名稱
db_schema=綱要 db_schema=Schema
db_schema_helper=留空將使用資料庫預設值("public" db_schema_helper=留空則使用資料庫預設值("public")
ssl_mode=SSL ssl_mode=SSL
path=路徑 path=資料庫檔案路徑
sqlite_helper=SQLite3 或 TiDB 資料庫的路徑。<br>如果將 Forgejo 註冊為服務執行,請輸入絕對路徑。 sqlite_helper=SQLite3 或 TiDB 資料庫的檔案路徑。<br>如果將 Forgejo 註冊為服務執行,請輸入絕對路徑。
reinstall_error=您正試圖安裝到既有的 Forgejo 資料庫中 reinstall_error=您正試圖安裝到既有的 Forgejo 資料庫中
reinstall_confirm_message=使用既有的 Forgejo 資料庫來安裝可能造成多種問題。大部分的情下您應使用既有的「app.ini」來執行 Forgejo。如果您知道自己在做什麼請確認下列事項 reinstall_confirm_message=使用既有的 Forgejo 資料庫來安裝可能造成多種問題。大部分的情下您應使用既有的「app.ini」來執行 Forgejo。如果您知道自己在做什麼,請確認下列事項:
reinstall_confirm_check_1=您可能會遺失以 app.ini 中 SECRET_KEY 所加密的資料:使用者或將無法再以 2FA/OTP 方式登入、鏡像可能無法正常運作。核取此方塊代表您確認目前的 app.ini 包含正確的 SECRET_KEY。 reinstall_confirm_check_1=您可能會遺失以 app.ini 中 SECRET_KEY 所加密的資料:使用者或將無法再以 2FA/OTP 方式登入、鏡像可能無法正常運作。核取此方塊代表您確認目前的 app.ini 包含正確的 SECRET_KEY。
reinstall_confirm_check_2=儲存庫和設定可能需要重新同步。核取此方塊代表您確認您將會手動重新同步儲存庫的 Hook 和 SSH authorized_keys 檔案。您確認您會確保儲存庫和鏡像設定正確。 reinstall_confirm_check_2=儲存庫和設定可能需要重新同步。核取此方塊代表您確認您將會手動重新同步儲存庫的 Hook 和 SSH authorized_keys 檔案。您確認您會確保儲存庫和鏡像設定正確。
reinstall_confirm_check_3=您確認您絕對肯定此 Forgejo 在正確的 app.ini 位置上執行,而且您確定您必須重新安裝。您確認您瞭解上述風險。 reinstall_confirm_check_3=您確認您絕對肯定此 Forgejo 在正確的 app.ini 位置上執行,而且您確定您必須重新安裝。您確認您瞭解上述風險。
@ -239,9 +238,9 @@ err_empty_db_path=SQLite3 資料庫路徑不可以為空。
no_admin_and_disable_registration=您不能夠在未建立管理員使用者的情況下禁止註冊。 no_admin_and_disable_registration=您不能夠在未建立管理員使用者的情況下禁止註冊。
err_empty_admin_password=管理員密碼不能為空。 err_empty_admin_password=管理員密碼不能為空。
err_empty_admin_email=管理員信箱不能為空。 err_empty_admin_email=管理員信箱不能為空。
err_admin_name_is_reserved=無效的管理員帳號名稱,帳號名稱已被保留 err_admin_name_is_reserved=無效的管理員帳號,帳號已被保留
err_admin_name_pattern_not_allowed=無效的管理員帳號名稱,該帳號符合保留規則 err_admin_name_pattern_not_allowed=無效的管理員帳號,該帳號符合保留規則
err_admin_name_is_invalid=無效的管理員帳號名稱 err_admin_name_is_invalid=無效的管理員帳號
general_title=一般設定 general_title=一般設定
app_name=站點標題 app_name=站點標題
@ -257,17 +256,17 @@ ssh_port=SSH 伺服器埠
ssh_port_helper=SSH 伺服器使用的埠號,留空以停用 SSH 伺服器。 ssh_port_helper=SSH 伺服器使用的埠號,留空以停用 SSH 伺服器。
http_port=HTTP 埠 http_port=HTTP 埠
http_port_helper=Forgejo 的網頁伺服器所使用的埠號。 http_port_helper=Forgejo 的網頁伺服器所使用的埠號。
app_url= URL app_url= URL
app_url_helper=用於 HTTP(S) Clone 和電子郵件通知的基底 URL app_url_helper=用於 HTTP(S) Clone 和電子郵件通知的基本網址
log_root_path=日誌路徑 log_root_path=日誌路徑
log_root_path_helper=日誌檔將寫入此目錄。 log_root_path_helper=日誌檔將寫入此目錄。
optional_title=可選設定 optional_title=可選設定
email_title=電子郵件設定 email_title=電子郵件設定
smtp_addr=SMTP 主機 smtp_addr=SMTP 主機
smtp_port=SMTP 連接埠 smtp_port=SMTP 連接埠
smtp_from=電子郵件寄件 smtp_from=電子郵件寄件
smtp_from_helper=Forgejo 使用的電子信箱。直接輸入電子信箱或使用「"名稱" <email@example.com>」的格式。 smtp_from_helper=Forgejo 將會使用的電子信箱,直接輸入電子信箱或使用「"名稱" <email@example.com>」的格式。
mailer_user=SMTP 帳號 mailer_user=SMTP 帳號
mailer_password=SMTP 密碼 mailer_password=SMTP 密碼
register_confirm=要求註冊時確認電子郵件 register_confirm=要求註冊時確認電子郵件
@ -276,47 +275,47 @@ server_service_title=伺服器和第三方服務設定
offline_mode=啟用本地模式 offline_mode=啟用本地模式
offline_mode_popup=停用其他服務並在本地提供所有資源。 offline_mode_popup=停用其他服務並在本地提供所有資源。
disable_gravatar=停用 Gravatar disable_gravatar=停用 Gravatar
disable_gravatar_popup=停用 Gravatar 和第三方大頭貼服務。若使用者在未本地上傳大頭貼,將使用預設的大頭貼。 disable_gravatar_popup=停用 Gravatar 和其他大頭貼服務。除非使用者在本地上傳大頭貼,否則將使用預設的大頭貼。
federated_avatar_lookup=啟用 Federated 大頭貼 federated_avatar_lookup=啟用 Federated 大頭貼
federated_avatar_lookup_popup=啟用 Libravatar 提供的 Federated Avatar 查詢服務。 federated_avatar_lookup_popup=使用 Libravatar 以啟用 Federated Avatar 查詢服務
disable_registration=用自助註冊 disable_registration=用自助註冊
disable_registration_popup=禁止使用者自助註冊,只有管理員可以新增帳號 disable_registration_popup=關閉註冊功能,只有管理員可以新增帳戶
allow_only_external_registration_popup=只允許從外部服務註冊 allow_only_external_registration_popup=只允許從外部服務註冊
openid_signin=啟用 OpenID 登入 openid_signin=啟用 OpenID 登入
openid_signin_popup=啟用 OpenID 登入 openid_signin_popup=啟用 OpenID 登入
openid_signup=啟用 OpenID 自助註冊 openid_signup=啟用 OpenID 自助註冊
openid_signup_popup=啟用使用 OpenID 的自助註冊。 openid_signup_popup=啟用基於 OpenID 的註冊
enable_captcha=啟用註冊驗證碼 enable_captcha=在註冊時啟用驗證碼
enable_captcha_popup=要求在用戶註冊時輸入驗證碼 enable_captcha_popup=要求在用戶註冊時輸入驗證碼
require_sign_in_view=需要登入才能瀏覽頁面 require_sign_in_view=需要登入才能瀏覽頁面
require_sign_in_view_popup=僅有已登入的使用者能存取頁面。訪客只會看到登入和註冊頁面。 require_sign_in_view_popup=限制已登入的使用者才能存取頁面。訪客只會看到登入和註冊頁面。
admin_setting_desc=您不需要建立管理員帳號。 第一個註冊的使用者將自動成為管理員。 admin_setting_desc=建立管理員帳戶是選用的。 第一個註冊的使用者將自動成為管理員。
admin_title=管理員帳設定 admin_title=管理員帳設定
admin_name=管理員帳號名稱 admin_name=管理員使用者名稱
admin_password=密碼 admin_password=管理員密碼
confirm_password=確認密碼 confirm_password=確認密碼
admin_email=電子信箱 admin_email=電子信箱
install_btn_confirm=安裝 Forgejo install_btn_confirm=安裝 Forgejo
test_git_failed=無法測試「git」指令%v test_git_failed=無法識別「git」指令%v
sqlite3_not_available=這個 Forgejo 版本不支援 SQLite3請從 %s 下載官方的預先編譯版本 (不是 「gobuild」 版本)。 sqlite3_not_available=這個 Forgejo 版本不支援 SQLite3請從 %s 下載官方的預先編譯版本 (不是 「gobuild」 版本)。
invalid_db_setting=資料庫設定無效 %v invalid_db_setting=資料庫設定不正確 %v
invalid_db_table=資料表「%s」無效%v invalid_db_table=資料庫的資料表「%s」無效: %v
invalid_repo_path=儲存庫根目錄設定無效%v invalid_repo_path=儲存庫根目錄設定不正確%v
invalid_app_data_path=應用程式資料路徑無效%v invalid_app_data_path=無效的應用程式資料路徑:%v
run_user_not_match=「以...執行」的使用者名稱不是目前的使用者名稱:%s -> %s run_user_not_match=「以...執行」的使用者名稱不是目前的使用者名稱:%s -> %s
internal_token_failed=產生內部符記失敗:%v internal_token_failed=產生內部 Token 失敗:%v
secret_key_failed=產生密鑰失敗:%v secret_key_failed=產生密鑰失敗:%v
save_config_failed=儲存設定失敗:%v save_config_failed=儲存設定失敗:%v
invalid_admin_setting=管理員帳號設定無效%v invalid_admin_setting=管理員帳戶設定不正確%v
invalid_log_root_path=日誌根目錄設定無效:%v invalid_log_root_path=日誌根目錄設定不正確: %v
default_keep_email_private=預設隱藏電子信箱 default_keep_email_private=預設隱藏電子信箱
default_keep_email_private_popup=預設隱藏新使用者的電子信箱。 default_keep_email_private_popup=預設隱藏新使用者的電子信箱。
default_allow_create_organization=預設允許建立組織 default_allow_create_organization=預設允許建立組織
default_allow_create_organization_popup=預設允許新使用者建立組織 default_allow_create_organization_popup=預設允許新使用者建立組織
default_enable_timetracking=預設啟用時間追蹤 default_enable_timetracking=預設啟用時間追蹤
default_enable_timetracking_popup=預設啟用新存儲庫的時間追蹤。 default_enable_timetracking_popup=預設情況下啟用新存儲庫的時間跟蹤。
no_reply_address=隱藏電子信箱域名 no_reply_address=隱藏電子信箱域名
no_reply_address_helper=隱藏電子信箱的域名。例如如果隱藏的電子信箱域名設定為「noreply.example.org」帳號「joe」將以「joe@noreply.example.org」的身分登到 Git 中。 no_reply_address_helper=作為隱藏電子信箱使用者的域名。例如如果隱藏的電子信箱域名設定為「noreply.example.org」帳號「joe」將以「joe@noreply.example.org」的身分登到 Git 中。
password_algorithm=密碼雜湊演算法 password_algorithm=密碼雜湊演算法
invalid_password_algorithm=無效的密碼雜湊演算法 invalid_password_algorithm=無效的密碼雜湊演算法
password_algorithm_helper=設定密碼雜湊演算法。演算法有不同的需求與強度。argon2 演算法雖然較安全但會使用大量記憶體,可能不適用於小型系統。 password_algorithm_helper=設定密碼雜湊演算法。演算法有不同的需求與強度。argon2 演算法雖然較安全但會使用大量記憶體,可能不適用於小型系統。
@ -324,7 +323,7 @@ enable_update_checker=啟用更新檢查
run_user_helper = 輸入 Forgejo 執行的作業系統使用者名稱。請注意,此使用者必須具有對儲存庫根路徑的訪問許可權。 run_user_helper = 輸入 Forgejo 執行的作業系統使用者名稱。請注意,此使用者必須具有對儲存庫根路徑的訪問許可權。
env_config_keys_prompt = 以下的環境變數也會被套用於您的設定檔: env_config_keys_prompt = 以下的環境變數也會被套用於您的設定檔:
env_config_keys = 環境設定 env_config_keys = 環境設定
smtp_from_invalid = 郵件寄件人的地址無效 smtp_from_invalid = 電子郵件寄件者地址無效
config_location_hint = 這些設定將被儲存在: config_location_hint = 這些設定將被儲存在:
allow_dots_in_usernames = 允許使用者在使用者名稱中使用英文句點。不影響現有帳戶。 allow_dots_in_usernames = 允許使用者在使用者名稱中使用英文句點。不影響現有帳戶。
enable_update_checker_helper_forgejo = 透過檢查 release.forgejo.org 的 DNS TXT 記錄來定期檢查新的 Forgejo 版本。 enable_update_checker_helper_forgejo = 透過檢查 release.forgejo.org 的 DNS TXT 記錄來定期檢查新的 Forgejo 版本。
@ -334,11 +333,11 @@ uname_holder=帳號或電子信箱
password_holder=密碼 password_holder=密碼
switch_dashboard_context=切換資訊主頁帳戶 switch_dashboard_context=切換資訊主頁帳戶
my_repos=儲存庫 my_repos=儲存庫
show_more_repos=顯示更多儲存庫 show_more_repos=顯示更多儲存庫...
collaborative_repos=參與協作的儲存庫 collaborative_repos=參與協作的儲存庫
my_orgs=組織 my_orgs=組織
my_mirrors=我的鏡像 my_mirrors=我的鏡像
view_home=檢視 %s view_home=訪問 %s
search_repos=搜尋儲存庫... search_repos=搜尋儲存庫...
filter=其他篩選條件 filter=其他篩選條件
filter_by_team_repositories=以團隊儲存庫篩選 filter_by_team_repositories=以團隊儲存庫篩選
@ -376,11 +375,10 @@ code_search_results=「%s」的搜尋結果
code_last_indexed_at=最後索引 %s code_last_indexed_at=最後索引 %s
relevant_repositories_tooltip=已隱藏缺少主題、圖示、說明、Fork 的儲存庫。 relevant_repositories_tooltip=已隱藏缺少主題、圖示、說明、Fork 的儲存庫。
relevant_repositories=只顯示相關的儲存庫,<a href="%s">顯示未篩選的結果</a>。 relevant_repositories=只顯示相關的儲存庫,<a href="%s">顯示未篩選的結果</a>。
stars_few = %d 星星 stars_few = %d 星星
stars_one = %d 星星 stars_one = %d 星星
forks_one = %d 個 fork forks_one = %d 個 fork
forks_few = %d 個 fork forks_few = %d 個 fork
go_to = 前往
[auth] [auth]
create_new_account=註冊帳戶 create_new_account=註冊帳戶
@ -403,20 +401,20 @@ prohibit_login=禁止登入
resent_limit_prompt=抱歉,您請求發送驗證電子郵件太過頻繁,請等待 3 分鐘後再試一次。 resent_limit_prompt=抱歉,您請求發送驗證電子郵件太過頻繁,請等待 3 分鐘後再試一次。
has_unconfirmed_mail=%s 您好,您有一封發送至( <b>%s</b>) 但未被確認的郵件。如果您未收到啟用郵件,或需要重新發送,請單擊下方的按鈕。 has_unconfirmed_mail=%s 您好,您有一封發送至( <b>%s</b>) 但未被確認的郵件。如果您未收到啟用郵件,或需要重新發送,請單擊下方的按鈕。
resend_mail=單擊此處重新發送確認郵件 resend_mail=單擊此處重新發送確認郵件
email_not_associate=此電子信箱未與任何帳戶連結 email_not_associate=此電子信箱未與任何帳戶連結
send_reset_mail=發送帳戶救援信 send_reset_mail=發送帳戶救援信
reset_password=帳戶救援 reset_password=帳戶救援
invalid_code=您的確認代碼無效或已過期。 invalid_code=您的確認代碼無效或已過期。
invalid_password=您的密碼和用來建立帳戶的不符。 invalid_password=您的密碼和用來建立帳戶的不符。
reset_password_helper=帳戶救援 reset_password_helper=帳戶救援
password_too_short=密碼長度不能少於 %d 個字 password_too_short=密碼長度不能少於 %d 個字
non_local_account=非本地帳戶無法透過 Forgejo 的網頁介面更改密碼。 non_local_account=非本地帳戶無法透過 Forgejo 的網頁介面更改密碼。
verify=驗證 verify=驗證
scratch_code=備用驗證碼 scratch_code=備用驗證碼
use_scratch_code=使用備用驗證碼 use_scratch_code=使用備用驗證碼
twofa_scratch_used=您已經用掉了備用驗證碼。您已被轉址到兩步驟驗證設定頁面以便移除您的註冊設備或重新產生新的備用驗證碼。 twofa_scratch_used=您已經用掉了備用驗證碼。您已被重新導向到兩步驟驗證設定頁面以便移除你已註冊設備或重新產生新的備用驗證碼。
twofa_passcode_incorrect=您的驗證碼不正確。如果您遺失設備,請使用您的備用驗證碼登入。 twofa_passcode_incorrect=您的驗證碼不正確。如果您遺失設備,請使用您的備用驗證碼登入。
twofa_scratch_token_incorrect=您的備用驗證碼不正確 twofa_scratch_token_incorrect=您的備用驗證碼不正確
login_userpass=登入 login_userpass=登入
tab_openid=OpenID tab_openid=OpenID
oauth_signup_tab=註冊新帳戶 oauth_signup_tab=註冊新帳戶
@ -443,7 +441,7 @@ authorize_application_description=如果您允許,它將能夠讀取和修改
authorize_title=授權「%s」存取您的帳戶 authorize_title=授權「%s」存取您的帳戶
authorization_failed=授權失效 authorization_failed=授權失效
sspi_auth_failed=SSPI 認證失敗 sspi_auth_failed=SSPI 認證失敗
password_pwned_err=無法完成對 HaveIBeenPwned 的請求 password_pwned_err=無法完成對 HaveIBeenPwned 的請求
tab_signin = 登入 tab_signin = 登入
change_unconfirmed_email_summary = 更改接收帳號啟用信的信箱地址。 change_unconfirmed_email_summary = 更改接收帳號啟用信的信箱地址。
change_unconfirmed_email = 如果您在註冊帳號時寫錯了信箱地址,您可以在下面更改它。您會在這個新地址收到一封確認信。 change_unconfirmed_email = 如果您在註冊帳號時寫錯了信箱地址,您可以在下面更改它。您會在這個新地址收到一封確認信。
@ -452,12 +450,12 @@ tab_signup = 註冊
last_admin = 您無法刪除最後一個管理員。必須至少有一個管理員。 last_admin = 您無法刪除最後一個管理員。必須至少有一個管理員。
prohibit_login_desc = 您的帳號被禁止登入,請連絡網站管理員。 prohibit_login_desc = 您的帳號被禁止登入,請連絡網站管理員。
sign_up_successful = 已成功建立帳號。歡迎! sign_up_successful = 已成功建立帳號。歡迎!
invalid_code_forgot_password = 您的確認代碼無效或是已過期。點擊<a href="%s">這裡</a>來開始一個新的 session。 invalid_code_forgot_password = 您的驗證碼無效或是已過期。點擊<a href="%s">這裡</a>來開始一個新的 session。
reset_password_wrong_user = 您以 %s 登入,但是帳號復原連結是給 %s 的 reset_password_wrong_user = 您以 %s 登入,但是帳號復原連結是給 %s 的
password_pwned = 該密碼出現在先前資料洩露的<a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">被盜密碼清單</a>中。請用一個不同的密碼再試一次,並考慮在其他地方也更換此密碼。 password_pwned = 該密碼出現在先前資料洩露的<a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">被盜密碼清單</a>中。請用一個不同的密碼再試一次,並考慮在其他地方也更換此密碼。
authorization_failed_desc = 因為偵測到無效請求,授權失敗。請連絡您嘗試授權的應用的維護者。 authorization_failed_desc = 偵測到無效請求,授權失敗。請連絡您嘗試授權的應用的維護者。
openid_signin_desc = 輸入您的 OpenID URI。例如alice.openid.example.org 或是 https://openid.example.org/alice。 openid_signin_desc = 輸入您的 OpenID URI。例如alice.openid.example.org 或是 https://openid.example.org/alice。
remember_me.compromised = 此登入符記已經無效,這可能是因為您的帳號被盜用了。請檢查您的帳號是否有異常活動。 remember_me.compromised = 此登入 token 已經無效,這可能是因為您的帳號被盜用了。請檢查您的帳號是否有異常活動。
[mail] [mail]
view_it_on=在 %s 上查看 view_it_on=在 %s 上查看
@ -571,13 +569,13 @@ include_error=` 必須包含子字串「%s」。`
glob_pattern_error=` glob 比對模式無效:%s.` glob_pattern_error=` glob 比對模式無效:%s.`
regex_pattern_error=` 正規表示式模式無效:%s.` regex_pattern_error=` 正規表示式模式無效:%s.`
username_error=`只能包含英文字母數字 ('0-9'、'a-z'、'A-Z')、破折號 ('-')、底線 ('_')、句點 ('.'),不能以非英文字母數字開頭或結尾,也不允許連續的非英文字母數字。` username_error=`只能包含英文字母數字 ('0-9'、'a-z'、'A-Z')、破折號 ('-')、底線 ('_')、句點 ('.'),不能以非英文字母數字開頭或結尾,也不允許連續的非英文字母數字。`
invalid_group_team_map_error=` 對應無效%s` invalid_group_team_map_error=` 對應無效: %s`
unknown_error=未知錯誤: unknown_error=未知錯誤:
captcha_incorrect=驗證碼不正確。 captcha_incorrect=驗證碼不正確。
password_not_match=密碼錯誤。 password_not_match=密碼錯誤。
lang_select_error=從清單中選擇一個語言。 lang_select_error=從清單中選擇一個語言。
username_been_taken=帳號名稱已被使用 username_been_taken=帳號已被使用
username_change_not_local_user=非本地使用者不允許更改他們的帳號。詳細資訊請聯絡您的系統管理員。 username_change_not_local_user=非本地使用者不允許更改他們的帳號。詳細資訊請聯絡您的系統管理員。
repo_name_been_taken=儲存庫名稱已被使用。 repo_name_been_taken=儲存庫名稱已被使用。
repository_force_private=已啟用「強制私有」:私有儲存庫不能被公開。 repository_force_private=已啟用「強制私有」:私有儲存庫不能被公開。
@ -590,10 +588,10 @@ visit_rate_limit=遠端造訪已達用量上限。
org_name_been_taken=組織名稱已被使用。 org_name_been_taken=組織名稱已被使用。
team_name_been_taken=團隊名稱已被使用。 team_name_been_taken=團隊名稱已被使用。
team_no_units_error=請至少選擇一個儲存庫區域。 team_no_units_error=請至少選擇一個儲存庫區域。
email_been_used=此電子信箱已被使用 email_been_used=此電子信箱已被使用
email_invalid=此電子信箱無效。 email_invalid=此電子信箱無效。
openid_been_used=OpenID 位址「%s」已被使用。 openid_been_used=OpenID 位址「%s」已被使用。
username_password_incorrect=帳號或密碼不正確 username_password_incorrect=帳號或密碼不正確
password_complexity=密碼複雜度沒有通過以下的要求: password_complexity=密碼複雜度沒有通過以下的要求:
password_lowercase_one=至少要有一個小寫字母 password_lowercase_one=至少要有一個小寫字母
password_uppercase_one=至少要有一個大寫字母 password_uppercase_one=至少要有一個大寫字母
@ -603,8 +601,8 @@ enterred_invalid_repo_name=您輸入的儲存庫名稱不正確。
enterred_invalid_org_name=您輸入的組織名稱不正確。 enterred_invalid_org_name=您輸入的組織名稱不正確。
enterred_invalid_owner_name=新的擁有者名稱無效。 enterred_invalid_owner_name=新的擁有者名稱無效。
enterred_invalid_password=您輸入的密碼不正確。 enterred_invalid_password=您輸入的密碼不正確。
user_not_exist=該用戶名不存在 user_not_exist=該用戶名不存在
team_not_exist=團隊不存在 team_not_exist=團隊不存在
last_org_owner=你不能從「所有者」團隊中刪除最後一個使用者。每個組織中至少要有一個擁有者。 last_org_owner=你不能從「所有者」團隊中刪除最後一個使用者。每個組織中至少要有一個擁有者。
cannot_add_org_to_team=組織不能被新增為團隊成員。 cannot_add_org_to_team=組織不能被新增為團隊成員。
duplicate_invite_to_team=該使用者已經被邀請為團隊成員。 duplicate_invite_to_team=該使用者已經被邀請為團隊成員。
@ -623,7 +621,7 @@ still_own_packages=您的帳戶擁有一個以上的套件,請先刪除它們
org_still_own_repo=此組織仍然擁有一個以上的儲存庫,請先刪除或轉移它們。 org_still_own_repo=此組織仍然擁有一個以上的儲存庫,請先刪除或轉移它們。
org_still_own_packages=此組織仍然擁有一個以上的套件,請先刪除它們。 org_still_own_packages=此組織仍然擁有一個以上的套件,請先刪除它們。
target_branch_not_exist=目標分支不存在 target_branch_not_exist=目標分支不存在
unset_password = 此使用者尚未設置密碼。 unset_password = 此使用者尚未設置密碼。
unsupported_login_type = 該帳號的登入方式使它無法被刪除。 unsupported_login_type = 該帳號的登入方式使它無法被刪除。
To = 分支名稱 To = 分支名稱
@ -633,7 +631,7 @@ Pronouns = 代名詞
Biography = 個人簡介 Biography = 個人簡介
Website = 網站 Website = 網站
Location = 地區 Location = 地區
AccessToken = 存取符記 AccessToken = 存取令牌
username_has_not_been_changed = 帳號名稱未被更改 username_has_not_been_changed = 帳號名稱未被更改
admin_cannot_delete_self = 當您是管理員時,您不能刪除自己。請先移除您的管理員權限。 admin_cannot_delete_self = 當您是管理員時,您不能刪除自己。請先移除您的管理員權限。
username_error_no_dots = ` 只能包含英數字符("0-9","a-z","A-Z"),破折號("-")和底線("_")。只能以英數字元開頭或結尾,連續的非英數字元也不被允許。` username_error_no_dots = ` 只能包含英數字符("0-9","a-z","A-Z"),破折號("-")和底線("_")。只能以英數字元開頭或結尾,連續的非英數字元也不被允許。`
@ -641,7 +639,7 @@ required_prefix = 輸入文字必須以「%s」開頭
[user] [user]
change_avatar=更改大頭貼 change_avatar=更改大頭貼...
repositories=儲存庫 repositories=儲存庫
activity=公開動態 activity=公開動態
followers_few=%d 追蹤者 followers_few=%d 追蹤者
@ -654,7 +652,7 @@ following_few=%d 追蹤中
follow=追蹤 follow=追蹤
unfollow=取消追蹤 unfollow=取消追蹤
user_bio=個人簡介 user_bio=個人簡介
disabled_public_activity=這個使用者已對外隱藏動態 disabled_public_activity=這個使用者已對外隱藏動態
email_visibility.limited=所有已驗證的使用者都可以看到您的電子信箱地址 email_visibility.limited=所有已驗證的使用者都可以看到您的電子信箱地址
email_visibility.private=只有您和系統管理員可以看到您的電子信箱地址 email_visibility.private=只有您和系統管理員可以看到您的電子信箱地址
@ -669,11 +667,6 @@ block_user.detail_1 = 該使用者已停止追踪您。
block_user.detail_2 = 這個使用者無法對您的儲存庫、您提出的問題或發表的留言做出任何操作。 block_user.detail_2 = 這個使用者無法對您的儲存庫、您提出的問題或發表的留言做出任何操作。
followers_one = %d 個追踪者 followers_one = %d 個追踪者
following_one = 追踪 %d 個人 following_one = 追踪 %d 個人
block_user.detail_3 = 該使用者無法將您加為協作者,您也無法將其加為協作者。
follow_blocked_user = 因為這個使用者封鎖您或被您封鎖,您不能追蹤此使用者。
block = 封鎖
unblock = 解除封鎖
block_user.detail = 請注意,封鎖此使用者將會導致以下結果。例如:
[settings] [settings]
profile=個人資料 profile=個人資料
@ -734,15 +727,15 @@ enable_custom_avatar=使用自訂大頭貼
choose_new_avatar=選擇新的大頭貼 choose_new_avatar=選擇新的大頭貼
update_avatar=更新大頭貼 update_avatar=更新大頭貼
delete_current_avatar=刪除目前的大頭貼 delete_current_avatar=刪除目前的大頭貼
uploaded_avatar_not_a_image=上傳的檔案不是圖片 uploaded_avatar_not_a_image=上傳的檔案不是圖片
update_avatar_success=已更新您的大頭貼。 update_avatar_success=您的大頭貼已更新
update_user_avatar_success=已更新使用者的大頭貼。 update_user_avatar_success=已更新使用者的大頭貼。
update_password=更新密碼 update_password=更新密碼
old_password=目前的密碼 old_password=目前的密碼
new_password=新的密碼 new_password=新的密碼
retype_new_password=確認新密碼 retype_new_password=確認新密碼
password_incorrect=輸入的密碼不正確 password_incorrect=輸入的密碼不正確
change_password_success=您的密碼已更新。 從現在起使用您的新密碼登入。 change_password_success=您的密碼已更新。 從現在起使用您的新密碼登入。
password_change_disabled=非本地帳戶無法透過 Forgejo 的網頁介面更改密碼。 password_change_disabled=非本地帳戶無法透過 Forgejo 的網頁介面更改密碼。
@ -760,18 +753,18 @@ activations_pending=等待啟用中
delete_email=移除 delete_email=移除
email_deletion=移除電子信箱 email_deletion=移除電子信箱
email_deletion_desc=電子信箱和相關資訊將從您的帳戶中刪除,由此電子信箱所提交的 Git 將保持不變,是否繼續? email_deletion_desc=電子信箱和相關資訊將從您的帳戶中刪除,由此電子信箱所提交的 Git 將保持不變,是否繼續?
email_deletion_success=該電子信箱已被刪除 email_deletion_success=該電子信箱已被刪除
theme_update_success=已更新佈景主題。 theme_update_success=已更新佈景主題。
theme_update_error=選取的佈景主題不存在。 theme_update_error=選取的佈景主題不存在。
openid_deletion=移除 OpenID 位址 openid_deletion=移除 OpenID 位址
openid_deletion_desc=從您的帳戶刪除此 OpenID 位址將會無法使用它進行登入。是否繼續? openid_deletion_desc=從您的帳戶刪除此 OpenID 位址將會無法使用它進行登入。是否繼續?
openid_deletion_success=該 OpenID 已被刪除 openid_deletion_success=該 OpenID 已被刪除
add_new_email=新增電子信箱 add_new_email=新增電子信箱
add_new_openid=新增 OpenID URI add_new_openid=新增 OpenID URI
add_email=新增電子信箱 add_email=新增電子信箱
add_openid=新增 OpenID URI add_openid=新增 OpenID URI
add_email_success=已加入新的電子信箱。 add_email_success=已加入新的電子信箱。
email_preference_set_success=已套用郵件偏好設定 email_preference_set_success=已套用郵件偏好設定
add_openid_success=已加入新的 OpenID 地址。 add_openid_success=已加入新的 OpenID 地址。
keep_email_private=隱藏電子信箱 keep_email_private=隱藏電子信箱
openid_desc=OpenID 讓你可以授權認證給外部服務。 openid_desc=OpenID 讓你可以授權認證給外部服務。
@ -794,26 +787,26 @@ ssh_key_been_used=此 SSH 金鑰早已加入本伺服器。
ssh_key_name_used=已有相同名稱的 SSH 金鑰存在於您的帳戶。 ssh_key_name_used=已有相同名稱的 SSH 金鑰存在於您的帳戶。
ssh_principal_been_used=此主體早已加入本伺服器。 ssh_principal_been_used=此主體早已加入本伺服器。
gpg_key_id_used=已存在具有相同 ID 的 GPG 金鑰。 gpg_key_id_used=已存在具有相同 ID 的 GPG 金鑰。
gpg_no_key_email_found=此 GPG 金鑰不符合任何已關聯到您帳戶且已啟用的電子信箱。若您簽署該符記,您仍然可以新增它。 gpg_no_key_email_found=此 GPG 金鑰不符合任何已關聯到您帳戶且已啟用的電子信箱。若您為提供的 Token 進行簽署,您仍然可以新增它。
gpg_key_matched_identities=符合的身分: gpg_key_matched_identities=符合的身分:
gpg_key_matched_identities_long=此金鑰中嵌入的身分符合此使用者已啟用的電子信箱。此金鑰可用來驗證符合此信箱的提交。 gpg_key_matched_identities_long=此金鑰中嵌入的身分符合此使用者已啟用的電子信箱。此金鑰可用來驗證符合此信箱的提交。
gpg_key_verified=已驗證的金鑰 gpg_key_verified=已驗證的金鑰
gpg_key_verified_long=金鑰已被符記驗證且可用來驗證符合此使用者已啟用的電子信箱的提交,以及任何符合此金鑰的身分。 gpg_key_verified_long=金鑰已被 Token 驗證且可用來驗證符合此使用者已啟用的電子信箱的提交,以及任何符合此金鑰的身分。
gpg_key_verify=驗證 gpg_key_verify=驗證
gpg_invalid_token_signature=提供的 GPG 金鑰、簽署、符記不符合或符記已過期。 gpg_invalid_token_signature=提供的 GPG 金鑰、簽署、Token 不符合或 Token 已過期。
gpg_token_required=您必須為下列的符記提供簽署 gpg_token_required=您必須為下列的 Token 提供簽署
gpg_token=符記 gpg_token=Token
gpg_token_help=您可以使用以下方法產生簽署: gpg_token_help=您可以使用以下方法產生簽署:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Armored GPG 簽署 gpg_token_signature=Armored GPG 簽署
key_signature_gpg_placeholder=以 「-----BEGIN PGP SIGNATURE-----」 開頭 key_signature_gpg_placeholder=以 「-----BEGIN PGP SIGNATURE-----」 開頭
verify_gpg_key_success=已驗證 GPG 金鑰「%s」。 verify_gpg_key_success=已驗證 GPG 金鑰「%s」。
ssh_key_verified=已驗證的金鑰 ssh_key_verified=已驗證的金鑰
ssh_key_verified_long=金鑰已被符記驗證且可用來驗證符合此使用者已啟用的電子信箱的提交。 ssh_key_verified_long=金鑰已被 Token 驗證且可用來驗證符合此使用者已啟用的電子信箱的提交。
ssh_key_verify=驗證 ssh_key_verify=驗證
ssh_invalid_token_signature=提供的 SSH 金鑰、簽署、符記不符合或符記已過期。 ssh_invalid_token_signature=提供的 SSH 金鑰、簽署、Token 不符合或 Token 已過期。
ssh_token_required=您必須為下列的符記提供簽署 ssh_token_required=您必須為下列的 Token 提供簽署
ssh_token=符記 ssh_token=Token
ssh_token_help=您可以使用以下方法產生簽署: ssh_token_help=您可以使用以下方法產生簽署:
ssh_token_signature=Armored SSH 簽署 ssh_token_signature=Armored SSH 簽署
key_signature_ssh_placeholder=以「-----BEGIN SSH SIGNATURE-----」開頭 key_signature_ssh_placeholder=以「-----BEGIN SSH SIGNATURE-----」開頭
@ -842,7 +835,7 @@ no_activity=沒有近期動態
can_read_info=讀取 can_read_info=讀取
can_write_info=寫入 can_write_info=寫入
key_state_desc=此金鑰在過去 7 天內曾被使用 key_state_desc=此金鑰在過去 7 天內曾被使用
token_state_desc=符記在過去 7 天內曾被使用 token_state_desc= Token 在過去 7 天內曾被使用
principal_state_desc=此主體在過去 7 天內曾被使用 principal_state_desc=此主體在過去 7 天內曾被使用
show_openid=在個人資料顯示 show_openid=在個人資料顯示
hide_openid=從個人資料隱藏 hide_openid=從個人資料隱藏
@ -851,19 +844,19 @@ ssh_externally_managed=此 SSH 金鑰由此使用者的外部服務所管理
manage_social=管理關聯的社群帳戶 manage_social=管理關聯的社群帳戶
unbind=解除連結 unbind=解除連結
manage_access_token=管理存取符記 manage_access_token=管理 Access Token
generate_new_token=產生新的符記 generate_new_token=產生新的 Token
tokens_desc=這些符記透過 Forgejo API 獲得存取您帳戶的權限。 tokens_desc=這些 Token 透過 Forgejo API 獲得存取你帳戶的權限。
token_name=符記名稱 token_name=Token 名稱
generate_token=產生符記 generate_token=產生 Token
generate_token_success=已經產生新的符記。請立刻複製它,因為它將不會被再次顯示。 generate_token_success=已經產生新的 Token。請立刻複製它因為他將不會再次顯示。
generate_token_name_duplicate=應用程式名稱 <strong>%s</strong> 已被使用,請換一個試試。 generate_token_name_duplicate=應用程式名稱 <strong>%s</strong> 已被使用,請換一個試試。
delete_token=刪除 delete_token=刪除
access_token_deletion=刪除存取符記 access_token_deletion=刪除 Access Token
access_token_deletion_cancel_action=取消 access_token_deletion_cancel_action=取消
access_token_deletion_confirm_action=刪除 access_token_deletion_confirm_action=刪除
access_token_deletion_desc=刪除符記後,使用此符記的應用程式將無法再存取您的帳戶。您將無法取消此操作。要繼續嗎 access_token_deletion_desc=刪除 Token 後,使用此 Token 的應用程式將無法再存取您的帳戶,此動作不可還原。是否繼續
delete_token_success=已刪除符記。使用此符記的應用程式無法再存取您的帳戶。 delete_token_success=已刪除 Token。使用此 Token 的應用程式無法再存取您的帳戶。
permission_no_access=沒有存取權 permission_no_access=沒有存取權
permission_read=讀取 permission_read=讀取
@ -871,7 +864,7 @@ manage_oauth2_applications=管理 OAuth2 應用程式
edit_oauth2_application=編輯 OAuth2 應用程式 edit_oauth2_application=編輯 OAuth2 應用程式
oauth2_applications_desc=OAuth2 應用程式讓您的第三方應用程式安全地驗證此 Forgejo 中的使用者。 oauth2_applications_desc=OAuth2 應用程式讓您的第三方應用程式安全地驗證此 Forgejo 中的使用者。
remove_oauth2_application=刪除 OAuth2 應用程式 remove_oauth2_application=刪除 OAuth2 應用程式
remove_oauth2_application_desc=刪除 OAuth2 應用程式將會撤銷所有已簽署的存取符記之存取權。是否繼續? remove_oauth2_application_desc=刪除 OAuth2 應用程式將會撤銷所有已簽署的 Access Token 存取權。是否繼續?
remove_oauth2_application_success=已刪除應用程式。 remove_oauth2_application_success=已刪除應用程式。
create_oauth2_application=新增 OAuth2 應用程式 create_oauth2_application=新增 OAuth2 應用程式
create_oauth2_application_button=建立應用程式 create_oauth2_application_button=建立應用程式
@ -904,7 +897,7 @@ scan_this_image=使用您的授權應用程式來掃瞄圖片:
or_enter_secret=或者輸入密碼: %s or_enter_secret=或者輸入密碼: %s
then_enter_passcode=然後輸入應用程式中顯示的驗證碼: then_enter_passcode=然後輸入應用程式中顯示的驗證碼:
passcode_invalid=無效的驗證碼,請重試。 passcode_invalid=無效的驗證碼,請重試。
twofa_enrolled=您的帳戶已經啟用了兩步驟驗證。請將備用驗證碼 (%s) 保存到安全的地方,它只會被顯示一次。 twofa_enrolled=您的帳戶已經啟用了兩步驟驗證。請將備用驗證碼 (%s) 保存到安全的地方,它只會顯示這麼一次!
twofa_failed_get_secret=取得密鑰 (Secret) 失敗。 twofa_failed_get_secret=取得密鑰 (Secret) 失敗。
webauthn_desc=安全金鑰是包含加密密鑰的硬體設備,它們可以用於兩步驟驗證。安全金鑰必須支援 <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a> 標準。 webauthn_desc=安全金鑰是包含加密密鑰的硬體設備,它們可以用於兩步驟驗證。安全金鑰必須支援 <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a> 標準。
@ -915,7 +908,7 @@ webauthn_delete_key_desc=如果您移除安全金鑰,將不能再使用它登
manage_account_links=管理已連結的帳戶 manage_account_links=管理已連結的帳戶
manage_account_links_desc=這些外部帳戶已連結到您的 Forgejo 帳戶。 manage_account_links_desc=這些外部帳戶已連結到您的 Forgejo 帳戶。
account_links_not_available=目前沒有外部帳戶連結到您的 Forgejo 帳戶。 account_links_not_available=目前沒有連結到您的 Forgejo 帳戶的外部帳戶
link_account=連結帳戶 link_account=連結帳戶
remove_account_link=刪除已連結的帳戶 remove_account_link=刪除已連結的帳戶
remove_account_link_desc=刪除連結帳戶將撤銷其對 Forgejo 帳戶的存取權限。是否繼續? remove_account_link_desc=刪除連結帳戶將撤銷其對 Forgejo 帳戶的存取權限。是否繼續?
@ -949,7 +942,7 @@ update_hints = 更新提示
update_hints_success = 提示已被更改。 update_hints_success = 提示已被更改。
added_on = 於 %s 新增 added_on = 於 %s 新增
biography_placeholder = 和我們介紹一下您自己吧!(您可以使用 Markdown biography_placeholder = 和我們介紹一下您自己吧!(您可以使用 Markdown
location_placeholder = 其他人分享您的地理位置 location_placeholder = 其他人分享您的地理位置
profile_desc = 管理其他人如何看到您的個人資料。通知、密碼復原和網頁上的 Git 操作會使用您的主要電子信箱。 profile_desc = 管理其他人如何看到您的個人資料。通知、密碼復原和網頁上的 Git 操作會使用您的主要電子信箱。
hidden_comment_types.ref_tooltip = 註記哪些問題/提交/… 提及了此問題 hidden_comment_types.ref_tooltip = 註記哪些問題/提交/… 提及了此問題
keep_activity_private = 隱藏個人頁面中的活動資料 keep_activity_private = 隱藏個人頁面中的活動資料
@ -961,7 +954,7 @@ add_email_confirmation_sent = 我們已發送一封確認信至 「%s」。請
repo_and_org_access = 儲存庫和組織存取權 repo_and_org_access = 儲存庫和組織存取權
permissions_public_only = 僅公開 permissions_public_only = 僅公開
permissions_access_all = 全部(公開、私有和受限) permissions_access_all = 全部(公開、私有和受限)
at_least_one_permission = 您必須至少選擇一個權限才能建立符記 at_least_one_permission = 您必須至少選擇一個權限才能建立 token
can_not_add_email_activations_pending = 已有一個待處理的啟用請求,如果您想要新增電子信箱,請稍等幾分鐘。 can_not_add_email_activations_pending = 已有一個待處理的啟用請求,如果您想要新增電子信箱,請稍等幾分鐘。
uid = UID uid = UID
change_password = 更改密碼 change_password = 更改密碼
@ -973,17 +966,6 @@ change_username_prompt = 註:更新您的使用者名稱將改變您的帳號
change_username_redirect_prompt = 舊的使用者名稱在其他使用者認領之前將會轉址到新的使用者名稱。 change_username_redirect_prompt = 舊的使用者名稱在其他使用者認領之前將會轉址到新的使用者名稱。
visibility.limited_tooltip = 只有已登入的使用者能看見 visibility.limited_tooltip = 只有已登入的使用者能看見
visibility.private_tooltip = 只有您加入的組織之成員能看見 visibility.private_tooltip = 只有您加入的組織之成員能看見
keep_email_private_popup = 這將在您的個人資料頁面、合併請求或網頁檔案編輯器中隱藏您的電子信箱地址。已推送的提交不會被更改。在提交中使用 %s 來將其連結至您的帳戶。
ssh_signonly = 因為目前 SSH 已被停用,這個金鑰只被用來校驗提交簽署。
email_desc = 您的主要電子信箱將被用於通知、密碼復原、網頁 Git 操作(如果您的信箱不是隱藏的)。
pronouns_custom = 自訂
oauth2_client_secret_hint = 這把密鑰在您離開或重新整理此頁面後將不再被顯示。請確保您已儲存它。
additional_repo_units_hint_description = 在沒有啟用所有模組的儲存庫中顯示「新增更多模組…」按鈕。
hidden_comment_types.issue_ref_tooltip = 使用者更改與問題相關分支/標籤的留言
pronouns = 代名詞
update_oauth2_application_success = 您已成功更新該 OAuth2 應用程式。
oauth2_redirect_uris = 轉址 URI。每個 URI 應各佔一行。
pronouns_unspecified = 未指定
[repo] [repo]
owner=擁有者 owner=擁有者
@ -992,7 +974,7 @@ repo_name=儲存庫名稱
repo_name_helper=好的儲存庫名稱通常是簡短的、好記的、且獨特的。 repo_name_helper=好的儲存庫名稱通常是簡短的、好記的、且獨特的。
repo_size=儲存庫大小 repo_size=儲存庫大小
template=範本 template=範本
template_select=選擇範本 template_select=選擇範本
template_helper=將儲存庫設為範本 template_helper=將儲存庫設為範本
template_description=儲存庫範本讓使用者可新增相同目錄結構、檔案以及設定的儲存庫。 template_description=儲存庫範本讓使用者可新增相同目錄結構、檔案以及設定的儲存庫。
visibility=瀏覽權限 visibility=瀏覽權限
@ -1015,12 +997,12 @@ generate_from=產生自
repo_desc=描述 repo_desc=描述
repo_desc_helper=輸入簡介 (選用) repo_desc_helper=輸入簡介 (選用)
repo_lang=儲存庫語言 repo_lang=儲存庫語言
repo_gitignore_helper=選擇 .gitignore 範本 repo_gitignore_helper=選擇 .gitignore 範本
repo_gitignore_helper_desc=從常見語言範本清單中挑選忽略追蹤的檔案。預設情況下各種語言建置工具產生的特殊檔案都包含在 .gitignore 中。 repo_gitignore_helper_desc=從常見語言範本清單中挑選忽略追蹤的檔案。預設情況下各種語言建置工具產生的特殊檔案都包含在 .gitignore 中。
issue_labels=問題標籤 issue_labels=問題標籤
issue_labels_helper=選擇問題標籤集 issue_labels_helper=選擇問題標籤集
license=授權條款 license=授權條款
license_helper=請選擇授權條款檔案 license_helper=請選擇授權條款檔案
license_helper_desc=授權條款定義了他人使用您原始碼的允許和禁止事項。不確定哪個適用於您的專案?查看<a target="_blank" rel="noopener noreferrer" href="%s">選擇授權條款。</a> license_helper_desc=授權條款定義了他人使用您原始碼的允許和禁止事項。不確定哪個適用於您的專案?查看<a target="_blank" rel="noopener noreferrer" href="%s">選擇授權條款。</a>
readme=讀我檔案 readme=讀我檔案
readme_helper=選擇讀我檔案範本。 readme_helper=選擇讀我檔案範本。
@ -1037,7 +1019,7 @@ default_branch_helper=預設分支是合併請求和提交程式碼的基礎分
mirror_prune=裁減 mirror_prune=裁減
mirror_prune_desc=刪除過時的遠端追蹤參考 mirror_prune_desc=刪除過時的遠端追蹤參考
mirror_interval=鏡像週期有效時間單位為「h」、「m」、「s」設為 0 以停用定期同步。(最小值為:%s mirror_interval=鏡像週期有效時間單位為「h」、「m」、「s」設為 0 以停用定期同步。(最小值為:%s
mirror_interval_invalid=鏡像週期無效 mirror_interval_invalid=鏡像週期無效
mirror_sync_on_commit=推送提交後進行同步 mirror_sync_on_commit=推送提交後進行同步
mirror_address=從 URL Clone mirror_address=從 URL Clone
mirror_address_desc=在授權資訊中填入必要的資料。 mirror_address_desc=在授權資訊中填入必要的資料。
@ -1052,7 +1034,7 @@ mirror_password_help=修改帳號以清除已儲存的密碼。
watchers=關注者 watchers=關注者
stargazers=占星術師 stargazers=占星術師
forks=Fork forks=Fork
reactions_more=和其他 %d reactions_more=再多添加 %d
unit_disabled=網站管理員已經停用這個儲存庫區域。 unit_disabled=網站管理員已經停用這個儲存庫區域。
language_other=其他 language_other=其他
adopt_search=輸入帳號以搜尋未接管的儲存庫... (留白以查詢全部) adopt_search=輸入帳號以搜尋未接管的儲存庫... (留白以查詢全部)
@ -1116,19 +1098,19 @@ migrate_items_releases=版本發布
migrate_repo=遷移儲存庫 migrate_repo=遷移儲存庫
migrate.clone_address=從 URL 遷移 / Clone migrate.clone_address=從 URL 遷移 / Clone
migrate.clone_address_desc=現有儲存庫的 HTTP(S) 或 Git 「clone」 URL migrate.clone_address_desc=現有儲存庫的 HTTP(S) 或 Git 「clone」 URL
migrate.github_token_desc=由於 GitHub API 的速率限制,您可在此輸入一個或多個由半形逗號「,」分隔的符記來加快遷移速度。警告:濫用此功能可能會違反該服務提供者的政策並導致帳戶被封鎖。 migrate.github_token_desc=由於 GitHub API 的速率限制,您可在此輸入一個或多個由半形逗號「,」分隔的 Token 來加快遷移速度。警告:濫用此功能可能會違反該服務提供者的政策並導致帳戶被封鎖。
migrate.clone_local_path=或者是本地端伺服器路徑 migrate.clone_local_path=或者是本地端伺服器路徑
migrate.permission_denied=您並沒有導入本地儲存庫的權限。 migrate.permission_denied=您並沒有導入本地儲存庫的權限。
migrate.permission_denied_blocked=您無法從未允許的主機匯入,請聯絡管理員檢查以下設定值 ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS migrate.permission_denied_blocked=您無法從未允許的主機匯入,請聯絡管理員檢查以下設定值 ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS
migrate.invalid_local_path=無效的本地路徑。它不存在或不是一個資料夾。 migrate.invalid_local_path=無效的本地路徑。它不存在或不是一個資料夾。
migrate.invalid_lfs_endpoint=該 LFS 端點無效。 migrate.invalid_lfs_endpoint=該 LFS 端點無效。
migrate.failed=遷移失敗:%v migrate.failed=遷移失敗:%v
migrate.migrate_items_options=遷移其他項目需要存取符記 migrate.migrate_items_options=遷移其他項目需要取用 Token
migrated_from=已從 <a href="%[1]s">%[2]s</a> 遷移 migrated_from=已從 <a href="%[1]s">%[2]s</a> 遷移
migrated_from_fake=已從 %[1]s 遷移 migrated_from_fake=已從 %[1]s 遷移
migrate.migrate=從 %s 遷移 migrate.migrate=從 %s 遷移
migrate.migrating=正在從 <b>%s</b> 遷移... migrate.migrating=正在從 <b>%s</b> 遷移...
migrate.migrating_failed=從 <b>%s</b> 遷移失敗 migrate.migrating_failed=從 <b>%s</b> 遷移失敗
migrate.migrating_failed_no_addr=遷移失敗。 migrate.migrating_failed_no_addr=遷移失敗。
migrate.github.description=從 github.com 或 GitHub Enterprise 伺服器遷移資料。 migrate.github.description=從 github.com 或 GitHub Enterprise 伺服器遷移資料。
migrate.git.description=從任何 Git 服務遷移儲存庫。 migrate.git.description=從任何 Git 服務遷移儲存庫。
@ -1157,7 +1139,7 @@ unwatch=取消關注
watch=關注 watch=關注
unstar=移除星號 unstar=移除星號
star=加上星號 star=加上星號
fork=分叉 fork=Fork
download_archive=下載此儲存庫 download_archive=下載此儲存庫
more_operations=更多操作 more_operations=更多操作
@ -1165,7 +1147,7 @@ no_desc=暫無描述
quick_guide=快速指南 quick_guide=快速指南
clone_this_repo=Clone 此儲存庫 clone_this_repo=Clone 此儲存庫
cite_this_repo=引用此儲存庫 cite_this_repo=引用此儲存庫
create_new_repo_command=從命令列建立新儲存庫 create_new_repo_command=從命令列建立新儲存庫
push_exist_repo=從命令列推送已存在的儲存庫 push_exist_repo=從命令列推送已存在的儲存庫
empty_message=此儲存庫未包含任何內容。 empty_message=此儲存庫未包含任何內容。
broken_message=無法讀取此儲存庫底層的 Git 資料。請聯絡此 Forgejo 執行個體的管理員或刪除此儲存庫。 broken_message=無法讀取此儲存庫底層的 Git 資料。請聯絡此 Forgejo 執行個體的管理員或刪除此儲存庫。
@ -1182,10 +1164,10 @@ tags=標籤
issues=問題 issues=問題
pulls=合併請求 pulls=合併請求
project_board=專案 project_board=專案
packages=軟體包 packages=套件
actions=Actions actions=Actions
labels=標籤 labels=標籤
org_labels_desc=組織層級標籤可用於此組織下的<strong>所有存庫</strong> org_labels_desc=組織層級標籤可用於此組織下的<strong>所有庫</strong>
org_labels_desc_manage=管理 org_labels_desc_manage=管理
milestones=里程碑 milestones=里程碑
@ -1221,7 +1203,7 @@ commit_graph.select=選擇分支
commit_graph.hide_pr_refs=隱藏合併請求 commit_graph.hide_pr_refs=隱藏合併請求
commit_graph.monochrome=單色 commit_graph.monochrome=單色
commit_graph.color=彩色 commit_graph.color=彩色
blame=責任歸屬 blame=Blame
download_file=下載檔案 download_file=下載檔案
normal_view=標準檢視 normal_view=標準檢視
line= line=
@ -1234,7 +1216,7 @@ editor.upload_file=上傳檔案
editor.edit_file=編輯檔案 editor.edit_file=編輯檔案
editor.preview_changes=預覽更改 editor.preview_changes=預覽更改
editor.cannot_edit_lfs_files=無法在 web 介面中編輯 LFS 檔。 editor.cannot_edit_lfs_files=無法在 web 介面中編輯 LFS 檔。
editor.cannot_edit_non_text_files=網站介面不能編輯二進位檔案 editor.cannot_edit_non_text_files=網站介面不能編輯二進位檔案
editor.edit_this_file=編輯檔案 editor.edit_this_file=編輯檔案
editor.this_file_locked=檔案已被鎖定 editor.this_file_locked=檔案已被鎖定
editor.must_be_on_a_branch=你必須在一個分支或提出對此檔的更改。 editor.must_be_on_a_branch=你必須在一個分支或提出對此檔的更改。
@ -1242,7 +1224,7 @@ editor.fork_before_edit=如果你想要對這個檔案進行或提出修改,
editor.delete_this_file=刪除檔案 editor.delete_this_file=刪除檔案
editor.must_have_write_access=您必須擁有寫入權限才能對此檔案進行修改或提出變更。 editor.must_have_write_access=您必須擁有寫入權限才能對此檔案進行修改或提出變更。
editor.file_delete_success=已刪除文件「%s」。 editor.file_delete_success=已刪除文件「%s」。
editor.name_your_file=命名您的檔案 editor.name_your_file=命名您的檔案...
editor.filename_help=輸入名稱和斜線("/" 以新增目錄。在文字框開始處輸入退格鍵以移除目錄。 editor.filename_help=輸入名稱和斜線("/" 以新增目錄。在文字框開始處輸入退格鍵以移除目錄。
editor.or= editor.or=
editor.cancel_lower=取消 editor.cancel_lower=取消
@ -1263,10 +1245,10 @@ editor.create_new_branch=為此提交建立<strong>新分支</strong>並提出
editor.create_new_branch_np=為本次提交建立<strong>新分支</strong>。 editor.create_new_branch_np=為本次提交建立<strong>新分支</strong>。
editor.propose_file_change=提出檔案變更 editor.propose_file_change=提出檔案變更
editor.new_branch_name=命名此提交的新分支 editor.new_branch_name=命名此提交的新分支
editor.new_branch_name_desc=新的分支名稱 editor.new_branch_name_desc=新的分支名稱...
editor.cancel=取消 editor.cancel=取消
editor.filename_cannot_be_empty=檔案名稱不能為空。 editor.filename_cannot_be_empty=檔案名稱不能為空。
editor.filename_is_invalid=檔名無效「%s」。 editor.filename_is_invalid=檔名無效:「%s」。
editor.branch_does_not_exist=此儲存庫沒有名為「%s」的分支。 editor.branch_does_not_exist=此儲存庫沒有名為「%s」的分支。
editor.branch_already_exists=此儲存庫已有名為「%s」的分支。 editor.branch_already_exists=此儲存庫已有名為「%s」的分支。
editor.file_changed_while_editing=檔案內容在您編輯的途中已被變更。<a target="_blank" rel="noopener noreferrer" href="%s">按一下此處</a>查看更動的地方或<strong>再次提交</strong>以覆蓋這些變更。 editor.file_changed_while_editing=檔案內容在您編輯的途中已被變更。<a target="_blank" rel="noopener noreferrer" href="%s">按一下此處</a>查看更動的地方或<strong>再次提交</strong>以覆蓋這些變更。
@ -1279,7 +1261,7 @@ editor.fail_to_update_file_summary=錯誤訊息:
editor.push_rejected_no_message=該變更被伺服器拒絕但未提供其他資訊。請檢查 Git Hook。 editor.push_rejected_no_message=該變更被伺服器拒絕但未提供其他資訊。請檢查 Git Hook。
editor.push_rejected=該變更被伺服器拒絕。請檢查 Git Hook。 editor.push_rejected=該變更被伺服器拒絕。請檢查 Git Hook。
editor.push_rejected_summary=完整的拒絕訊息: editor.push_rejected_summary=完整的拒絕訊息:
editor.add_subdir=加入目錄 editor.add_subdir=加入目錄
editor.unable_to_upload_files=上傳檔案到「%s」時失敗錯誤訊息: %v editor.unable_to_upload_files=上傳檔案到「%s」時失敗錯誤訊息: %v
editor.upload_file_is_locked=檔案「%s」已被 %s 鎖定。 editor.upload_file_is_locked=檔案「%s」已被 %s 鎖定。
editor.upload_files_to_dir=上傳檔案到「%s」 editor.upload_files_to_dir=上傳檔案到「%s」
@ -1407,7 +1389,7 @@ issues.label_templates.title=載入一組預定義的標籤
issues.label_templates.info=沒有任何標籤。點擊「新增標籤」按鈕或使用預定義的標籤集: issues.label_templates.info=沒有任何標籤。點擊「新增標籤」按鈕或使用預定義的標籤集:
issues.label_templates.helper=選擇一個標籤集 issues.label_templates.helper=選擇一個標籤集
issues.label_templates.use=使用標籤集 issues.label_templates.use=使用標籤集
issues.label_templates.fail_to_load_file=載入標籤範本檔「%s」失敗%v issues.label_templates.fail_to_load_file=載入標籤範本檔「%s」失敗: %v
issues.add_label=加入了 %s 標籤 %s issues.add_label=加入了 %s 標籤 %s
issues.add_labels=加入了 %s 標籤 %s issues.add_labels=加入了 %s 標籤 %s
issues.remove_label=移除了 %s 標籤 %s issues.remove_label=移除了 %s 標籤 %s
@ -1876,8 +1858,8 @@ activity.merged_prs_label=已合併
activity.opened_prs_label=提案 activity.opened_prs_label=提案
activity.active_issues_count_1=<strong>%d</strong> 個問題 activity.active_issues_count_1=<strong>%d</strong> 個問題
activity.active_issues_count_n=<strong>%d</strong> 個問題 activity.active_issues_count_n=<strong>%d</strong> 個問題
activity.closed_issues_count_1=關閉的問題 activity.closed_issues_count_1=關閉的問題
activity.closed_issues_count_n=關閉的問題 activity.closed_issues_count_n=關閉的問題
activity.title.issues_1=%d 個問題 activity.title.issues_1=%d 個問題
activity.title.issues_n=%d 個問題 activity.title.issues_n=%d 個問題
activity.title.issues_closed_from=%[2]s關閉了 %[1]s activity.title.issues_closed_from=%[2]s關閉了 %[1]s
@ -2011,7 +1993,7 @@ settings.convert_fork_desc=您可以將此 fork 轉換成普通儲存庫。此
settings.convert_fork_notices_1=此操作會將此 fork 轉換成普通儲存庫且不可還原。 settings.convert_fork_notices_1=此操作會將此 fork 轉換成普通儲存庫且不可還原。
settings.convert_fork_confirm=轉換儲存庫 settings.convert_fork_confirm=轉換儲存庫
settings.convert_fork_succeed=此 fork 已轉換成普通儲存庫。 settings.convert_fork_succeed=此 fork 已轉換成普通儲存庫。
settings.transfer.title=轉移儲存庫所有權 settings.transfer=轉移儲存庫所有權
settings.transfer.rejected=儲存庫轉移被拒絕。 settings.transfer.rejected=儲存庫轉移被拒絕。
settings.transfer.success=儲存庫已成功轉移。 settings.transfer.success=儲存庫已成功轉移。
settings.transfer_abort=取消轉移 settings.transfer_abort=取消轉移
@ -2158,11 +2140,11 @@ settings.active=啟用
settings.active_helper=觸發事件的資訊將會被送到此 Webhook URL。 settings.active_helper=觸發事件的資訊將會被送到此 Webhook URL。
settings.add_hook_success=Webhook 新增成功! settings.add_hook_success=Webhook 新增成功!
settings.update_webhook=更新 Webhook settings.update_webhook=更新 Webhook
settings.update_hook_success=已成功更新 Webhook 。 settings.update_hook_success=Webhook 更新成功!
settings.delete_webhook=移除 Webhook settings.delete_webhook=移除 Webhook
settings.recent_deliveries=最近傳送記錄 settings.recent_deliveries=最近傳送記錄
settings.hook_type=Hook 類型 settings.hook_type=Hook 類型
settings.slack_token=符記 settings.slack_token=Token
settings.slack_domain=域名 settings.slack_domain=域名
settings.slack_channel=頻道 settings.slack_channel=頻道
settings.add_web_hook_desc=整合 <a target="_blank" rel="noreferrer" href="%s">%s</a> 到您的儲存庫。 settings.add_web_hook_desc=整合 <a target="_blank" rel="noreferrer" href="%s">%s</a> 到您的儲存庫。
@ -2181,7 +2163,7 @@ settings.web_hook_name_larksuite_only =Lark Suite
settings.web_hook_name_wechatwork=WeCom (Wechat Work) settings.web_hook_name_wechatwork=WeCom (Wechat Work)
settings.web_hook_name_packagist=Packagist settings.web_hook_name_packagist=Packagist
settings.packagist_username=Packagist 帳號 settings.packagist_username=Packagist 帳號
settings.packagist_api_token=API 符記 settings.packagist_api_token=API token
settings.packagist_package_url=Packagist 套件 URL settings.packagist_package_url=Packagist 套件 URL
settings.deploy_keys=部署金鑰 settings.deploy_keys=部署金鑰
settings.add_deploy_key=新增部署金鑰 settings.add_deploy_key=新增部署金鑰
@ -2252,7 +2234,7 @@ settings.block_on_official_review_requests=有官方的審核請求時阻擋合
settings.block_on_official_review_requests_desc=如果有官方的審核請求時,即使有足夠的核可也不允許進行合併。 settings.block_on_official_review_requests_desc=如果有官方的審核請求時,即使有足夠的核可也不允許進行合併。
settings.block_outdated_branch=如果合併請求已經過時則阻擋合併 settings.block_outdated_branch=如果合併請求已經過時則阻擋合併
settings.block_outdated_branch_desc=當 head 分支落後於基礎分支時不得合併。 settings.block_outdated_branch_desc=當 head 分支落後於基礎分支時不得合併。
settings.default_branch_desc=請選擇用來提交程式碼和合併請求的預設分支 settings.default_branch_desc=請選擇用來提交程式碼和合併請求的預設分支
settings.merge_style_desc=合併方式 settings.merge_style_desc=合併方式
settings.default_merge_style_desc=預設合併方式 settings.default_merge_style_desc=預設合併方式
settings.choose_branch=選擇一個分支... settings.choose_branch=選擇一個分支...
@ -2270,7 +2252,7 @@ settings.tags.protection.allowed.teams=允許的團隊
settings.tags.protection.allowed.noone= settings.tags.protection.allowed.noone=
settings.tags.protection.create=保護標籤 settings.tags.protection.create=保護標籤
settings.tags.protection.none=沒有受保護的標籤。 settings.tags.protection.none=沒有受保護的標籤。
settings.bot_token=Bot 符記 settings.bot_token=Bot Token
settings.chat_id=Chat ID settings.chat_id=Chat ID
settings.matrix.homeserver_url=Homeserver 網址 settings.matrix.homeserver_url=Homeserver 網址
settings.matrix.room_id=聊天室 ID settings.matrix.room_id=聊天室 ID
@ -2293,7 +2275,7 @@ settings.lfs_delete=刪除 OID 為 %s 的 LFS 檔案
settings.lfs_delete_warning=刪除 LFS 檔案可能會造成 Checkout 時發生「物件不存在」的錯誤,您確定嗎? settings.lfs_delete_warning=刪除 LFS 檔案可能會造成 Checkout 時發生「物件不存在」的錯誤,您確定嗎?
settings.lfs_findpointerfiles=尋找指標檔案 settings.lfs_findpointerfiles=尋找指標檔案
settings.lfs_locks=鎖定 settings.lfs_locks=鎖定
settings.lfs_invalid_locking_path=無效的路徑 %s settings.lfs_invalid_locking_path=無效的路徑: %s
settings.lfs_invalid_lock_directory=無法鎖定目錄: %s settings.lfs_invalid_lock_directory=無法鎖定目錄: %s
settings.lfs_lock_already_exists=鎖定已存在:%s settings.lfs_lock_already_exists=鎖定已存在:%s
settings.lfs_lock=鎖定 settings.lfs_lock=鎖定
@ -2490,7 +2472,7 @@ desc.sha256 = SHA256
form.name_pattern_not_allowed = 您無法在儲存庫的名字中使用「%s」格式。 form.name_pattern_not_allowed = 您無法在儲存庫的名字中使用「%s」格式。
admin.manage_flags = 管理旗標 admin.manage_flags = 管理旗標
visibility_helper = 將儲存庫設為私有 visibility_helper = 將儲存庫設為私有
mirror_address_url_invalid = URL 無效。您必須正確的跳脫escape該 URL 的每個部份 mirror_address_url_invalid = URL 無效。您必須將整個 URL 正確轉義escape
migrate.migrating_failed.error = 遷移失敗:%s migrate.migrating_failed.error = 遷移失敗:%s
migrate.cancel_migrating_confirm = 您確定要取消這次的遷移嗎? migrate.cancel_migrating_confirm = 您確定要取消這次的遷移嗎?
invisible_runes_header = `此檔案內含不可見的 Unicode 字元` invisible_runes_header = `此檔案內含不可見的 Unicode 字元`
@ -2502,7 +2484,6 @@ ambiguous_runes_description = `這個檔案內含容易造成混淆的 Unicode
commit.contained_in = 這個提交存在於: commit.contained_in = 這個提交存在於:
settings.archive.mirrors_unavailable = 不能鏡像已封存的儲存庫。 settings.archive.mirrors_unavailable = 不能鏡像已封存的儲存庫。
settings.mirror_settings.push_mirror.edit_sync_time = 編輯鏡像同步週期 settings.mirror_settings.push_mirror.edit_sync_time = 編輯鏡像同步週期
settings.update_protect_branch_success = 已成功更新分支保護規則「%s」。
[graphs] [graphs]
@ -2881,7 +2862,7 @@ auths.oauth2_clientID=客戶端 ID (金鑰)
auths.oauth2_clientSecret=客戶端密鑰 auths.oauth2_clientSecret=客戶端密鑰
auths.openIdConnectAutoDiscoveryURL=OpenID 連接自動探索 URL auths.openIdConnectAutoDiscoveryURL=OpenID 連接自動探索 URL
auths.oauth2_use_custom_url=使用自訂 URL 而不是預設 URL auths.oauth2_use_custom_url=使用自訂 URL 而不是預設 URL
auths.oauth2_tokenURL=符記 URL auths.oauth2_tokenURL=Token URL
auths.oauth2_authURL=授權 URL auths.oauth2_authURL=授權 URL
auths.oauth2_profileURL=個人資料 URL auths.oauth2_profileURL=個人資料 URL
auths.oauth2_emailURL=電子郵件 URL auths.oauth2_emailURL=電子郵件 URL
@ -2937,12 +2918,12 @@ auths.deletion_success=已刪除認證來源。
auths.login_source_exist=認證來源「%s」已經存在。 auths.login_source_exist=認證來源「%s」已經存在。
auths.login_source_of_type_exist=已經有相同類型的認證來源。 auths.login_source_of_type_exist=已經有相同類型的認證來源。
auths.unable_to_initialize_openid=無法初始化 OpenID 連接提供者: %s auths.unable_to_initialize_openid=無法初始化 OpenID 連接提供者: %s
auths.invalid_openIdConnectAutoDiscoveryURL=自動探索 URL 無效(它必須是以 http:// 或 https:// 開頭的有效 URL auths.invalid_openIdConnectAutoDiscoveryURL=自動探索 URL 無效 (它必須是以 http:// 或 https:// 開頭的有效 URL)
config.server_config=伺服器設定 config.server_config=伺服器設定
config.app_name=網站標題 config.app_name=網站標題
config.app_ver=Forgejo 版本 config.app_ver=Forgejo 版本
config.app_url=Forgejo 基 URL config.app_url=Forgejo 基 URL
config.custom_conf=設定檔路徑 config.custom_conf=設定檔路徑
config.custom_file_root_path=自訂檔案根目錄 config.custom_file_root_path=自訂檔案根目錄
config.domain=伺服器域名 config.domain=伺服器域名
@ -3145,7 +3126,7 @@ identity_access = 身分和存取權限
[action] [action]
create_repo=建立了儲存庫 <a href="%s">%s</a> create_repo=建立了儲存庫 <a href="%s">%s</a>
rename_repo=重新命名儲存庫 <code>%[1]s</code> 為 <a href="%[2]s">%[3]s</a> rename_repo=重新命名儲存庫 <code>%[1]s</code> 為 <a href="%[2]s">%[3]s</a>
commit_repo=推送到了 <a href="%[1]s">%[4]s</a> 儲存庫的 <a href="%[2]s">%[3]s</a> 分支 commit_repo=推送了 <a href="%[2]s">%[3]s</a> 到 <a href="%[1]s">%[4]s</a>
create_issue=`建立了問題 <a href="%[1]s">%[3]s#%[2]s</a>` create_issue=`建立了問題 <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`關閉了問題 <a href="%[1]s">%[3]s#%[2]s</a>` close_issue=`關閉了問題 <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_issue=`重新開放了問題 <a href="%[1]s">%[3]s#%[2]s</a>` reopen_issue=`重新開放了問題 <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3433,11 +3414,11 @@ runners.status.idle=閒置
runners.status.active=啟用 runners.status.active=啟用
runners.status.offline=離線 runners.status.offline=離線
runners.version=版本 runners.version=版本
runners.reset_registration_token_success=成功重設了 Runner 註冊符記 runners.reset_registration_token_success=成功重設了 Runner 註冊 Token
runs.all_workflows=所有工作流程 runs.all_workflows=所有工作流程
runs.commit=提交 runs.commit=提交
runs.invalid_workflow_helper=工作流程設定檔無效。請檢查您的設定檔%s runs.invalid_workflow_helper=工作流程設定檔無效。請檢查您的設定檔: %s
runs.status=狀態 runs.status=狀態
runs.no_runs=工作流程沒有執行過。 runs.no_runs=工作流程沒有執行過。
@ -3446,7 +3427,7 @@ workflow.disable_success=已成功停用工作流程「%s」。
workflow.enable=啟用工作流程 workflow.enable=啟用工作流程
workflow.enable_success=已成功啟用工作流程「%s」。 workflow.enable_success=已成功啟用工作流程「%s」。
need_approval_desc=來自 Fork 儲存庫的合併請求需要核可才能執行工作流程。 need_approval_desc=來自 Frok 儲存庫的合併請求需要核可才能執行工作流程。
variables.edit = 編輯變數 variables.edit = 編輯變數
variables = 變數 variables = 變數
variables.management = 變數管理 variables.management = 變數管理
@ -3489,7 +3470,7 @@ executable_file = 可執行檔
[search] [search]
package_kind = 搜尋軟體包 package_kind = 搜尋套件
search = 搜尋… search = 搜尋…
type_tooltip = 搜尋類型 type_tooltip = 搜尋類型
match_tooltip = 僅包含與搜尋字詞完全相符的結果 match_tooltip = 僅包含與搜尋字詞完全相符的結果
@ -3500,12 +3481,12 @@ match = 相符
user_kind = 搜尋使用者… user_kind = 搜尋使用者…
org_kind = 搜尋組織… org_kind = 搜尋組織…
team_kind = 搜尋團隊… team_kind = 搜尋團隊…
code_kind = 搜尋程式碼 code_kind = 搜尋程式碼
code_search_unavailable = 目前無法使用程式碼搜尋。請連絡網站管理員。 code_search_unavailable = 程式碼搜尋目前無法使用。請連絡網站管理員。
no_results = 沒有找到相符的結果。 no_results = 沒有找到相符的結果。
keyword_search_unavailable = 關鍵字搜尋目前無法使用。請連絡網站管理員。 keyword_search_unavailable = 關鍵字搜尋目前無法使用。請連絡網站管理員。
runner_kind = 搜尋 Runners … runner_kind = 搜尋 Runners …
project_kind = 搜尋專案… project_kind = 搜尋專案…
branch_kind = 搜尋分支… branch_kind = 搜尋分支…
commit_kind = 搜尋提交… commit_kind = 搜尋提交…
code_search_by_git_grep = 目前搜尋結果由「git grep」提供。如果網站管理員啟程式碼索引,可能會有更好的結果。 code_search_by_git_grep = 目前搜尋結果由「git grep」提供。如果網站管理員啟程式碼索引,可能會有更好的結果。

8
package-lock.json generated
View file

@ -34,7 +34,7 @@
"jquery": "3.7.1", "jquery": "3.7.1",
"katex": "0.16.10", "katex": "0.16.10",
"license-checker-webpack-plugin": "0.2.1", "license-checker-webpack-plugin": "0.2.1",
"mermaid": "10.9.1", "mermaid": "10.9.0",
"mini-css-extract-plugin": "2.8.1", "mini-css-extract-plugin": "2.8.1",
"minimatch": "9.0.3", "minimatch": "9.0.3",
"monaco-editor": "0.47.0", "monaco-editor": "0.47.0",
@ -8232,9 +8232,9 @@
} }
}, },
"node_modules/mermaid": { "node_modules/mermaid": {
"version": "10.9.1", "version": "10.9.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.1.tgz", "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.0.tgz",
"integrity": "sha512-Mx45Obds5W1UkW1nv/7dHRsbfMM1aOKA2+Pxs/IGHNonygDHwmng8xTHyS9z4KWVi0rbko8gjiBmuwwXQ7tiNA==", "integrity": "sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g==",
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "^6.0.1", "@braintree/sanitize-url": "^6.0.1",
"@types/d3-scale": "^4.0.3", "@types/d3-scale": "^4.0.3",

View file

@ -33,7 +33,7 @@
"jquery": "3.7.1", "jquery": "3.7.1",
"katex": "0.16.10", "katex": "0.16.10",
"license-checker-webpack-plugin": "0.2.1", "license-checker-webpack-plugin": "0.2.1",
"mermaid": "10.9.1", "mermaid": "10.9.0",
"mini-css-extract-plugin": "2.8.1", "mini-css-extract-plugin": "2.8.1",
"minimatch": "9.0.3", "minimatch": "9.0.3",
"monaco-editor": "0.47.0", "monaco-editor": "0.47.0",

View file

@ -1 +0,0 @@
- [PR](https://codeberg.org/forgejo/forgejo/pulls/3857): Gitea v1.22 is [not published yet](https://github.com/go-gitea/gitea/issues/30731) as of 21 May 2024 and in reality Forgejo v7.0.3 is compatible with Gitea v1.21.11. The Gitea v1.22 release was anticipated to happen shortly after [Forgejo v7.0 was published on 23 April 2024](https://forgejo.org/2024-04-release-v7-0/) because it was already in the late stages of its release candidate lifecycle. However, around 27 April, [the Gitea release candidates were dropped](https://github.com/go-gitea/gitea/issues/30731) and the release candidates restarted from the Gitea development branch.

View file

@ -1 +0,0 @@
Fix gogs migration if gogs is hosted at a subpath

View file

@ -1 +0,0 @@
Fix text selection color

View file

@ -1 +0,0 @@
CVE-2024-24788: a malformed DNS message in response to a query can cause the Lookup functions to get stuck in an infinite loop.

View file

@ -1 +0,0 @@
Fix project name wrapping

View file

@ -1 +0,0 @@
Fixed an issue that resulted in repository activity feeds (including RSS and Atom feeds) containing repeated activities.

View file

@ -1 +0,0 @@
Fixed an issue that rendered the "Allow edits from maintainers" checkbox disfunctional, preventing people from turning it on.

View file

@ -1 +0,0 @@
- mail notifications of pull requests push are empty

View file

@ -1 +0,0 @@
- Fixed a bug that resulted in workflow badges not working for workflows that weren't running on push (such as scheduled workflows, and ones that run on tags and for prs)

View file

@ -143,7 +143,9 @@ func serveMavenMetadata(ctx *context.Context, params parameters) {
ctx.Resp.Header().Set("Content-Length", strconv.Itoa(len(xmlMetadataWithHeader))) ctx.Resp.Header().Set("Content-Length", strconv.Itoa(len(xmlMetadataWithHeader)))
ctx.Resp.Header().Set("Content-Type", contentTypeXML) ctx.Resp.Header().Set("Content-Type", contentTypeXML)
_, _ = ctx.Resp.Write(xmlMetadataWithHeader) if _, err := ctx.Resp.Write(xmlMetadataWithHeader); err != nil {
log.Error("write bytes failed: %v", err)
}
} }
func servePackageFile(ctx *context.Context, params parameters, serveContent bool) { func servePackageFile(ctx *context.Context, params parameters, serveContent bool) {

View file

@ -29,6 +29,7 @@ import (
"code.gitea.io/gitea/services/context" "code.gitea.io/gitea/services/context"
"code.gitea.io/gitea/services/convert" "code.gitea.io/gitea/services/convert"
issue_service "code.gitea.io/gitea/services/issue" issue_service "code.gitea.io/gitea/services/issue"
notify_service "code.gitea.io/gitea/services/notify"
) )
// SearchIssues searches for issues across the repositories that the user has access to // SearchIssues searches for issues across the repositories that the user has access to
@ -809,19 +810,12 @@ func EditIssue(ctx *context.APIContext) {
return return
} }
oldTitle := issue.Title
if len(form.Title) > 0 { if len(form.Title) > 0 {
err = issue_service.ChangeTitle(ctx, issue, ctx.Doer, form.Title) issue.Title = form.Title
if err != nil {
ctx.Error(http.StatusInternalServerError, "ChangeTitle", err)
return
}
} }
if form.Body != nil { if form.Body != nil {
err = issue_service.ChangeContent(ctx, issue, ctx.Doer, *form.Body) issue.Content = *form.Body
if err != nil {
ctx.Error(http.StatusInternalServerError, "ChangeContent", err)
return
}
} }
if form.Ref != nil { if form.Ref != nil {
err = issue_service.ChangeIssueRef(ctx, issue, ctx.Doer, *form.Ref) err = issue_service.ChangeIssueRef(ctx, issue, ctx.Doer, *form.Ref)
@ -889,14 +883,24 @@ func EditIssue(ctx *context.APIContext) {
return return
} }
} }
if err := issue_service.ChangeStatus(ctx, issue, ctx.Doer, "", api.StateClosed == api.StateType(*form.State)); err != nil { issue.IsClosed = api.StateClosed == api.StateType(*form.State)
if issues_model.IsErrDependenciesLeft(err) { }
ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this issue because it still has open dependencies") statusChangeComment, titleChanged, err := issues_model.UpdateIssueByAPI(ctx, issue, ctx.Doer)
return if err != nil {
} if issues_model.IsErrDependenciesLeft(err) {
ctx.Error(http.StatusInternalServerError, "ChangeStatus", err) ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this issue because it still has open dependencies")
return return
} }
ctx.Error(http.StatusInternalServerError, "UpdateIssueByAPI", err)
return
}
if titleChanged {
notify_service.IssueChangeTitle(ctx, ctx.Doer, issue, oldTitle)
}
if statusChangeComment != nil {
notify_service.IssueChangeStatus(ctx, ctx.Doer, "", issue, statusChangeComment, issue.IsClosed)
} }
// Refetch from database to assign some automatic values // Refetch from database to assign some automatic values

View file

@ -15,7 +15,6 @@ import (
"code.gitea.io/gitea/modules/web" "code.gitea.io/gitea/modules/web"
"code.gitea.io/gitea/services/attachment" "code.gitea.io/gitea/services/attachment"
"code.gitea.io/gitea/services/context" "code.gitea.io/gitea/services/context"
"code.gitea.io/gitea/services/context/upload"
"code.gitea.io/gitea/services/convert" "code.gitea.io/gitea/services/convert"
issue_service "code.gitea.io/gitea/services/issue" issue_service "code.gitea.io/gitea/services/issue"
) )
@ -160,8 +159,6 @@ func CreateIssueAttachment(ctx *context.APIContext) {
// "$ref": "#/responses/error" // "$ref": "#/responses/error"
// "404": // "404":
// "$ref": "#/responses/error" // "$ref": "#/responses/error"
// "422":
// "$ref": "#/responses/validationError"
// "423": // "423":
// "$ref": "#/responses/repoArchivedError" // "$ref": "#/responses/repoArchivedError"
@ -210,11 +207,7 @@ func CreateIssueAttachment(ctx *context.APIContext) {
CreatedUnix: issue.UpdatedUnix, CreatedUnix: issue.UpdatedUnix,
}) })
if err != nil { if err != nil {
if upload.IsErrFileTypeForbidden(err) { ctx.Error(http.StatusInternalServerError, "UploadAttachment", err)
ctx.Error(http.StatusUnprocessableEntity, "", err)
} else {
ctx.Error(http.StatusInternalServerError, "UploadAttachment", err)
}
return return
} }

View file

@ -15,7 +15,6 @@ import (
"code.gitea.io/gitea/modules/web" "code.gitea.io/gitea/modules/web"
"code.gitea.io/gitea/services/attachment" "code.gitea.io/gitea/services/attachment"
"code.gitea.io/gitea/services/context" "code.gitea.io/gitea/services/context"
"code.gitea.io/gitea/services/context/upload"
"code.gitea.io/gitea/services/convert" "code.gitea.io/gitea/services/convert"
issue_service "code.gitea.io/gitea/services/issue" issue_service "code.gitea.io/gitea/services/issue"
) )
@ -157,8 +156,6 @@ func CreateIssueCommentAttachment(ctx *context.APIContext) {
// "$ref": "#/responses/error" // "$ref": "#/responses/error"
// "404": // "404":
// "$ref": "#/responses/error" // "$ref": "#/responses/error"
// "422":
// "$ref": "#/responses/validationError"
// "423": // "423":
// "$ref": "#/responses/repoArchivedError" // "$ref": "#/responses/repoArchivedError"
@ -212,14 +209,9 @@ func CreateIssueCommentAttachment(ctx *context.APIContext) {
CreatedUnix: comment.Issue.UpdatedUnix, CreatedUnix: comment.Issue.UpdatedUnix,
}) })
if err != nil { if err != nil {
if upload.IsErrFileTypeForbidden(err) { ctx.Error(http.StatusInternalServerError, "UploadAttachment", err)
ctx.Error(http.StatusUnprocessableEntity, "", err)
} else {
ctx.Error(http.StatusInternalServerError, "UploadAttachment", err)
}
return return
} }
if err := comment.LoadAttachments(ctx); err != nil { if err := comment.LoadAttachments(ctx); err != nil {
ctx.Error(http.StatusInternalServerError, "LoadAttachments", err) ctx.Error(http.StatusInternalServerError, "LoadAttachments", err)
return return

View file

@ -601,19 +601,12 @@ func EditPullRequest(ctx *context.APIContext) {
return return
} }
oldTitle := issue.Title
if len(form.Title) > 0 { if len(form.Title) > 0 {
err = issue_service.ChangeTitle(ctx, issue, ctx.Doer, form.Title) issue.Title = form.Title
if err != nil {
ctx.Error(http.StatusInternalServerError, "ChangeTitle", err)
return
}
} }
if form.Body != nil { if len(form.Body) > 0 {
err = issue_service.ChangeContent(ctx, issue, ctx.Doer, *form.Body) issue.Content = form.Body
if err != nil {
ctx.Error(http.StatusInternalServerError, "ChangeContent", err)
return
}
} }
// Update or remove deadline if set // Update or remove deadline if set
@ -690,14 +683,24 @@ func EditPullRequest(ctx *context.APIContext) {
ctx.Error(http.StatusPreconditionFailed, "MergedPRState", "cannot change state of this pull request, it was already merged") ctx.Error(http.StatusPreconditionFailed, "MergedPRState", "cannot change state of this pull request, it was already merged")
return return
} }
if err := issue_service.ChangeStatus(ctx, issue, ctx.Doer, "", api.StateClosed == api.StateType(*form.State)); err != nil { issue.IsClosed = api.StateClosed == api.StateType(*form.State)
if issues_model.IsErrDependenciesLeft(err) { }
ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this pull request because it still has open dependencies") statusChangeComment, titleChanged, err := issues_model.UpdateIssueByAPI(ctx, issue, ctx.Doer)
return if err != nil {
} if issues_model.IsErrDependenciesLeft(err) {
ctx.Error(http.StatusInternalServerError, "ChangeStatus", err) ctx.Error(http.StatusPreconditionFailed, "DependenciesLeft", "cannot close this pull request because it still has open dependencies")
return return
} }
ctx.Error(http.StatusInternalServerError, "UpdateIssueByAPI", err)
return
}
if titleChanged {
notify_service.IssueChangeTitle(ctx, ctx.Doer, issue, oldTitle)
}
if statusChangeComment != nil {
notify_service.IssueChangeStatus(ctx, ctx.Doer, "", issue, statusChangeComment, issue.IsClosed)
} }
// change pull target branch // change pull target branch

View file

@ -1290,12 +1290,11 @@ func ListRepoActivityFeeds(ctx *context.APIContext) {
listOptions := utils.GetListOptions(ctx) listOptions := utils.GetListOptions(ctx)
opts := activities_model.GetFeedsOptions{ opts := activities_model.GetFeedsOptions{
RequestedRepo: ctx.Repo.Repository, RequestedRepo: ctx.Repo.Repository,
OnlyPerformedByActor: true, Actor: ctx.Doer,
Actor: ctx.Doer, IncludePrivate: true,
IncludePrivate: true, Date: ctx.FormString("date"),
Date: ctx.FormString("date"), ListOptions: listOptions,
ListOptions: listOptions,
} }
feeds, count, err := activities_model.GetFeeds(ctx, opts) feeds, count, err := activities_model.GetFeeds(ctx, opts)

View file

@ -6,8 +6,10 @@ package user
import ( import (
"net/http" "net/http"
"code.gitea.io/gitea/models/perm"
access_model "code.gitea.io/gitea/models/perm/access" access_model "code.gitea.io/gitea/models/perm/access"
repo_model "code.gitea.io/gitea/models/repo" repo_model "code.gitea.io/gitea/models/repo"
unit_model "code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user" user_model "code.gitea.io/gitea/models/user"
api "code.gitea.io/gitea/modules/structs" api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/routers/api/v1/utils" "code.gitea.io/gitea/routers/api/v1/utils"
@ -42,7 +44,7 @@ func listUserRepos(ctx *context.APIContext, u *user_model.User, private bool) {
ctx.Error(http.StatusInternalServerError, "GetUserRepoPermission", err) ctx.Error(http.StatusInternalServerError, "GetUserRepoPermission", err)
return return
} }
if ctx.IsSigned && ctx.Doer.IsAdmin || permission.HasAccess() { if ctx.IsSigned && ctx.Doer.IsAdmin || permission.UnitAccessMode(unit_model.TypeCode) >= perm.AccessModeRead {
apiRepos = append(apiRepos, convert.ToRepo(ctx, repos[i], permission)) apiRepos = append(apiRepos, convert.ToRepo(ctx, repos[i], permission))
} }
} }

View file

@ -4,26 +4,20 @@
package private package private
import ( import (
"context"
"fmt" "fmt"
"net/http" "net/http"
"strconv" "strconv"
"time" "time"
"code.gitea.io/gitea/models/db"
git_model "code.gitea.io/gitea/models/git" git_model "code.gitea.io/gitea/models/git"
issues_model "code.gitea.io/gitea/models/issues" issues_model "code.gitea.io/gitea/models/issues"
pull_model "code.gitea.io/gitea/models/pull"
repo_model "code.gitea.io/gitea/models/repo" repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/cache"
"code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/gitrepo" "code.gitea.io/gitea/modules/gitrepo"
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/private" "code.gitea.io/gitea/modules/private"
repo_module "code.gitea.io/gitea/modules/repository" repo_module "code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
timeutil "code.gitea.io/gitea/modules/timeutil"
"code.gitea.io/gitea/modules/util" "code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web" "code.gitea.io/gitea/modules/web"
gitea_context "code.gitea.io/gitea/services/context" gitea_context "code.gitea.io/gitea/services/context"
@ -163,14 +157,6 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
} }
} }
// handle pull request merging, a pull request action should push at least 1 commit
if opts.PushTrigger == repo_module.PushTriggerPRMergeToBase {
handlePullRequestMerging(ctx, opts, ownerName, repoName, updates)
if ctx.Written() {
return
}
}
// Handle Push Options // Handle Push Options
if len(opts.GitPushOptions) > 0 { if len(opts.GitPushOptions) > 0 {
// load the repository // load the repository
@ -241,7 +227,7 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
} }
// If we've pushed a branch (and not deleted it) // If we've pushed a branch (and not deleted it)
if !git.IsEmptyCommitID(newCommitID, nil) && refFullName.IsBranch() { if !git.IsEmptyCommitID(newCommitID) && refFullName.IsBranch() {
// First ensure we have the repository loaded, we're allowed pulls requests and we can get the base repo // First ensure we have the repository loaded, we're allowed pulls requests and we can get the base repo
if repo == nil { if repo == nil {
repo = loadRepository(ctx, ownerName, repoName) repo = loadRepository(ctx, ownerName, repoName)
@ -318,52 +304,3 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
RepoWasEmpty: wasEmpty, RepoWasEmpty: wasEmpty,
}) })
} }
func loadContextCacheUser(ctx context.Context, id int64) (*user_model.User, error) {
return cache.GetWithContextCache(ctx, "hook_post_receive_user", id, func() (*user_model.User, error) {
return user_model.GetUserByID(ctx, id)
})
}
// handlePullRequestMerging handle pull request merging, a pull request action should push at least 1 commit
func handlePullRequestMerging(ctx *gitea_context.PrivateContext, opts *private.HookOptions, ownerName, repoName string, updates []*repo_module.PushUpdateOptions) {
if len(updates) == 0 {
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{
Err: fmt.Sprintf("Pushing a merged PR (pr:%d) no commits pushed ", opts.PullRequestID),
})
return
}
pr, err := issues_model.GetPullRequestByID(ctx, opts.PullRequestID)
if err != nil {
log.Error("GetPullRequestByID[%d]: %v", opts.PullRequestID, err)
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{Err: "GetPullRequestByID failed"})
return
}
pusher, err := loadContextCacheUser(ctx, opts.UserID)
if err != nil {
log.Error("Failed to Update: %s/%s Error: %v", ownerName, repoName, err)
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{Err: "Load pusher user failed"})
return
}
pr.MergedCommitID = updates[len(updates)-1].NewCommitID
pr.MergedUnix = timeutil.TimeStampNow()
pr.Merger = pusher
pr.MergerID = pusher.ID
err = db.WithTx(ctx, func(ctx context.Context) error {
// Removing an auto merge pull and ignore if not exist
if err := pull_model.DeleteScheduledAutoMerge(ctx, pr.ID); err != nil && !db.IsErrNotExist(err) {
return fmt.Errorf("DeleteScheduledAutoMerge[%d]: %v", opts.PullRequestID, err)
}
if _, err := pr.SetMerged(ctx); err != nil {
return fmt.Errorf("SetMerged failed: %s/%s Error: %v", ownerName, repoName, err)
}
return nil
})
if err != nil {
log.Error("Failed to update PR to merged: %v", err)
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{Err: "Failed to update PR to merged"})
}
}

View file

@ -1,49 +0,0 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package private
import (
"testing"
"code.gitea.io/gitea/models/db"
issues_model "code.gitea.io/gitea/models/issues"
pull_model "code.gitea.io/gitea/models/pull"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/private"
repo_module "code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/services/contexttest"
"github.com/stretchr/testify/assert"
)
func TestHandlePullRequestMerging(t *testing.T) {
assert.NoError(t, unittest.PrepareTestDatabase())
pr, err := issues_model.GetUnmergedPullRequest(db.DefaultContext, 1, 1, "branch2", "master", issues_model.PullRequestFlowGithub)
assert.NoError(t, err)
assert.NoError(t, pr.LoadBaseRepo(db.DefaultContext))
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
err = pull_model.ScheduleAutoMerge(db.DefaultContext, user1, pr.ID, repo_model.MergeStyleSquash, "squash merge a pr")
assert.NoError(t, err)
autoMerge := unittest.AssertExistsAndLoadBean(t, &pull_model.AutoMerge{PullID: pr.ID})
ctx, resp := contexttest.MockPrivateContext(t, "/")
handlePullRequestMerging(ctx, &private.HookOptions{
PullRequestID: pr.ID,
UserID: 2,
}, pr.BaseRepo.OwnerName, pr.BaseRepo.Name, []*repo_module.PushUpdateOptions{
{NewCommitID: "01234567"},
})
assert.Equal(t, 0, len(resp.Body.String()))
pr, err = issues_model.GetPullRequestByID(db.DefaultContext, pr.ID)
assert.NoError(t, err)
assert.True(t, pr.HasMerged)
assert.EqualValues(t, "01234567", pr.MergedCommitID)
unittest.AssertNotExistsBean(t, &pull_model.AutoMerge{ID: autoMerge.ID})
}

View file

@ -71,9 +71,9 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) {
case "leastupdate": case "leastupdate":
orderBy = db.SearchOrderByLeastUpdated orderBy = db.SearchOrderByLeastUpdated
case "reversealphabetically": case "reversealphabetically":
orderBy = "owner_name DESC, name DESC" orderBy = db.SearchOrderByAlphabeticallyReverse
case "alphabetically": case "alphabetically":
orderBy = "owner_name ASC, name ASC" orderBy = db.SearchOrderByAlphabetically
case "reversesize": case "reversesize":
orderBy = db.SearchOrderBySizeReverse orderBy = db.SearchOrderBySizeReverse
case "size": case "size":

View file

@ -16,11 +16,10 @@ import (
// ShowRepoFeed shows user activity on the repo as RSS / Atom feed // ShowRepoFeed shows user activity on the repo as RSS / Atom feed
func ShowRepoFeed(ctx *context.Context, repo *repo_model.Repository, formatType string) { func ShowRepoFeed(ctx *context.Context, repo *repo_model.Repository, formatType string) {
actions, _, err := activities_model.GetFeeds(ctx, activities_model.GetFeedsOptions{ actions, _, err := activities_model.GetFeeds(ctx, activities_model.GetFeedsOptions{
OnlyPerformedByActor: true, RequestedRepo: repo,
RequestedRepo: repo, Actor: ctx.Doer,
Actor: ctx.Doer, IncludePrivate: true,
IncludePrivate: true, Date: ctx.FormString("date"),
Date: ctx.FormString("date"),
}) })
if err != nil { if err != nil {
ctx.ServerError("GetFeeds", err) ctx.ServerError("GetFeeds", err)

View file

@ -7,6 +7,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"net/http" "net/http"
"strconv"
"strings" "strings"
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
@ -389,6 +390,74 @@ func ViewProject(ctx *context.Context) {
ctx.HTML(http.StatusOK, tplProjectsView) ctx.HTML(http.StatusOK, tplProjectsView)
} }
func getActionIssues(ctx *context.Context) issues_model.IssueList {
commaSeparatedIssueIDs := ctx.FormString("issue_ids")
if len(commaSeparatedIssueIDs) == 0 {
return nil
}
issueIDs := make([]int64, 0, 10)
for _, stringIssueID := range strings.Split(commaSeparatedIssueIDs, ",") {
issueID, err := strconv.ParseInt(stringIssueID, 10, 64)
if err != nil {
ctx.ServerError("ParseInt", err)
return nil
}
issueIDs = append(issueIDs, issueID)
}
issues, err := issues_model.GetIssuesByIDs(ctx, issueIDs)
if err != nil {
ctx.ServerError("GetIssuesByIDs", err)
return nil
}
// Check access rights for all issues
issueUnitEnabled := ctx.Repo.CanRead(unit.TypeIssues)
prUnitEnabled := ctx.Repo.CanRead(unit.TypePullRequests)
for _, issue := range issues {
if issue.RepoID != ctx.Repo.Repository.ID {
ctx.NotFound("some issue's RepoID is incorrect", errors.New("some issue's RepoID is incorrect"))
return nil
}
if issue.IsPull && !prUnitEnabled || !issue.IsPull && !issueUnitEnabled {
ctx.NotFound("IssueOrPullRequestUnitNotAllowed", nil)
return nil
}
if err = issue.LoadAttributes(ctx); err != nil {
ctx.ServerError("LoadAttributes", err)
return nil
}
}
return issues
}
// UpdateIssueProject change an issue's project
func UpdateIssueProject(ctx *context.Context) {
issues := getActionIssues(ctx)
if ctx.Written() {
return
}
if err := issues.LoadProjects(ctx); err != nil {
ctx.ServerError("LoadProjects", err)
return
}
projectID := ctx.FormInt64("id")
for _, issue := range issues {
if issue.Project != nil {
if issue.Project.ID == projectID {
continue
}
}
if err := issues_model.ChangeProjectAssign(ctx, issue, ctx.Doer, projectID); err != nil {
ctx.ServerError("ChangeProjectAssign", err)
return
}
}
ctx.JSONOK()
}
// DeleteProjectBoard allows for the deletion of a project board // DeleteProjectBoard allows for the deletion of a project board
func DeleteProjectBoard(ctx *context.Context) { func DeleteProjectBoard(ctx *context.Context) {
if ctx.Doer == nil { if ctx.Doer == nil {

View file

@ -45,9 +45,10 @@ func errorBadge(ctx *context_module.Context, label, text string) {
func GetWorkflowBadge(ctx *context_module.Context) { func GetWorkflowBadge(ctx *context_module.Context) {
branch := ctx.Req.URL.Query().Get("branch") branch := ctx.Req.URL.Query().Get("branch")
if branch != "" { if branch == "" {
branch = fmt.Sprintf("refs/heads/%s", branch) branch = ctx.Repo.Repository.DefaultBranch
} }
branch = fmt.Sprintf("refs/heads/%s", branch)
event := ctx.Req.URL.Query().Get("event") event := ctx.Req.URL.Query().Get("event")
workflowFile := ctx.Params("workflow_name") workflowFile := ctx.Params("workflow_name")

View file

@ -1267,8 +1267,8 @@ func NewIssuePost(ctx *context.Context) {
ctx.Error(http.StatusBadRequest, "user hasn't permissions to read projects") ctx.Error(http.StatusBadRequest, "user hasn't permissions to read projects")
return return
} }
if err := issues_model.IssueAssignOrRemoveProject(ctx, issue, ctx.Doer, projectID, 0); err != nil { if err := issues_model.ChangeProjectAssign(ctx, issue, ctx.Doer, projectID); err != nil {
ctx.ServerError("IssueAssignOrRemoveProject", err) ctx.ServerError("ChangeProjectAssign", err)
return return
} }
} }

View file

@ -21,7 +21,6 @@ import (
"code.gitea.io/gitea/modules/markup/markdown" "code.gitea.io/gitea/modules/markup/markdown"
"code.gitea.io/gitea/modules/optional" "code.gitea.io/gitea/modules/optional"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web" "code.gitea.io/gitea/modules/web"
"code.gitea.io/gitea/services/context" "code.gitea.io/gitea/services/context"
"code.gitea.io/gitea/services/forms" "code.gitea.io/gitea/services/forms"
@ -383,21 +382,17 @@ func UpdateIssueProject(ctx *context.Context) {
ctx.ServerError("LoadProjects", err) ctx.ServerError("LoadProjects", err)
return return
} }
if _, err := issues.LoadRepositories(ctx); err != nil {
ctx.ServerError("LoadProjects", err)
return
}
projectID := ctx.FormInt64("id") projectID := ctx.FormInt64("id")
for _, issue := range issues { for _, issue := range issues {
if issue.Project != nil && issue.Project.ID == projectID { if issue.Project != nil {
continue if issue.Project.ID == projectID {
}
if err := issues_model.IssueAssignOrRemoveProject(ctx, issue, ctx.Doer, projectID, 0); err != nil {
if errors.Is(err, util.ErrPermissionDenied) {
continue continue
} }
ctx.ServerError("IssueAssignOrRemoveProject", err) }
if err := issues_model.ChangeProjectAssign(ctx, issue, ctx.Doer, projectID); err != nil {
ctx.ServerError("ChangeProjectAssign", err)
return return
} }
} }

View file

@ -1541,12 +1541,14 @@ func CompareAndPullRequestPost(ctx *context.Context) {
return return
} }
if projectID > 0 && ctx.Repo.CanWrite(unit.TypeProjects) { if projectID > 0 {
if err := issues_model.IssueAssignOrRemoveProject(ctx, pullIssue, ctx.Doer, projectID, 0); err != nil { if !ctx.Repo.CanWrite(unit.TypeProjects) {
if !errors.Is(err, util.ErrPermissionDenied) { ctx.Error(http.StatusBadRequest, "user hasn't the permission to write to projects")
ctx.ServerError("IssueAssignOrRemoveProject", err) return
return }
} if err := issues_model.ChangeProjectAssign(ctx, pullIssue, ctx.Doer, projectID); err != nil {
ctx.ServerError("ChangeProjectAssign", err)
return
} }
} }

View file

@ -798,7 +798,6 @@ func SettingsPost(ctx *context.Context) {
ctx.Repo.GitRepo = nil ctx.Repo.GitRepo = nil
} }
oldFullname := repo.FullName()
if err := repo_service.StartRepositoryTransfer(ctx, ctx.Doer, newOwner, repo, nil); err != nil { if err := repo_service.StartRepositoryTransfer(ctx, ctx.Doer, newOwner, repo, nil); err != nil {
if errors.Is(err, user_model.ErrBlockedByUser) { if errors.Is(err, user_model.ErrBlockedByUser) {
ctx.RenderWithErr(ctx.Tr("repo.settings.new_owner_blocked_doer"), tplSettingsOptions, nil) ctx.RenderWithErr(ctx.Tr("repo.settings.new_owner_blocked_doer"), tplSettingsOptions, nil)
@ -813,13 +812,8 @@ func SettingsPost(ctx *context.Context) {
return return
} }
if ctx.Repo.Repository.Status == repo_model.RepositoryPendingTransfer { log.Trace("Repository transfer process was started: %s/%s -> %s", ctx.Repo.Owner.Name, repo.Name, newOwner)
log.Trace("Repository transfer process was started: %s/%s -> %s", ctx.Repo.Owner.Name, repo.Name, newOwner) ctx.Flash.Success(ctx.Tr("repo.settings.transfer_started", newOwner.DisplayName()))
ctx.Flash.Success(ctx.Tr("repo.settings.transfer_started", newOwner.DisplayName()))
} else {
log.Trace("Repository transferred: %s -> %s", oldFullname, ctx.Repo.Repository.FullName())
ctx.Flash.Success(ctx.Tr("repo.settings.transfer_succeed"))
}
ctx.Redirect(repo.Link() + "/settings") ctx.Redirect(repo.Link() + "/settings")
case "cancel_transfer": case "cancel_transfer":

View file

@ -1,48 +0,0 @@
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package project
import (
project_model "code.gitea.io/gitea/models/project"
"code.gitea.io/gitea/modules/json"
"code.gitea.io/gitea/services/context"
)
// MoveColumns moves or keeps columns in a project and sorts them inside that project
func MoveColumns(ctx *context.Context) {
project, err := project_model.GetProjectByID(ctx, ctx.ParamsInt64(":id"))
if err != nil {
ctx.NotFoundOrServerError("GetProjectByID", project_model.IsErrProjectNotExist, err)
return
}
if !project.CanBeAccessedByOwnerRepo(ctx.ContextUser.ID, ctx.Repo.Repository) {
ctx.NotFound("CanBeAccessedByOwnerRepo", nil)
return
}
type movedColumnsForm struct {
Columns []struct {
ColumnID int64 `json:"columnID"`
Sorting int64 `json:"sorting"`
} `json:"columns"`
}
form := &movedColumnsForm{}
if err = json.NewDecoder(ctx.Req.Body).Decode(&form); err != nil {
ctx.ServerError("DecodeMovedColumnsForm", err)
return
}
sortedColumnIDs := make(map[int64]int64)
for _, column := range form.Columns {
sortedColumnIDs[column.Sorting] = column.ColumnID
}
if err = project_model.MoveColumnsOnProject(ctx, project, sortedColumnIDs); err != nil {
ctx.ServerError("MoveColumnsOnProject", err)
return
}
ctx.JSONOK()
}

View file

@ -39,7 +39,6 @@ import (
"code.gitea.io/gitea/routers/web/repo/badges" "code.gitea.io/gitea/routers/web/repo/badges"
repo_flags "code.gitea.io/gitea/routers/web/repo/flags" repo_flags "code.gitea.io/gitea/routers/web/repo/flags"
repo_setting "code.gitea.io/gitea/routers/web/repo/setting" repo_setting "code.gitea.io/gitea/routers/web/repo/setting"
"code.gitea.io/gitea/routers/web/shared/project"
"code.gitea.io/gitea/routers/web/user" "code.gitea.io/gitea/routers/web/user"
user_setting "code.gitea.io/gitea/routers/web/user/setting" user_setting "code.gitea.io/gitea/routers/web/user/setting"
"code.gitea.io/gitea/routers/web/user/setting/security" "code.gitea.io/gitea/routers/web/user/setting/security"
@ -98,14 +97,14 @@ func optionsCorsHandler() func(next http.Handler) http.Handler {
// The Session plugin is expected to be executed second, in order to skip authentication // The Session plugin is expected to be executed second, in order to skip authentication
// for users that have already signed in. // for users that have already signed in.
func buildAuthGroup() *auth_service.Group { func buildAuthGroup() *auth_service.Group {
group := auth_service.NewGroup() group := auth_service.NewGroup(
group.Add(&auth_service.OAuth2{}) // FIXME: this should be removed and only applied in download and oauth related routers &auth_service.OAuth2{}, // FIXME: this should be removed and only applied in download and oauth related routers
group.Add(&auth_service.Basic{}) // FIXME: this should be removed and only applied in download and git/lfs routers &auth_service.Basic{}, // FIXME: this should be removed and only applied in download and git/lfs routers
&auth_service.Session{},
)
if setting.Service.EnableReverseProxyAuth { if setting.Service.EnableReverseProxyAuth {
group.Add(&auth_service.ReverseProxy{}) // reverseproxy should before Session, otherwise the header will be ignored if user has login group.Add(&auth_service.ReverseProxy{})
} }
group.Add(&auth_service.Session{})
if setting.IsWindows && auth_model.IsSSPIEnabled(db.DefaultContext) { if setting.IsWindows && auth_model.IsSSPIEnabled(db.DefaultContext) {
group.Add(&auth_service.SSPI{}) // it MUST be the last, see the comment of SSPI group.Add(&auth_service.SSPI{}) // it MUST be the last, see the comment of SSPI
@ -977,7 +976,6 @@ func registerRoutes(m *web.Route) {
m.Post("/new", web.Bind(forms.CreateProjectForm{}), org.NewProjectPost) m.Post("/new", web.Bind(forms.CreateProjectForm{}), org.NewProjectPost)
m.Group("/{id}", func() { m.Group("/{id}", func() {
m.Post("", web.Bind(forms.EditProjectBoardForm{}), org.AddBoardToProjectPost) m.Post("", web.Bind(forms.EditProjectBoardForm{}), org.AddBoardToProjectPost)
m.Post("/move", project.MoveColumns)
m.Post("/delete", org.DeleteProject) m.Post("/delete", org.DeleteProject)
m.Get("/edit", org.RenderEditProject) m.Get("/edit", org.RenderEditProject)
@ -1351,7 +1349,6 @@ func registerRoutes(m *web.Route) {
m.Post("/new", web.Bind(forms.CreateProjectForm{}), repo.NewProjectPost) m.Post("/new", web.Bind(forms.CreateProjectForm{}), repo.NewProjectPost)
m.Group("/{id}", func() { m.Group("/{id}", func() {
m.Post("", web.Bind(forms.EditProjectBoardForm{}), repo.AddBoardToProjectPost) m.Post("", web.Bind(forms.EditProjectBoardForm{}), repo.AddBoardToProjectPost)
m.Post("/move", project.MoveColumns)
m.Post("/delete", repo.DeleteProject) m.Post("/delete", repo.DeleteProject)
m.Get("/edit", repo.RenderEditProject) m.Get("/edit", repo.RenderEditProject)

View file

@ -515,7 +515,8 @@ func (*actionsNotifier) MergePullRequest(ctx context.Context, doer *user_model.U
} }
func (n *actionsNotifier) PushCommits(ctx context.Context, pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) { func (n *actionsNotifier) PushCommits(ctx context.Context, pusher *user_model.User, repo *repo_model.Repository, opts *repository.PushUpdateOptions, commits *repository.PushCommits) {
if git.IsEmptyCommitID(opts.NewCommitID, nil) { commitID, _ := git.NewIDFromString(opts.NewCommitID)
if commitID.IsZero() {
log.Trace("new commitID is empty") log.Trace("new commitID is empty")
return return
} }

View file

@ -234,7 +234,9 @@ func (b *Base) plainTextInternal(skip, status int, bs []byte) {
b.Resp.Header().Set("Content-Type", "text/plain;charset=utf-8") b.Resp.Header().Set("Content-Type", "text/plain;charset=utf-8")
b.Resp.Header().Set("X-Content-Type-Options", "nosniff") b.Resp.Header().Set("X-Content-Type-Options", "nosniff")
b.Resp.WriteHeader(status) b.Resp.WriteHeader(status)
_, _ = b.Resp.Write(bs) if _, err := b.Resp.Write(bs); err != nil {
log.ErrorWithSkip(skip, "plainTextInternal (status=%d): write bytes failed: %v", status, err)
}
} }
// PlainTextBytes renders bytes as plain text // PlainTextBytes renders bytes as plain text

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