mirror of
https://github.com/go-gitea/gitea
synced 2025-02-23 13:51:24 +01:00
Merge remote-tracking branch 'origin/main' into feature/heatmap-visibility-options
This commit is contained in:
commit
629562e287
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@ -1,2 +1 @@
|
||||
open_collective: gitea
|
||||
custom: https://www.bountysource.com/teams/gitea
|
||||
|
3
Makefile
3
Makefile
@ -602,8 +602,7 @@ test-mssql\#%: integrations.mssql.test generate-ini-mssql
|
||||
test-mssql-migration: migrations.mssql.test migrations.individual.mssql.test
|
||||
|
||||
.PHONY: playwright
|
||||
playwright: $(PLAYWRIGHT_DIR)
|
||||
npm install --no-save @playwright/test
|
||||
playwright: deps-frontend
|
||||
npx playwright install $(PLAYWRIGHT_FLAGS)
|
||||
|
||||
.PHONY: test-e2e%
|
||||
|
@ -45,9 +45,6 @@
|
||||
<a href="https://www.tickgit.com/browse?repo=github.com/go-gitea/gitea&branch=main" title="TODOs">
|
||||
<img src="https://badgen.net/https/api.tickgit.com/badgen/github.com/go-gitea/gitea/main">
|
||||
</a>
|
||||
<a href="https://app.bountysource.com/teams/gitea" title="Bountysource">
|
||||
<img src="https://img.shields.io/bountysource/team/gitea/activity">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
|
@ -45,9 +45,6 @@
|
||||
<a href="https://www.tickgit.com/browse?repo=github.com/go-gitea/gitea&branch=main" title="TODOs">
|
||||
<img src="https://badgen.net/https/api.tickgit.com/badgen/github.com/go-gitea/gitea/main">
|
||||
</a>
|
||||
<a href="https://app.bountysource.com/teams/gitea" title="Bountysource">
|
||||
<img src="https://img.shields.io/bountysource/team/gitea/activity">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
|
@ -71,7 +71,7 @@ func runKeys(c *cli.Context) error {
|
||||
ctx, cancel := installSignals()
|
||||
defer cancel()
|
||||
|
||||
setup(ctx, false)
|
||||
setup(ctx, c.Bool("debug"))
|
||||
|
||||
authorizedString, extra := private.AuthorizedPublicKeyByContent(ctx, content)
|
||||
// do not use handleCliResponseExtra or cli.NewExitError, if it exists immediately, it breaks some tests like Test_CmdKeys
|
||||
|
13
cmd/serv.go
13
cmd/serv.go
@ -63,21 +63,10 @@ func setup(ctx context.Context, debug bool) {
|
||||
setupConsoleLogger(log.FATAL, false, os.Stderr)
|
||||
}
|
||||
setting.MustInstalled()
|
||||
if debug {
|
||||
setting.RunMode = "dev"
|
||||
}
|
||||
|
||||
// Check if setting.RepoRootPath exists. It could be the case that it doesn't exist, this can happen when
|
||||
// `[repository]` `ROOT` is a relative path and $GITEA_WORK_DIR isn't passed to the SSH connection.
|
||||
if _, err := os.Stat(setting.RepoRootPath); err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
_ = fail(ctx, "Incorrect configuration, no repository directory.", "Directory `[repository].ROOT` %q was not found, please check if $GITEA_WORK_DIR is passed to the SSH connection or make `[repository].ROOT` an absolute value.", setting.RepoRootPath)
|
||||
} else {
|
||||
_ = fail(ctx, "Incorrect configuration, repository directory is inaccessible", "Directory `[repository].ROOT` %q is inaccessible. err: %v", setting.RepoRootPath, err)
|
||||
}
|
||||
_ = fail(ctx, "Unable to access repository path", "Unable to access repository path %q, err: %v", setting.RepoRootPath, err)
|
||||
return
|
||||
}
|
||||
|
||||
if err := git.InitSimple(context.Background()); err != nil {
|
||||
_ = fail(ctx, "Failed to init git", "Failed to init git, err: %v", err)
|
||||
}
|
||||
|
@ -25,6 +25,45 @@ const (
|
||||
GithubEventSchedule = "schedule"
|
||||
)
|
||||
|
||||
// IsDefaultBranchWorkflow returns true if the event only triggers workflows on the default branch
|
||||
func IsDefaultBranchWorkflow(triggedEvent webhook_module.HookEventType) bool {
|
||||
switch triggedEvent {
|
||||
case webhook_module.HookEventDelete:
|
||||
// GitHub "delete" event
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#delete
|
||||
return true
|
||||
case webhook_module.HookEventFork:
|
||||
// GitHub "fork" event
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#fork
|
||||
return true
|
||||
case webhook_module.HookEventIssueComment:
|
||||
// GitHub "issue_comment" event
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issue_comment
|
||||
return true
|
||||
case webhook_module.HookEventPullRequestComment:
|
||||
// GitHub "pull_request_comment" event
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_comment-use-issue_comment
|
||||
return true
|
||||
case webhook_module.HookEventWiki:
|
||||
// GitHub "gollum" event
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#gollum
|
||||
return true
|
||||
case webhook_module.HookEventSchedule:
|
||||
// GitHub "schedule" event
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
|
||||
return true
|
||||
case webhook_module.HookEventIssues,
|
||||
webhook_module.HookEventIssueAssign,
|
||||
webhook_module.HookEventIssueLabel,
|
||||
webhook_module.HookEventIssueMilestone:
|
||||
// Github "issues" event
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issues
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// canGithubEventMatch check if the input Github event can match any Gitea event.
|
||||
func canGithubEventMatch(eventName string, triggedEvent webhook_module.HookEventType) bool {
|
||||
switch eventName {
|
||||
@ -75,6 +114,11 @@ func canGithubEventMatch(eventName string, triggedEvent webhook_module.HookEvent
|
||||
case GithubEventSchedule:
|
||||
return triggedEvent == webhook_module.HookEventSchedule
|
||||
|
||||
case GithubEventIssueComment:
|
||||
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_comment-use-issue_comment
|
||||
return triggedEvent == webhook_module.HookEventIssueComment ||
|
||||
triggedEvent == webhook_module.HookEventPullRequestComment
|
||||
|
||||
default:
|
||||
return eventName == string(triggedEvent)
|
||||
}
|
||||
|
@ -103,6 +103,12 @@ func TestCanGithubEventMatch(t *testing.T) {
|
||||
webhook_module.HookEventCreate,
|
||||
true,
|
||||
},
|
||||
{
|
||||
"create pull request comment",
|
||||
GithubEventIssueComment,
|
||||
webhook_module.HookEventPullRequestComment,
|
||||
true,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range testCases {
|
||||
|
@ -203,16 +203,7 @@ headerLoop:
|
||||
}
|
||||
|
||||
// Discard the rest of the tag
|
||||
discard := size - n + 1
|
||||
for discard > math.MaxInt32 {
|
||||
_, err := rd.Discard(math.MaxInt32)
|
||||
if err != nil {
|
||||
return id, err
|
||||
}
|
||||
discard -= math.MaxInt32
|
||||
}
|
||||
_, err := rd.Discard(int(discard))
|
||||
return id, err
|
||||
return id, DiscardFull(rd, size-n+1)
|
||||
}
|
||||
|
||||
// ReadTreeID reads a tree ID from a cat-file --batch stream, throwing away the rest of the stream.
|
||||
@ -238,16 +229,7 @@ headerLoop:
|
||||
}
|
||||
|
||||
// Discard the rest of the commit
|
||||
discard := size - n + 1
|
||||
for discard > math.MaxInt32 {
|
||||
_, err := rd.Discard(math.MaxInt32)
|
||||
if err != nil {
|
||||
return id, err
|
||||
}
|
||||
discard -= math.MaxInt32
|
||||
}
|
||||
_, err := rd.Discard(int(discard))
|
||||
return id, err
|
||||
return id, DiscardFull(rd, size-n+1)
|
||||
}
|
||||
|
||||
// git tree files are a list:
|
||||
@ -345,3 +327,21 @@ func init() {
|
||||
_, filename, _, _ := runtime.Caller(0)
|
||||
callerPrefix = strings.TrimSuffix(filename, "modules/git/batch_reader.go")
|
||||
}
|
||||
|
||||
func DiscardFull(rd *bufio.Reader, discard int64) error {
|
||||
if discard > math.MaxInt32 {
|
||||
n, err := rd.Discard(math.MaxInt32)
|
||||
discard -= int64(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
for discard > 0 {
|
||||
n, err := rd.Discard(int(discard))
|
||||
discard -= int64(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -9,7 +9,6 @@ import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"io"
|
||||
"math"
|
||||
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
)
|
||||
@ -104,25 +103,6 @@ func (b *blobReader) Read(p []byte) (n int, err error) {
|
||||
// Close implements io.Closer
|
||||
func (b *blobReader) Close() error {
|
||||
defer b.cancel()
|
||||
if b.n > 0 {
|
||||
for b.n > math.MaxInt32 {
|
||||
n, err := b.rd.Discard(math.MaxInt32)
|
||||
b.n -= int64(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
b.n -= math.MaxInt32
|
||||
}
|
||||
n, err := b.rd.Discard(int(b.n))
|
||||
b.n -= int64(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if b.n == 0 {
|
||||
_, err := b.rd.Discard(1)
|
||||
b.n--
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
|
||||
return DiscardFull(b.rd, b.n+1)
|
||||
}
|
||||
|
@ -151,6 +151,9 @@ func GetLastCommitForPaths(ctx context.Context, commit *Commit, treePath string,
|
||||
return nil, err
|
||||
}
|
||||
if typ != "commit" {
|
||||
if err := DiscardFull(batchReader, size+1); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, fmt.Errorf("unexpected type: %s for commit id: %s", typ, commitID)
|
||||
}
|
||||
c, err = CommitFromReader(commit.repo, MustIDFromString(commitID), io.LimitReader(batchReader, size))
|
||||
|
@ -169,6 +169,10 @@ func FindLFSFile(repo *git.Repository, objectID git.ObjectID) ([]*LFSResult, err
|
||||
} else {
|
||||
break commitReadingLoop
|
||||
}
|
||||
default:
|
||||
if err := git.DiscardFull(batchReader, size+1); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -121,8 +121,7 @@ func (repo *Repository) getCommitFromBatchReader(rd *bufio.Reader, id ObjectID)
|
||||
return commit, nil
|
||||
default:
|
||||
log.Debug("Unknown typ: %s", typ)
|
||||
_, err = rd.Discard(int(size) + 1)
|
||||
if err != nil {
|
||||
if err := DiscardFull(rd, size+1); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, ErrNotExist{
|
||||
|
@ -6,10 +6,8 @@
|
||||
package git
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"io"
|
||||
"math"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/modules/analyze"
|
||||
@ -168,8 +166,7 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err
|
||||
return nil, err
|
||||
}
|
||||
content = contentBuf.Bytes()
|
||||
err = discardFull(batchReader, discard)
|
||||
if err != nil {
|
||||
if err := DiscardFull(batchReader, discard); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
@ -212,21 +209,3 @@ func (repo *Repository) GetLanguageStats(commitID string) (map[string]int64, err
|
||||
|
||||
return mergeLanguageStats(sizes), nil
|
||||
}
|
||||
|
||||
func discardFull(rd *bufio.Reader, discard int64) error {
|
||||
if discard > math.MaxInt32 {
|
||||
n, err := rd.Discard(math.MaxInt32)
|
||||
discard -= int64(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
for discard > 0 {
|
||||
n, err := rd.Discard(int(discard))
|
||||
discard -= int64(n)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -103,6 +103,9 @@ func (repo *Repository) getTag(tagID ObjectID, name string) (*Tag, error) {
|
||||
return nil, err
|
||||
}
|
||||
if typ != "tag" {
|
||||
if err := DiscardFull(rd, size+1); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, ErrNotExist{ID: tagID.String()}
|
||||
}
|
||||
|
||||
|
@ -58,6 +58,9 @@ func (repo *Repository) getTree(id ObjectID) (*Tree, error) {
|
||||
tree.entriesParsed = true
|
||||
return tree, nil
|
||||
default:
|
||||
if err := DiscardFull(rd, size+1); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, ErrNotExist{
|
||||
ID: id.String(),
|
||||
}
|
||||
|
@ -7,7 +7,6 @@ package git
|
||||
|
||||
import (
|
||||
"io"
|
||||
"math"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@ -63,19 +62,8 @@ func (t *Tree) ListEntries() (Entries, error) {
|
||||
}
|
||||
|
||||
// Not a tree just use ls-tree instead
|
||||
for sz > math.MaxInt32 {
|
||||
discarded, err := rd.Discard(math.MaxInt32)
|
||||
sz -= int64(discarded)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
for sz > 0 {
|
||||
discarded, err := rd.Discard(int(sz))
|
||||
sz -= int64(discarded)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := DiscardFull(rd, sz+1); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
|
27
modules/git/tree_test.go
Normal file
27
modules/git/tree_test.go
Normal file
@ -0,0 +1,27 @@
|
||||
// Copyright 2024 The Gitea Authors. All rights reserved.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package git
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestSubTree_Issue29101(t *testing.T) {
|
||||
repo, err := openRepositoryWithDefaultContext(filepath.Join(testReposDir, "repo1_bare"))
|
||||
assert.NoError(t, err)
|
||||
defer repo.Close()
|
||||
|
||||
commit, err := repo.GetCommit("ce064814f4a0d337b333e646ece456cd39fab612")
|
||||
assert.NoError(t, err)
|
||||
|
||||
// old code could produce a different error if called multiple times
|
||||
for i := 0; i < 10; i++ {
|
||||
_, err = commit.SubTree("file1.txt")
|
||||
assert.Error(t, err)
|
||||
assert.True(t, IsErrNotExist(err))
|
||||
}
|
||||
}
|
@ -352,7 +352,9 @@ func SyncReleasesWithTags(ctx context.Context, repo *repo_model.Repository, gitR
|
||||
}
|
||||
|
||||
if err := PushUpdateAddTag(ctx, repo, gitRepo, tagName, sha1, refname); err != nil {
|
||||
return fmt.Errorf("unable to PushUpdateAddTag: %q to Repo[%d:%s/%s]: %w", tagName, repo.ID, repo.OwnerName, repo.Name, err)
|
||||
// sometimes, some tags will be sync failed. i.e. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tag/?h=v2.6.11
|
||||
// this is a tree object, not a tag object which created before git
|
||||
log.Error("unable to PushUpdateAddTag: %q to Repo[%d:%s/%s]: %v", tagName, repo.ID, repo.OwnerName, repo.Name, err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -588,6 +588,7 @@ org_still_own_packages=Organizace stále vlastní jeden nebo více balíčků. N
|
||||
|
||||
target_branch_not_exist=Cílová větev neexistuje.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Změnit váš avatar…
|
||||
joined_on=Přidal/a se %s
|
||||
@ -1954,6 +1955,8 @@ activity.git_stats_and_deletions=a
|
||||
activity.git_stats_deletion_1=%d odebrání
|
||||
activity.git_stats_deletion_n=%d odebrání
|
||||
|
||||
contributors.contribution_type.commits=Commity
|
||||
|
||||
search=Vyhledat
|
||||
search.search_repo=Hledat repozitář
|
||||
search.type.tooltip=Druh vyhledávání
|
||||
@ -2541,6 +2544,8 @@ error.csv.too_large=Tento soubor nelze vykreslit, protože je příliš velký.
|
||||
error.csv.unexpected=Tento soubor nelze vykreslit, protože obsahuje neočekávaný znak na řádku %d ve sloupci %d.
|
||||
error.csv.invalid_field_count=Soubor nelze vykreslit, protože má nesprávný počet polí na řádku %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Název organizace
|
||||
org_full_name_holder=Celý název organizace
|
||||
@ -3179,6 +3184,7 @@ notices.desc=Popis
|
||||
notices.op=Akce
|
||||
notices.delete_success=Systémové upozornění bylo smazáno.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=vytvořil/a repozitář <a href="%s">%s</a>
|
||||
rename_repo=přejmenoval/a repozitář z <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
|
||||
@ -3363,6 +3369,8 @@ rpm.registry=Nastavte tento registr z příkazového řádku:
|
||||
rpm.distros.redhat=na distribuce založené na RedHat
|
||||
rpm.distros.suse=na distribuce založené na SUSE
|
||||
rpm.install=Pro instalaci balíčku spusťte následující příkaz:
|
||||
rpm.repository=Informace o repozitáři
|
||||
rpm.repository.architectures=Architektury
|
||||
rubygems.install=Pro instalaci balíčku pomocí gem spusťte následující příkaz:
|
||||
rubygems.install2=nebo ho přidejte do Gemfie:
|
||||
rubygems.dependencies.runtime=Běhové závislosti
|
||||
@ -3490,8 +3498,6 @@ runs.actors_no_select=Všichni aktéři
|
||||
runs.status_no_select=Všechny stavy
|
||||
runs.no_results=Nebyly nalezeny žádné výsledky.
|
||||
runs.no_workflows=Zatím neexistují žádné pracovní postupy.
|
||||
runs.no_workflows.quick_start=Nevíte jak začít s Gitea Action? Podívejte se na <a target="_blank" rel="noopener noreferrer" href="%s">průvodce rychlým startem</a>.
|
||||
runs.no_workflows.documentation=Další informace o Gitea Action, viz <a target="_blank" rel="noopener noreferrer" href="%s">dokumentace</a>.
|
||||
runs.no_runs=Pracovní postup zatím nebyl spuštěn.
|
||||
runs.empty_commit_message=(prázdná zpráva commitu)
|
||||
|
||||
@ -3509,7 +3515,6 @@ variables.none=Zatím nejsou žádné proměnné.
|
||||
variables.deletion=Odstranit proměnnou
|
||||
variables.deletion.description=Odstranění proměnné je trvalé a nelze jej vrátit zpět. Pokračovat?
|
||||
variables.description=Proměnné budou předány určitým akcím a nelze je přečíst jinak.
|
||||
variables.id_not_exist=Proměnná s id %d neexistuje.
|
||||
variables.edit=Upravit proměnnou
|
||||
variables.deletion.failed=Nepodařilo se odstranit proměnnou.
|
||||
variables.deletion.success=Proměnná byla odstraněna.
|
||||
|
@ -585,6 +585,7 @@ org_still_own_packages=Diese Organisation besitzt noch ein oder mehrere Pakete,
|
||||
|
||||
target_branch_not_exist=Der Ziel-Branch existiert nicht.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Profilbild ändern…
|
||||
joined_on=Beigetreten am %s
|
||||
@ -1952,6 +1953,8 @@ activity.git_stats_and_deletions=und
|
||||
activity.git_stats_deletion_1=%d Löschung
|
||||
activity.git_stats_deletion_n=%d Löschungen
|
||||
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Suchen
|
||||
search.search_repo=Repository durchsuchen
|
||||
search.type.tooltip=Suchmodus
|
||||
@ -2550,6 +2553,8 @@ error.csv.too_large=Diese Datei kann nicht gerendert werden, da sie zu groß ist
|
||||
error.csv.unexpected=Diese Datei kann nicht gerendert werden, da sie ein unerwartetes Zeichen in Zeile %d und Spalte %d enthält.
|
||||
error.csv.invalid_field_count=Diese Datei kann nicht gerendert werden, da sie eine falsche Anzahl an Feldern in Zeile %d hat.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Name der Organisation
|
||||
org_full_name_holder=Vollständiger Name der Organisation
|
||||
@ -3199,6 +3204,7 @@ notices.desc=Beschreibung
|
||||
notices.op=Aktion
|
||||
notices.delete_success=Diese Systemmeldung wurde gelöscht.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=hat das Repository <a href="%s">%s</a> erstellt
|
||||
rename_repo=hat das Repository von <code>%[1]s</code> zu <a href="%[2]s">%[3]s</a> umbenannt
|
||||
@ -3383,6 +3389,8 @@ rpm.registry=Diese Registry über die Kommandozeile einrichten:
|
||||
rpm.distros.redhat=auf RedHat-basierten Distributionen
|
||||
rpm.distros.suse=auf SUSE-basierten Distributionen
|
||||
rpm.install=Nutze folgenden Befehl, um das Paket zu installieren:
|
||||
rpm.repository=Repository-Informationen
|
||||
rpm.repository.architectures=Architekturen
|
||||
rubygems.install=Um das Paket mit gem zu installieren, führe den folgenden Befehl aus:
|
||||
rubygems.install2=oder füg es zum Gemfile hinzu:
|
||||
rubygems.dependencies.runtime=Laufzeitabhängigkeiten
|
||||
@ -3530,7 +3538,6 @@ variables.none=Es gibt noch keine Variablen.
|
||||
variables.deletion=Variable entfernen
|
||||
variables.deletion.description=Das Entfernen einer Variable ist dauerhaft und kann nicht rückgängig gemacht werden. Fortfahren?
|
||||
variables.description=Variablen werden an bestimmte Aktionen übergeben und können nicht anderweitig gelesen werden.
|
||||
variables.id_not_exist=Variable mit ID %d existiert nicht.
|
||||
variables.edit=Variable bearbeiten
|
||||
variables.deletion.failed=Fehler beim Entfernen der Variable.
|
||||
variables.deletion.success=Die Variable wurde entfernt.
|
||||
|
@ -588,6 +588,7 @@ org_still_own_packages=Αυτός ο οργανισμός κατέχει ακό
|
||||
|
||||
target_branch_not_exist=Ο κλάδος προορισμού δεν υπάρχει.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Αλλαγή του avatar σας…
|
||||
joined_on=Εγγράφηκε την %s
|
||||
@ -1966,6 +1967,8 @@ activity.git_stats_and_deletions=και
|
||||
activity.git_stats_deletion_1=%d διαγραφή
|
||||
activity.git_stats_deletion_n=%d διαγραφές
|
||||
|
||||
contributors.contribution_type.commits=Υποβολές
|
||||
|
||||
search=Αναζήτηση
|
||||
search.search_repo=Αναζήτηση αποθετηρίου
|
||||
search.type.tooltip=Τύπος αναζήτησης
|
||||
@ -2565,6 +2568,8 @@ error.csv.too_large=Δεν είναι δυνατή η απόδοση αυτού
|
||||
error.csv.unexpected=Δεν είναι δυνατή η απόδοση αυτού του αρχείου, επειδή περιέχει έναν μη αναμενόμενο χαρακτήρα στη γραμμή %d και στη στήλη %d.
|
||||
error.csv.invalid_field_count=Δεν είναι δυνατή η απόδοση αυτού του αρχείου, επειδή έχει λάθος αριθμό πεδίων στη γραμμή %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Όνομα Οργανισμού
|
||||
org_full_name_holder=Πλήρες Όνομα Οργανισμού
|
||||
@ -3216,6 +3221,7 @@ notices.desc=Περιγραφή
|
||||
notices.op=Λειτ.
|
||||
notices.delete_success=Οι ειδοποιήσεις του συστήματος έχουν διαγραφεί.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=δημιούργησε το αποθετήριο <a href="%s">%s</a>
|
||||
rename_repo=μετονόμασε το αποθετήριο από <code>%[1]s</code> σε <a href="%[2]s">%[3]s</a>
|
||||
@ -3400,6 +3406,8 @@ rpm.registry=Ρυθμίστε αυτό το μητρώο από τη γραμμ
|
||||
rpm.distros.redhat=σε διανομές βασισμένες στο RedHat
|
||||
rpm.distros.suse=σε διανομές με βάση το SUSE
|
||||
rpm.install=Για να εγκαταστήσετε το πακέτο, εκτελέστε την ακόλουθη εντολή:
|
||||
rpm.repository=Πληροφορίες Αποθετηρίου
|
||||
rpm.repository.architectures=Αρχιτεκτονικές
|
||||
rubygems.install=Για να εγκαταστήσετε το πακέτο χρησιμοποιώντας το gem, εκτελέστε την ακόλουθη εντολή:
|
||||
rubygems.install2=ή προσθέστε το στο Gemfile:
|
||||
rubygems.dependencies.runtime=Εξαρτήσεις Εκτέλεσης
|
||||
@ -3532,8 +3540,6 @@ runs.actors_no_select=Όλοι οι φορείς
|
||||
runs.status_no_select=Όλες οι καταστάσεις
|
||||
runs.no_results=Δεν βρέθηκαν αποτελέσματα.
|
||||
runs.no_workflows=Δεν υπάρχουν ροές εργασίας ακόμα.
|
||||
runs.no_workflows.quick_start=Δεν ξέρετε πώς να ξεκινήσετε με τις Δράσεις Gitea; Συμβουλευτείτε <a target="_blank" rel="noopener noreferrer" href="%s">τον οδηγό για γρήγορη αρχή</a>.
|
||||
runs.no_workflows.documentation=Για περισσότερες πληροφορίες σχετικά με τη Δράση Gitea, ανατρέξτε <a target="_blank" rel="noopener noreferrer" href="%s">στην τεκμηρίωση</a>.
|
||||
runs.no_runs=Η ροή εργασίας δεν έχει τρέξει ακόμα.
|
||||
runs.empty_commit_message=(κενό μήνυμα υποβολής)
|
||||
|
||||
@ -3552,7 +3558,6 @@ variables.none=Δεν υπάρχουν μεταβλητές ακόμα.
|
||||
variables.deletion=Αφαίρεση μεταβλητής
|
||||
variables.deletion.description=Η αφαίρεση μιας μεταβλητής είναι μόνιμη και δεν μπορεί να αναιρεθεί. Συνέχεια;
|
||||
variables.description=Η μεταβλητές θα δίνονται σε ορισμένες δράσεις και δεν μπορούν να διαβαστούν αλλιώς.
|
||||
variables.id_not_exist=Η μεταβλητή με id %d δεν υπάρχει.
|
||||
variables.edit=Επεξεργασία Μεταβλητής
|
||||
variables.deletion.failed=Αποτυχία αφαίρεσης της μεταβλητής.
|
||||
variables.deletion.success=Η μεταβλητή έχει αφαιρεθεί.
|
||||
|
@ -585,6 +585,7 @@ org_still_own_packages=Esta organización todavía posee uno o más paquetes, el
|
||||
|
||||
target_branch_not_exist=La rama de destino no existe
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Cambiar su avatar…
|
||||
joined_on=Se unió el %s
|
||||
@ -1952,6 +1953,8 @@ activity.git_stats_and_deletions=y
|
||||
activity.git_stats_deletion_1=%d eliminación
|
||||
activity.git_stats_deletion_n=%d eliminaciones
|
||||
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Buscar
|
||||
search.search_repo=Buscar repositorio
|
||||
search.type.tooltip=Tipo de búsqueda
|
||||
@ -2550,6 +2553,8 @@ error.csv.too_large=No se puede renderizar este archivo porque es demasiado gran
|
||||
error.csv.unexpected=No se puede procesar este archivo porque contiene un carácter inesperado en la línea %d y la columna %d.
|
||||
error.csv.invalid_field_count=No se puede procesar este archivo porque tiene un número incorrecto de campos en la línea %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Nombre de la organización
|
||||
org_full_name_holder=Nombre completo de la organización
|
||||
@ -3199,6 +3204,7 @@ notices.desc=Descripción
|
||||
notices.op=Operación
|
||||
notices.delete_success=Los avisos del sistema se han eliminado.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=creó el repositorio <a href="%s">%s</a>
|
||||
rename_repo=repositorio renombrado de <code>%[1]s</code> a <a href="%[2]s">%[3]s</a>
|
||||
@ -3383,6 +3389,8 @@ rpm.registry=Configurar este registro desde la línea de comandos:
|
||||
rpm.distros.redhat=en distribuciones basadas en RedHat
|
||||
rpm.distros.suse=en distribuciones basadas en SUSE
|
||||
rpm.install=Para instalar el paquete, ejecute el siguiente comando:
|
||||
rpm.repository=Información del repositorio
|
||||
rpm.repository.architectures=Arquitecturas
|
||||
rubygems.install=Para instalar el paquete usando gem, ejecute el siguiente comando:
|
||||
rubygems.install2=o añádelo al archivo Gemfile:
|
||||
rubygems.dependencies.runtime=Dependencias en tiempo de ejecución
|
||||
@ -3530,7 +3538,6 @@ variables.none=Aún no hay variables.
|
||||
variables.deletion=Eliminar variable
|
||||
variables.deletion.description=Eliminar una variable es permanente y no se puede deshacer. ¿Continuar?
|
||||
variables.description=Las variables se pasarán a ciertas acciones y no se podrán leer de otro modo.
|
||||
variables.id_not_exist=Variable con id %d no existe.
|
||||
variables.edit=Editar variable
|
||||
variables.deletion.failed=No se pudo eliminar la variable.
|
||||
variables.deletion.success=La variable ha sido eliminada.
|
||||
|
@ -463,6 +463,7 @@ auth_failed=تشخیص هویت ناموفق: %v
|
||||
|
||||
target_branch_not_exist=شاخه مورد نظر وجود ندارد.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=تغییر آواتار…
|
||||
repositories=مخازن
|
||||
@ -1498,6 +1499,8 @@ activity.git_stats_and_deletions=و
|
||||
activity.git_stats_deletion_1=%d مذحوف
|
||||
activity.git_stats_deletion_n=%d مذحوف
|
||||
|
||||
contributors.contribution_type.commits=کامیتها
|
||||
|
||||
search=جستجو
|
||||
search.search_repo=جستجوی مخزن
|
||||
search.fuzzy=درهم
|
||||
@ -1951,6 +1954,8 @@ error.csv.too_large=نمی توان این فایل را رندر کرد زیر
|
||||
error.csv.unexpected=نمی توان این فایل را رندر کرد زیرا حاوی یک کاراکتر غیرمنتظره در خط %d و ستون %d است.
|
||||
error.csv.invalid_field_count=نمی توان این فایل را رندر کرد زیرا تعداد فیلدهای آن در خط %d اشتباه است.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=نام سازمان
|
||||
org_full_name_holder=نام کامل سازمان
|
||||
@ -2501,6 +2506,7 @@ notices.desc=توضیحات
|
||||
notices.op=عملیات.
|
||||
notices.delete_success=گزارش سیستم حذف شده است.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=مخزن ایجاد شده <a href="%s"> %s</a>
|
||||
rename_repo=مخزن تغییر نام داد از <code>%[1]s</code> به <a href="%[2]s">%[3]s</a>
|
||||
|
@ -425,6 +425,7 @@ auth_failed=Todennus epäonnistui: %v
|
||||
|
||||
target_branch_not_exist=Kohde branchia ei ole olemassa.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Vaihda profiilikuvasi…
|
||||
repositories=Repot
|
||||
@ -1074,6 +1075,8 @@ activity.git_stats_and_deletions=ja
|
||||
activity.git_stats_deletion_1=%d poisto
|
||||
activity.git_stats_deletion_n=%d poistoa
|
||||
|
||||
contributors.contribution_type.commits=Commitit
|
||||
|
||||
search=Haku
|
||||
search.match=Osuma
|
||||
search.code_no_results=Hakuehtoasi vastaavaa lähdekoodia ei löytynyt.
|
||||
@ -1314,6 +1317,8 @@ topic.done=Valmis
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Organisaatio
|
||||
org_full_name_holder=Organisaation täydellinen nimi
|
||||
@ -1659,6 +1664,7 @@ notices.type_1=Repo
|
||||
notices.desc=Kuvaus
|
||||
notices.op=Toiminta
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=luotu repo <a href="%s">%s</a>
|
||||
rename_repo=uudelleennimetty repo <code>%[1]s</code> nimelle <a href="%[2]s">%[3]s</a>
|
||||
|
@ -587,6 +587,7 @@ org_still_own_packages=Cette organisation possède encore un ou plusieurs paquet
|
||||
|
||||
target_branch_not_exist=La branche cible n'existe pas.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Changer votre avatar…
|
||||
joined_on=Inscrit le %s
|
||||
@ -1965,6 +1966,8 @@ activity.git_stats_and_deletions=et
|
||||
activity.git_stats_deletion_1=%d suppression
|
||||
activity.git_stats_deletion_n=%d suppressions
|
||||
|
||||
contributors.contribution_type.commits=Révisions
|
||||
|
||||
search=Chercher
|
||||
search.search_repo=Rechercher dans le dépôt
|
||||
search.type.tooltip=Type de recherche
|
||||
@ -2564,6 +2567,8 @@ error.csv.too_large=Impossible de visualiser le fichier car il est trop volumine
|
||||
error.csv.unexpected=Impossible de visualiser ce fichier car il contient un caractère inattendu ligne %d, colonne %d.
|
||||
error.csv.invalid_field_count=Impossible de visualiser ce fichier car il contient un nombre de champs incorrect à la ligne %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Nom de l'organisation
|
||||
org_full_name_holder=Nom complet de l'organisation
|
||||
@ -3215,6 +3220,7 @@ notices.desc=Description
|
||||
notices.op=Opération
|
||||
notices.delete_success=Les informations systèmes ont été supprimées.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=a créé le dépôt <a href="%s">%s</a>
|
||||
rename_repo=a rebaptisé le dépôt <s><code>%[1]s</code></s> en <a href="%[2]s">%[3]s</a>
|
||||
@ -3399,6 +3405,8 @@ rpm.registry=Configurez ce registre à partir d'un terminal :
|
||||
rpm.distros.redhat=sur les distributions basées sur RedHat
|
||||
rpm.distros.suse=sur les distributions basées sur SUSE
|
||||
rpm.install=Pour installer le paquet, exécutez la commande suivante :
|
||||
rpm.repository=Informations sur le Dépôt
|
||||
rpm.repository.architectures=Architectures
|
||||
rubygems.install=Pour installer le paquet en utilisant gem, exécutez la commande suivante :
|
||||
rubygems.install2=ou ajoutez-le au Gemfile :
|
||||
rubygems.dependencies.runtime=Dépendances d'exécution
|
||||
@ -3531,8 +3539,6 @@ runs.actors_no_select=Tous les acteurs
|
||||
runs.status_no_select=Touts les statuts
|
||||
runs.no_results=Aucun résultat correspondant.
|
||||
runs.no_workflows=Il n'y a pas encore de workflows.
|
||||
runs.no_workflows.quick_start=Vous ne savez pas comment commencer avec Gitea Action ? Consultez <a target="_blank" rel="noopener noreferrer" href="%s">le guide de démarrage rapide</a>.
|
||||
runs.no_workflows.documentation=Pour plus d’informations sur les Actions Gitea, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>.
|
||||
runs.no_runs=Le flux de travail n'a pas encore d'exécution.
|
||||
runs.empty_commit_message=(message de révision vide)
|
||||
|
||||
@ -3551,7 +3557,6 @@ variables.none=Il n'y a pas encore de variables.
|
||||
variables.deletion=Retirer la variable
|
||||
variables.deletion.description=La suppression d’une variable est permanente et ne peut être défaite. Continuer ?
|
||||
variables.description=Les variables sont passées aux actions et ne peuvent être lues autrement.
|
||||
variables.id_not_exist=La variable numéro %d n’existe pas.
|
||||
variables.edit=Modifier la variable
|
||||
variables.deletion.failed=Impossible de retirer la variable.
|
||||
variables.deletion.success=La variable a bien été retirée.
|
||||
|
@ -369,6 +369,7 @@ auth_failed=A hitelesítés sikertelen: %v
|
||||
|
||||
target_branch_not_exist=Cél ág nem létezik.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Profilkép megváltoztatása…
|
||||
repositories=Tárolók
|
||||
@ -1053,6 +1054,8 @@ activity.git_stats_and_deletions=és
|
||||
activity.git_stats_deletion_1=%d törlés
|
||||
activity.git_stats_deletion_n=%d törlés
|
||||
|
||||
contributors.contribution_type.commits=Commit-ok
|
||||
|
||||
search=Keresés
|
||||
search.search_repo=Tároló keresés
|
||||
search.results=`"%s" találatok keresése itt: <a href="%s">%s</a>`
|
||||
@ -1168,6 +1171,8 @@ topic.done=Kész
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Szervezet neve
|
||||
org_full_name_holder=Szervezet teljes neve
|
||||
@ -1572,6 +1577,7 @@ notices.desc=Leírás
|
||||
notices.op=Op.
|
||||
notices.delete_success=A rendszer-értesítések törölve lettek.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=létrehozott tárolót: <a href="%s"> %s</a>
|
||||
rename_repo=átnevezte a(z) <code>%[1]s</code> tárolót <a href="%[2]s">%[3]s</a>-ra/re
|
||||
|
@ -293,6 +293,7 @@ auth_failed=Otentikasi gagal: %v
|
||||
|
||||
target_branch_not_exist=Target cabang tidak ada.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Ganti avatar anda…
|
||||
repositories=Repositori
|
||||
@ -838,6 +839,8 @@ activity.title.releases_n=%d Rilis
|
||||
activity.title.releases_published_by=%s dikeluarkan oleh %s
|
||||
activity.published_release_label=Dikeluarkan
|
||||
|
||||
contributors.contribution_type.commits=Melakukan
|
||||
|
||||
search=Cari
|
||||
search.search_repo=Cari repositori
|
||||
search.results=Cari hasil untuk "%s" dalam <a href="%s">%s</a>
|
||||
@ -953,6 +956,8 @@ branch.deleted_by=Dihapus oleh %s
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Nama Organisasi
|
||||
org_full_name_holder=Organisasi Nama Lengkap
|
||||
@ -1262,6 +1267,7 @@ notices.desc=Deskripsi
|
||||
notices.op=Op.
|
||||
notices.delete_success=Laporan sistem telah dihapus.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=repositori dibuat <a href="%s">%s</a>
|
||||
rename_repo=ganti nama gudang penyimpanan dari <code>%[1]s</code> ke <a href="%[2]s">%[3]s</a>
|
||||
|
@ -401,6 +401,7 @@ team_not_exist=Liðið er ekki til.
|
||||
|
||||
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Breyttu notandamyndinni þinni…
|
||||
repositories=Hugbúnaðarsöfn
|
||||
@ -989,6 +990,8 @@ activity.git_stats_and_deletions=og
|
||||
activity.git_stats_deletion_1=%d eyðing
|
||||
activity.git_stats_deletion_n=%d eyðingar
|
||||
|
||||
contributors.contribution_type.commits=Framlög
|
||||
|
||||
search=Leita
|
||||
search.fuzzy=Óljóst
|
||||
search.code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
|
||||
@ -1112,6 +1115,8 @@ topic.done=Í lagi
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
repo_updated=Uppfært
|
||||
members=Meðlimar
|
||||
@ -1278,6 +1283,7 @@ notices.type_1=Hugbúnaðarsafn
|
||||
notices.type_2=Verkefni
|
||||
notices.desc=Lýsing
|
||||
|
||||
|
||||
[action]
|
||||
create_issue=`opnaði vandamál <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
reopen_issue=`enduropnaði vandamál <a href="%[1]s">%[3]s#%[2]s</a>`
|
||||
|
@ -490,6 +490,7 @@ auth_failed=Autenticazione non riuscita: %v
|
||||
|
||||
target_branch_not_exist=Il ramo (branch) di destinazione non esiste.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Modifica il tuo avatar…
|
||||
repositories=Repository
|
||||
@ -1623,6 +1624,8 @@ activity.git_stats_and_deletions=e
|
||||
activity.git_stats_deletion_1=%d cancellazione
|
||||
activity.git_stats_deletion_n=%d cancellazioni
|
||||
|
||||
contributors.contribution_type.commits=Commit
|
||||
|
||||
search=Ricerca
|
||||
search.search_repo=Ricerca repository
|
||||
search.fuzzy=Fuzzy
|
||||
@ -2117,6 +2120,8 @@ error.csv.too_large=Impossibile visualizzare questo file perché è troppo grand
|
||||
error.csv.unexpected=Impossibile visualizzare questo file perché contiene un carattere inatteso alla riga %d e alla colonna %d.
|
||||
error.csv.invalid_field_count=Impossibile visualizzare questo file perché ha un numero errato di campi alla riga %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Nome dell'Organizzazione
|
||||
org_full_name_holder=Nome completo dell'organizzazione
|
||||
@ -2703,6 +2708,7 @@ notices.desc=Descrizione
|
||||
notices.op=Op.
|
||||
notices.delete_success=Gli avvisi di sistema sono stati eliminati.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=ha creato il repository <a href="%s">%s</a>
|
||||
rename_repo=repository rinominato da <code>%[1]s</code> a <a href="%[2]s">[3]s</a>
|
||||
|
@ -588,6 +588,7 @@ org_still_own_packages=組織はまだ1つ以上のパッケージを所有し
|
||||
|
||||
target_branch_not_exist=ターゲットのブランチが存在していません。
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=アバターを変更…
|
||||
joined_on=%sに登録
|
||||
@ -1966,6 +1967,8 @@ activity.git_stats_and_deletions=、
|
||||
activity.git_stats_deletion_1=%d行削除
|
||||
activity.git_stats_deletion_n=%d行削除
|
||||
|
||||
contributors.contribution_type.commits=コミット
|
||||
|
||||
search=検索
|
||||
search.search_repo=リポジトリを検索
|
||||
search.type.tooltip=検索タイプ
|
||||
@ -2565,6 +2568,8 @@ error.csv.too_large=このファイルは大きすぎるため表示できませ
|
||||
error.csv.unexpected=このファイルは %d 行目の %d 文字目に予期しない文字が含まれているため表示できません。
|
||||
error.csv.invalid_field_count=このファイルは %d 行目のフィールドの数が正しくないため表示できません。
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=組織名
|
||||
org_full_name_holder=組織のフルネーム
|
||||
@ -3216,6 +3221,7 @@ notices.desc=説明
|
||||
notices.op=操作
|
||||
notices.delete_success=システム通知を削除しました。
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=がリポジトリ <a href="%s">%s</a> を作成しました
|
||||
rename_repo=がリポジトリ名を <code>%[1]s</code> から <a href="%[2]s">%[3]s</a> へ変更しました
|
||||
@ -3400,6 +3406,8 @@ rpm.registry=このレジストリをコマンドラインからセットアッ
|
||||
rpm.distros.redhat=RedHat系ディストリビューションの場合
|
||||
rpm.distros.suse=SUSE系ディストリビューションの場合
|
||||
rpm.install=パッケージをインストールするには、次のコマンドを実行します:
|
||||
rpm.repository=リポジトリ情報
|
||||
rpm.repository.architectures=Architectures
|
||||
rubygems.install=gem を使用してパッケージをインストールするには、次のコマンドを実行します:
|
||||
rubygems.install2=または Gemfile に追加します:
|
||||
rubygems.dependencies.runtime=実行用依存関係
|
||||
@ -3532,8 +3540,6 @@ runs.actors_no_select=すべてのアクター
|
||||
runs.status_no_select=すべてのステータス
|
||||
runs.no_results=一致する結果はありません。
|
||||
runs.no_workflows=ワークフローはまだありません。
|
||||
runs.no_workflows.quick_start=Gitea Action の始め方がわからない? <a target="_blank" rel="noopener noreferrer" href="%s">クイックスタートガイド</a>をご覧ください。
|
||||
runs.no_workflows.documentation=Gitea Action の詳細については、<a target="_blank" rel="noopener noreferrer" href="%s">ドキュメント</a>を参照してください。
|
||||
runs.no_runs=ワークフローはまだ実行されていません。
|
||||
runs.empty_commit_message=(空のコミットメッセージ)
|
||||
|
||||
@ -3552,7 +3558,6 @@ variables.none=変数はまだありません。
|
||||
variables.deletion=変数を削除
|
||||
variables.deletion.description=変数の削除は恒久的で元に戻すことはできません。 続行しますか?
|
||||
variables.description=変数は特定のActionsに渡されます。 それ以外で読み出されることはありません。
|
||||
variables.id_not_exist=idが%dの変数は存在しません。
|
||||
variables.edit=変数の編集
|
||||
variables.deletion.failed=変数を削除できませんでした。
|
||||
variables.deletion.success=変数を削除しました。
|
||||
|
@ -349,6 +349,7 @@ auth_failed=인증 실패: %v
|
||||
|
||||
target_branch_not_exist=대상 브랜치가 존재하지 않습니다.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=아바타 변경
|
||||
repositories=저장소
|
||||
@ -949,6 +950,8 @@ activity.title.releases_n=%d 개의 릴리즈
|
||||
activity.title.releases_published_by=%s 가 %s 에 의하여 배포되었습니다.
|
||||
activity.published_release_label=배포됨
|
||||
|
||||
contributors.contribution_type.commits=커밋
|
||||
|
||||
search=검색
|
||||
search.search_repo=저장소 검색
|
||||
search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과"
|
||||
@ -1161,6 +1164,8 @@ topic.count_prompt=25개 이상의 토픽을 선택하실 수 없습니다.
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=조직 이름
|
||||
org_full_name_holder=조직 전체 이름
|
||||
@ -1521,6 +1526,7 @@ notices.desc=설명
|
||||
notices.op=일.
|
||||
notices.delete_success=시스템 알림이 삭제되었습니다.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=저장소를 만들었습니다. <a href="%s">%s</a>
|
||||
rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다.
|
||||
|
@ -588,6 +588,7 @@ org_still_own_packages=Šai organizācijai pieder viena vai vārākas pakotnes,
|
||||
|
||||
target_branch_not_exist=Mērķa atzars neeksistē
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Mainīt profila attēlu…
|
||||
joined_on=Pievienojās %s
|
||||
@ -1966,6 +1967,8 @@ activity.git_stats_and_deletions=un
|
||||
activity.git_stats_deletion_1=%d dzēšana
|
||||
activity.git_stats_deletion_n=%d dzēšanas
|
||||
|
||||
contributors.contribution_type.commits=Revīzijas
|
||||
|
||||
search=Meklēt
|
||||
search.search_repo=Meklēšana repozitorijā
|
||||
search.type.tooltip=Meklēšanas veids
|
||||
@ -2565,6 +2568,8 @@ error.csv.too_large=Nevar attēlot šo failu, jo tas ir pārāk liels.
|
||||
error.csv.unexpected=Nevar attēlot šo failu, jo tas satur neparedzētu simbolu %d. līnijas %d. kolonnā.
|
||||
error.csv.invalid_field_count=Nevar attēlot šo failu, jo tas satur nepareizu skaitu ar laukiem %d. līnijā.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Organizācijas nosaukums
|
||||
org_full_name_holder=Organizācijas pilnais nosaukums
|
||||
@ -3216,6 +3221,7 @@ notices.desc=Apraksts
|
||||
notices.op=Op.
|
||||
notices.delete_success=Sistēmas paziņojumi ir dzēsti.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=izveidoja repozitoriju <a href="%s">%s</a>
|
||||
rename_repo=pārsauca repozitoriju no <code>%[1]s</code> uz <a href="%[2]s">%[3]s</a>
|
||||
@ -3400,6 +3406,8 @@ rpm.registry=Konfigurējiet šo reģistru no komandrindas:
|
||||
rpm.distros.redhat=uz RedHat balstītās operētājsistēmās
|
||||
rpm.distros.suse=uz SUSE balstītās operētājsistēmās
|
||||
rpm.install=Lai uzstādītu pakotni, ir jāizpilda šī komanda:
|
||||
rpm.repository=Repozitorija informācija
|
||||
rpm.repository.architectures=Arhitektūras
|
||||
rubygems.install=Lai instalētu gem pakotni, izpildiet sekojošu komandu:
|
||||
rubygems.install2=vai pievienojiet Gemfile:
|
||||
rubygems.dependencies.runtime=Izpildlaika atkarības
|
||||
@ -3532,8 +3540,6 @@ runs.actors_no_select=Visi aktori
|
||||
runs.status_no_select=Visi stāvokļi
|
||||
runs.no_results=Netika atrasts nekas atbilstošs.
|
||||
runs.no_workflows=Vēl nav nevienas darbplūsmas.
|
||||
runs.no_workflows.quick_start=Nav skaidrs, kā sākt izmantot Gitea darbības? Skatīt <a target="_blank" rel="noopener noreferrer" href="%s">ātrās sākšanas norādes</a>.
|
||||
runs.no_workflows.documentation=Vairāk informācijas par Gitea darbībām ir skatāma <a target="_blank" rel="noopener noreferrer" href="%s">dokumentācijā</a>.
|
||||
runs.no_runs=Darbplūsmai vēl nav nevienas izpildes.
|
||||
runs.empty_commit_message=(tukšs revīzijas ziņojums)
|
||||
|
||||
@ -3552,7 +3558,6 @@ variables.none=Vēl nav neviena mainīgā.
|
||||
variables.deletion=Noņemt mainīgo
|
||||
variables.deletion.description=Mainīgā noņemšana ir neatgriezeniska un nav atsaucama. Vai turpināt?
|
||||
variables.description=Mainīgie tiks padoti noteiktām darbībām, un citādāk tos nevar nolasīt.
|
||||
variables.id_not_exist=Mainīgais ar identifikatoru %d neeksistē.
|
||||
variables.edit=Labot mainīgo
|
||||
variables.deletion.failed=Neizdevās noņemt mainīgo.
|
||||
variables.deletion.success=Mainīgais tika noņemts.
|
||||
|
@ -489,6 +489,7 @@ auth_failed=Verificatie mislukt: %v
|
||||
|
||||
target_branch_not_exist=Doel branch bestaat niet
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Wijzig je profielfoto…
|
||||
repositories=repositories
|
||||
@ -1618,6 +1619,8 @@ activity.git_stats_and_deletions=en
|
||||
activity.git_stats_deletion_1=%d verwijdering
|
||||
activity.git_stats_deletion_n=%d verwijderingen
|
||||
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Zoek
|
||||
search.search_repo=Zoek repository
|
||||
search.fuzzy=Vergelijkbaar
|
||||
@ -2031,6 +2034,8 @@ topic.count_prompt=Je kunt niet meer dan 25 onderwerpen selecteren
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Organisatienaam
|
||||
org_full_name_holder=Volledige naam organisatie
|
||||
@ -2537,6 +2542,7 @@ notices.desc=Beschrijving
|
||||
notices.op=Op.
|
||||
notices.delete_success=De systeemmeldingen zijn verwijderd.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=repository aangemaakt in <a href="%s">%s</a>
|
||||
rename_repo=hernoemde repository van <code>%[1]s</code> naar <a href="%[2]s">%[3]s</a>
|
||||
|
@ -474,6 +474,7 @@ auth_failed=Uwierzytelnienie się nie powiodło: %v
|
||||
|
||||
target_branch_not_exist=Gałąź docelowa nie istnieje.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Zmień swój awatar…
|
||||
repositories=Repozytoria
|
||||
@ -1467,6 +1468,8 @@ activity.git_stats_and_deletions=i
|
||||
activity.git_stats_deletion_1=%d usunięcie
|
||||
activity.git_stats_deletion_n=%d usunięć
|
||||
|
||||
contributors.contribution_type.commits=Commity
|
||||
|
||||
search=Szukaj
|
||||
search.search_repo=Przeszukaj repozytorium
|
||||
search.fuzzy=Fuzzy
|
||||
@ -1899,6 +1902,8 @@ error.csv.too_large=Nie można wyświetlić tego pliku, ponieważ jest on zbyt d
|
||||
error.csv.unexpected=Nie można renderować tego pliku, ponieważ zawiera nieoczekiwany znak w wierszu %d i kolumnie %d.
|
||||
error.csv.invalid_field_count=Nie można renderować tego pliku, ponieważ ma nieprawidłową liczbę pól w wierszu %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Nazwa organizacji
|
||||
org_full_name_holder=Pełna nazwa organizacji
|
||||
@ -2425,6 +2430,7 @@ notices.desc=Opis
|
||||
notices.op=Operacja
|
||||
notices.delete_success=Powiadomienia systemu zostały usunięte.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=tworzy repozytorium <a href="%s">%s</a>
|
||||
rename_repo=zmienia nazwę repozytorium <code>%[1]s</code> na <a href="%[2]s">%[3]s</a>
|
||||
|
@ -582,6 +582,7 @@ org_still_own_packages=Esta organização ainda possui pacotes, exclua-os primei
|
||||
|
||||
target_branch_not_exist=O branch de destino não existe.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Altere seu avatar...
|
||||
joined_on=Inscreveu-se em %s
|
||||
@ -1927,6 +1928,8 @@ activity.git_stats_and_deletions=e
|
||||
activity.git_stats_deletion_1=%d exclusão
|
||||
activity.git_stats_deletion_n=%d exclusões
|
||||
|
||||
contributors.contribution_type.commits=Commits
|
||||
|
||||
search=Pesquisar
|
||||
search.search_repo=Pesquisar no repositório...
|
||||
search.type.tooltip=Tipo de pesquisa
|
||||
@ -2484,6 +2487,8 @@ error.csv.too_large=Não é possível renderizar este arquivo porque ele é muit
|
||||
error.csv.unexpected=Não é possível renderizar este arquivo porque ele contém um caractere inesperado na linha %d e coluna %d.
|
||||
error.csv.invalid_field_count=Não é possível renderizar este arquivo porque ele tem um número errado de campos na linha %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Nome da organização
|
||||
org_full_name_holder=Nome completo da organização
|
||||
@ -3110,6 +3115,7 @@ notices.desc=Descrição
|
||||
notices.op=Op.
|
||||
notices.delete_success=Os avisos do sistema foram excluídos.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=criou o repositório <a href="%s">%s</a>
|
||||
rename_repo=renomeou o repositório <code>%[1]s</code> para <a href="%[2]s">%[3]s</a>
|
||||
@ -3293,6 +3299,8 @@ rpm.registry=Configure este registro pela linha de comando:
|
||||
rpm.distros.redhat=em distribuições baseadas no RedHat
|
||||
rpm.distros.suse=em distribuições baseadas no SUSE
|
||||
rpm.install=Para instalar o pacote, execute o seguinte comando:
|
||||
rpm.repository=Informações do repositório
|
||||
rpm.repository.architectures=Arquiteturas
|
||||
rubygems.install=Para instalar o pacote usando gem, execute o seguinte comando:
|
||||
rubygems.install2=ou adicione-o ao Gemfile:
|
||||
rubygems.dependencies.runtime=Dependências de Execução
|
||||
|
@ -123,6 +123,7 @@ pin=Fixar
|
||||
unpin=Desafixar
|
||||
|
||||
artifacts=Artefactos
|
||||
confirm_delete_artifact=Tem a certeza que quer eliminar este artefacto "%s"?
|
||||
|
||||
archived=Arquivado
|
||||
|
||||
@ -423,6 +424,7 @@ authorization_failed_desc=A autorização falhou porque encontrámos um pedido i
|
||||
sspi_auth_failed=Falhou a autenticação SSPI
|
||||
password_pwned=A senha utilizada está numa <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">lista de senhas roubadas</a> anteriormente expostas em fugas de dados públicas. Tente novamente com uma senha diferente e considere também mudar esta senha nos outros sítios.
|
||||
password_pwned_err=Não foi possível completar o pedido ao HaveIBeenPwned
|
||||
last_admin=Não pode remover o último administrador. Tem que existir pelo menos um administrador.
|
||||
|
||||
[mail]
|
||||
view_it_on=Ver em %s
|
||||
@ -588,6 +590,8 @@ org_still_own_packages=Esta organização ainda possui um ou mais pacotes, elimi
|
||||
|
||||
target_branch_not_exist=O ramo de destino não existe.
|
||||
|
||||
admin_cannot_delete_self=Não se pode auto-remover quando tem privilégios de administração. Remova esses privilégios primeiro.
|
||||
|
||||
[user]
|
||||
change_avatar=Mude o seu avatar…
|
||||
joined_on=Inscreveu-se em %s
|
||||
@ -967,6 +971,8 @@ issue_labels_helper=Escolha um conjunto de rótulos para as questões.
|
||||
license=Licença
|
||||
license_helper=Escolha um ficheiro de licença.
|
||||
license_helper_desc=Uma licença rege o que os outros podem, ou não, fazer com o seu código fonte. Não tem a certeza sobre qual a mais indicada para o seu trabalho? Veja: <a target="_blank" rel="noopener noreferrer" href="%s">Escolher uma licença.</a>
|
||||
object_format=Formato dos elementos
|
||||
object_format_helper=Formato dos elementos do repositório. Não poderá ser alterado mais tarde. SHA1 é o mais compatível.
|
||||
readme=README
|
||||
readme_helper=Escolha um modelo de ficheiro README.
|
||||
readme_helper_desc=Este é o sítio onde pode escrever uma descrição completa do seu trabalho.
|
||||
@ -984,6 +990,7 @@ mirror_prune=Podar
|
||||
mirror_prune_desc=Remover referências obsoletas de seguimento remoto
|
||||
mirror_interval=Intervalo entre sincronizações (as unidades de tempo válidas são 'h', 'm' e 's'). O valor zero desabilita a sincronização periódica. (Intervalo mínimo: %s)
|
||||
mirror_interval_invalid=O intervalo entre sincronizações não é válido.
|
||||
mirror_sync=sincronizado
|
||||
mirror_sync_on_commit=Sincronizar quando forem enviados cometimentos
|
||||
mirror_address=Clonar a partir do URL
|
||||
mirror_address_desc=Coloque, na secção de autorização, as credenciais que, eventualmente, sejam necessárias.
|
||||
@ -1034,6 +1041,7 @@ desc.public=Público
|
||||
desc.template=Modelo
|
||||
desc.internal=Interno
|
||||
desc.archived=Arquivado
|
||||
desc.sha256=SHA256
|
||||
|
||||
template.items=Itens do modelo
|
||||
template.git_content=Conteúdo Git (ramo principal)
|
||||
@ -1184,6 +1192,8 @@ audio_not_supported_in_browser=O seu navegador não suporta a etiqueta 'audio' d
|
||||
stored_lfs=Armazenado com Git LFS
|
||||
symbolic_link=Ligação simbólica
|
||||
executable_file=Ficheiro executável
|
||||
vendored=Externo
|
||||
generated=Gerado
|
||||
commit_graph=Gráfico de cometimentos
|
||||
commit_graph.select=Escolher ramos
|
||||
commit_graph.hide_pr_refs=Ocultar pedidos de integração
|
||||
@ -1707,6 +1717,7 @@ pulls.select_commit_hold_shift_for_range=Escolha o comentimento. Mantenha premid
|
||||
pulls.review_only_possible_for_full_diff=A revisão só é possível ao visualizar o diff completo
|
||||
pulls.filter_changes_by_commit=Filtrar por cometimento
|
||||
pulls.nothing_to_compare=Estes ramos são iguais. Não há necessidade de criar um pedido de integração.
|
||||
pulls.nothing_to_compare_have_tag=O ramo/etiqueta escolhidos são iguais.
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=Estes ramos são iguais. Este pedido de integração ficará vazio.
|
||||
pulls.has_pull_request=`Já existe um pedido de integração entre estes ramos: <a href="%[1]s">%[2]s#%[3]d</a>`
|
||||
pulls.create=Criar um pedido de integração
|
||||
@ -1765,6 +1776,7 @@ pulls.merge_pull_request=Criar um cometimento de integração
|
||||
pulls.rebase_merge_pull_request=Mudar a base e avançar rapidamente
|
||||
pulls.rebase_merge_commit_pull_request=Mudar a base e criar um cometimento de integração
|
||||
pulls.squash_merge_pull_request=Criar cometimento de compactação
|
||||
pulls.fast_forward_only_merge_pull_request=Avançar rapidamente apenas
|
||||
pulls.merge_manually=Integrado manualmente
|
||||
pulls.merge_commit_id=O ID de cometimento da integração
|
||||
pulls.require_signed_wont_sign=O ramo requer que os cometimentos sejam assinados mas esta integração não vai ser assinada
|
||||
@ -1901,6 +1913,8 @@ wiki.page_name_desc=Insira um nome para esta página Wiki. Alguns dos nomes espe
|
||||
wiki.original_git_entry_tooltip=Ver o ficheiro Git original, ao invés de usar uma ligação amigável.
|
||||
|
||||
activity=Trabalho
|
||||
activity.navbar.pulse=Pulso
|
||||
activity.navbar.contributors=Contribuidores
|
||||
activity.period.filter_label=Período:
|
||||
activity.period.daily=1 dia
|
||||
activity.period.halfweekly=3 dias
|
||||
@ -1966,6 +1980,11 @@ activity.git_stats_and_deletions=e
|
||||
activity.git_stats_deletion_1=%d eliminação
|
||||
activity.git_stats_deletion_n=%d eliminações
|
||||
|
||||
contributors.contribution_type.filter_label=Tipo de contribuição:
|
||||
contributors.contribution_type.commits=Cometimentos
|
||||
contributors.contribution_type.additions=Adições
|
||||
contributors.contribution_type.deletions=Eliminações
|
||||
|
||||
search=Procurar
|
||||
search.search_repo=Procurar repositório
|
||||
search.type.tooltip=Tipo de pesquisa
|
||||
@ -2003,6 +2022,7 @@ settings.mirror_settings.docs.doc_link_title=Como é que eu replico repositório
|
||||
settings.mirror_settings.docs.doc_link_pull_section=a parte "Puxar de um repositório remoto" da documentação.
|
||||
settings.mirror_settings.docs.pulling_remote_title=Puxando a partir de um repositório remoto
|
||||
settings.mirror_settings.mirrored_repository=Repositório replicado
|
||||
settings.mirror_settings.pushed_repository=Repositório enviado
|
||||
settings.mirror_settings.direction=Sentido
|
||||
settings.mirror_settings.direction.pull=Puxada
|
||||
settings.mirror_settings.direction.push=Envio
|
||||
@ -2312,6 +2332,8 @@ settings.protect_approvals_whitelist_users=Revisores com permissão:
|
||||
settings.protect_approvals_whitelist_teams=Equipas com permissão para rever:
|
||||
settings.dismiss_stale_approvals=Descartar aprovações obsoletas
|
||||
settings.dismiss_stale_approvals_desc=Quando novos cometimentos que mudam o conteúdo do pedido de integração forem enviados para o ramo, as aprovações antigas serão descartadas.
|
||||
settings.ignore_stale_approvals=Ignorar aprovações obsoletas
|
||||
settings.ignore_stale_approvals_desc=Não contar as aprovações feitas em cometimentos mais antigos (revisões obsoletas) para o número de aprovações do pedido de integração. É irrelevante se as revisões obsoletas já forem descartadas.
|
||||
settings.require_signed_commits=Exigir cometimentos assinados
|
||||
settings.require_signed_commits_desc=Rejeitar envios para este ramo que não estejam assinados ou que não sejam validáveis.
|
||||
settings.protect_branch_name_pattern=Padrão do nome do ramo protegido
|
||||
@ -2367,6 +2389,7 @@ settings.archive.error=Ocorreu um erro enquanto decorria o processo de arquivo d
|
||||
settings.archive.error_ismirror=Não pode arquivar um repositório que tenha sido replicado.
|
||||
settings.archive.branchsettings_unavailable=As configurações dos ramos não estão disponíveis quando o repositório está arquivado.
|
||||
settings.archive.tagsettings_unavailable=As configurações sobre etiquetas não estão disponíveis quando o repositório está arquivado.
|
||||
settings.archive.mirrors_unavailable=As réplicas não estão disponíveis se o repositório estiver arquivado.
|
||||
settings.unarchive.button=Desarquivar repositório
|
||||
settings.unarchive.header=Desarquivar este repositório
|
||||
settings.unarchive.text=Desarquivar o repositório irá restaurar a capacidade de receber cometimentos e envios, assim como novas questões e pedidos de integração.
|
||||
@ -2565,6 +2588,13 @@ error.csv.too_large=Não é possível apresentar este ficheiro por ser demasiado
|
||||
error.csv.unexpected=Não é possível apresentar este ficheiro porque contém um caractere inesperado na linha %d e coluna %d.
|
||||
error.csv.invalid_field_count=Não é possível apresentar este ficheiro porque tem um número errado de campos na linha %d.
|
||||
|
||||
[graphs]
|
||||
component_loading=A carregar %s...
|
||||
component_loading_failed=Não foi possível carregar %s
|
||||
component_loading_info=Isto pode demorar um pouco…
|
||||
component_failed_to_load=Ocorreu um erro inesperado.
|
||||
contributors.what=contribuições
|
||||
|
||||
[org]
|
||||
org_name_holder=Nome da organização
|
||||
org_full_name_holder=Nome completo da organização
|
||||
@ -2691,6 +2721,7 @@ teams.invite.description=Clique no botão abaixo para se juntar à equipa.
|
||||
|
||||
[admin]
|
||||
dashboard=Painel de controlo
|
||||
self_check=Auto-verificação
|
||||
identity_access=Identidade e acesso
|
||||
users=Contas de utilizador
|
||||
organizations=Organizações
|
||||
@ -2736,6 +2767,7 @@ dashboard.delete_missing_repos=Eliminar todos os repositórios que não tenham o
|
||||
dashboard.delete_missing_repos.started=Foi iniciada a tarefa de eliminação de todos os repositórios que não têm ficheiros git.
|
||||
dashboard.delete_generated_repository_avatars=Eliminar avatares gerados do repositório
|
||||
dashboard.sync_repo_branches=Sincronizar ramos perdidos de dados do git para bases de dados
|
||||
dashboard.sync_repo_tags=Sincronizar etiquetas dos dados do git para a base de dados
|
||||
dashboard.update_mirrors=Sincronizar réplicas
|
||||
dashboard.repo_health_check=Verificar a saúde de todos os repositórios
|
||||
dashboard.check_repo_stats=Verificar as estatísticas de todos os repositórios
|
||||
@ -2790,6 +2822,7 @@ dashboard.stop_endless_tasks=Parar tarefas intermináveis
|
||||
dashboard.cancel_abandoned_jobs=Cancelar trabalhos abandonados
|
||||
dashboard.start_schedule_tasks=Iniciar tarefas de agendamento
|
||||
dashboard.sync_branch.started=Sincronização de ramos iniciada
|
||||
dashboard.sync_tag.started=Sincronização de etiquetas iniciada
|
||||
dashboard.rebuild_issue_indexer=Reconstruir indexador de questões
|
||||
|
||||
users.user_manage_panel=Gestão das contas de utilizadores
|
||||
@ -3216,6 +3249,13 @@ notices.desc=Descrição
|
||||
notices.op=Op.
|
||||
notices.delete_success=As notificações do sistema foram eliminadas.
|
||||
|
||||
self_check.no_problem_found=Nenhum problema encontrado até agora.
|
||||
self_check.database_collation_mismatch=Supor que a base de dados usa a colação: %s
|
||||
self_check.database_collation_case_insensitive=A base de dados está a usar a colação %s, que é insensível à diferença entre maiúsculas e minúsculas. Embora o Gitea possa trabalhar com ela, pode haver alguns casos raros que não funcionem como esperado.
|
||||
self_check.database_inconsistent_collation_columns=A base de dados está a usar a colação %s, mas estas colunas estão a usar colações diferentes. Isso poderá causar alguns problemas inesperados.
|
||||
self_check.database_fix_mysql=Para utilizadores do MySQL/MariaDB, pode usar o comando "gitea doctor convert" para resolver os problemas de colação. Também pode resolver o problema com comandos SQL "ALTER ... COLLATE ..." aplicados manualmente.
|
||||
self_check.database_fix_mssql=Para utilizadores do MSSQL só pode resolver o problema aplicando comandos SQL "ALTER ... COLLATE ..." manualmente, por enquanto.
|
||||
|
||||
[action]
|
||||
create_repo=criou o repositório <a href="%s">%s</a>
|
||||
rename_repo=renomeou o repositório de <code>%[1]s</code> para <a href="%[2]s">%[3]s</a>
|
||||
@ -3400,6 +3440,9 @@ rpm.registry=Configurar este registo usando a linha de comandos:
|
||||
rpm.distros.redhat=em distribuições baseadas no RedHat
|
||||
rpm.distros.suse=em distribuições baseadas no SUSE
|
||||
rpm.install=Para instalar o pacote, execute o seguinte comando:
|
||||
rpm.repository=Informação do repositório
|
||||
rpm.repository.architectures=Arquitecturas
|
||||
rpm.repository.multiple_groups=Este pacote está disponível em vários grupos.
|
||||
rubygems.install=Para instalar o pacote usando o gem, execute o seguinte comando:
|
||||
rubygems.install2=ou adicione-o ao ficheiro <code>Gemfile</code>:
|
||||
rubygems.dependencies.runtime=Dependências do tempo de execução (runtime)
|
||||
@ -3532,8 +3575,8 @@ runs.actors_no_select=Todos os intervenientes
|
||||
runs.status_no_select=Todos os estados
|
||||
runs.no_results=Nenhum resultado obtido.
|
||||
runs.no_workflows=Ainda não há sequências de trabalho.
|
||||
runs.no_workflows.quick_start=Não sabe como começar com o Gitea Action? Veja o <a target="_blank" rel="noopener noreferrer" href="%s">guia de iniciação rápida</a>.
|
||||
runs.no_workflows.documentation=Para mais informação sobre o Gitea Action, veja <a target="_blank" rel="noopener noreferrer" href="%s">a documentação</a>.
|
||||
runs.no_workflows.quick_start=Não sabe como começar com o Gitea Actions? Veja o <a target="_blank" rel="noopener noreferrer" href="%s">guia de inicio rápido</a>.
|
||||
runs.no_workflows.documentation=Para mais informação sobre o Gitea Actions veja <a target="_blank" rel="noopener noreferrer" href="%s">a documentação</a>.
|
||||
runs.no_runs=A sequência de trabalho ainda não foi executada.
|
||||
runs.empty_commit_message=(mensagem de cometimento vazia)
|
||||
|
||||
@ -3552,7 +3595,7 @@ variables.none=Ainda não há variáveis.
|
||||
variables.deletion=Remover variável
|
||||
variables.deletion.description=Remover uma variável é permanente e não pode ser revertido. Quer continuar?
|
||||
variables.description=As variáveis serão transmitidas a certas operações e não poderão ser lidas de outra forma.
|
||||
variables.id_not_exist=A variável com o id %d não existe.
|
||||
variables.id_not_exist=A variável com o ID %d não existe.
|
||||
variables.edit=Editar variável
|
||||
variables.deletion.failed=Falha ao remover a variável.
|
||||
variables.deletion.success=A variável foi removida.
|
||||
|
@ -586,6 +586,7 @@ org_still_own_packages=Эта организация всё ещё владее
|
||||
|
||||
target_branch_not_exist=Целевая ветка не существует.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Изменить свой аватар…
|
||||
joined_on=Присоединил(ся/ась) %s
|
||||
@ -1926,6 +1927,8 @@ activity.git_stats_and_deletions=и
|
||||
activity.git_stats_deletion_1=%d удаление
|
||||
activity.git_stats_deletion_n=%d удалений
|
||||
|
||||
contributors.contribution_type.commits=коммитов
|
||||
|
||||
search=Поиск
|
||||
search.search_repo=Поиск по репозиторию
|
||||
search.type.tooltip=Тип поиска
|
||||
@ -2515,6 +2518,8 @@ error.csv.too_large=Не удается отобразить этот файл,
|
||||
error.csv.unexpected=Не удается отобразить этот файл, потому что он содержит неожиданный символ в строке %d и столбце %d.
|
||||
error.csv.invalid_field_count=Не удается отобразить этот файл, потому что он имеет неправильное количество полей в строке %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Название организации
|
||||
org_full_name_holder=Полное название организации
|
||||
@ -3153,6 +3158,7 @@ notices.desc=Описание
|
||||
notices.op=Oп.
|
||||
notices.delete_success=Уведомления системы были удалены.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=создал(а) репозиторий <a href="%s"> %s</a>
|
||||
rename_repo=переименовал(а) репозиторий из <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
|
||||
@ -3337,6 +3343,8 @@ rpm.registry=Настроить реестр из командной строк
|
||||
rpm.distros.redhat=на дистрибутивах семейства RedHat
|
||||
rpm.distros.suse=на дистрибутивах семейства SUSE
|
||||
rpm.install=Чтобы установить пакет, выполните следующую команду:
|
||||
rpm.repository=О репозитории
|
||||
rpm.repository.architectures=Архитектуры
|
||||
rubygems.install=Чтобы установить пакет с помощью gem, выполните следующую команду:
|
||||
rubygems.install2=или добавьте его в Gemfile:
|
||||
rubygems.dependencies.runtime=Зависимости времени выполнения
|
||||
@ -3464,8 +3472,6 @@ runs.status=Статус
|
||||
runs.actors_no_select=Все акторы
|
||||
runs.no_results=Ничего не найдено.
|
||||
runs.no_workflows=Пока нет рабочих процессов.
|
||||
runs.no_workflows.quick_start=Не знаете, как начать использовать Действия Gitea? Читайте <a target="_blank" rel="noopener noreferrer" href="%s">руководство по быстрому старту</a>.
|
||||
runs.no_workflows.documentation=Чтобы узнать больше о Действиях Gitea, читайте <a target="_blank" rel="noopener noreferrer" href="%s">документацию</a>.
|
||||
runs.no_runs=Рабочий поток ещё не запускался.
|
||||
runs.empty_commit_message=(пустое сообщение коммита)
|
||||
|
||||
@ -3484,7 +3490,6 @@ variables.none=Переменных пока нет.
|
||||
variables.deletion=Удалить переменную
|
||||
variables.deletion.description=Удаление переменной необратимо, его нельзя отменить. Продолжить?
|
||||
variables.description=Переменные будут передаваться определенным действиям и не могут быть прочитаны иначе.
|
||||
variables.id_not_exist=Переменная с идентификатором %d не существует.
|
||||
variables.edit=Изменить переменную
|
||||
variables.deletion.failed=Не удалось удалить переменную.
|
||||
variables.deletion.success=Переменная удалена.
|
||||
|
@ -450,6 +450,7 @@ auth_failed=සත්යාපන අසමත් විය: %v
|
||||
|
||||
target_branch_not_exist=ඉලක්කගත ශාඛාව නොපවතී.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=ඔබගේ අවතාරය වෙනස් කරන්න…
|
||||
repositories=කෝෂ්ඨ
|
||||
@ -1459,6 +1460,8 @@ activity.git_stats_and_deletions=සහ
|
||||
activity.git_stats_deletion_1=%d මකාදැමීම
|
||||
activity.git_stats_deletion_n=%d මකාදැමීම්
|
||||
|
||||
contributors.contribution_type.commits=විවරයන්
|
||||
|
||||
search=සොයන්න
|
||||
search.search_repo=කෝෂ්ඨය සොයන්න
|
||||
search.fuzzy=සිනිඳු
|
||||
@ -1910,6 +1913,8 @@ error.csv.too_large=එය ඉතා විශාල නිසා මෙම ග
|
||||
error.csv.unexpected=%d පේළියේ සහ %dතීරුවේ අනපේක්ෂිත චරිතයක් අඩංගු බැවින් මෙම ගොනුව විදැහුම්කරණය කළ නොහැක.
|
||||
error.csv.invalid_field_count=මෙම ගොනුව රේඛාවේ වැරදි ක්ෂේත්ර සංඛ්යාවක් ඇති බැවින් එය විදැහුම්කරණය කළ නොහැක %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=සංවිධානයේ නම
|
||||
org_full_name_holder=සංවිධානයේ සම්පූර්ණ නම
|
||||
@ -2456,6 +2461,7 @@ notices.desc=සවිස්තරය
|
||||
notices.op=ඔප්.
|
||||
notices.delete_success=පද්ධති දැන්වීම් මකා දමා ඇත.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=නිර්මිත ගබඩාව <a href="%s">%s</a>
|
||||
rename_repo=<code>%[1]s</code> සිට <a href="%[2]s">%[3]s</a>දක්වා නම් කරන ලද ගබඩාව
|
||||
|
@ -563,6 +563,7 @@ auth_failed=Overenie zlyhalo: %v
|
||||
|
||||
target_branch_not_exist=Cieľová vetva neexistuje.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Zmeniť svoj avatar…
|
||||
joined_on=Pripojil/a sa %s
|
||||
@ -1144,6 +1145,8 @@ activity.unresolved_conv_label=Otvoriť
|
||||
activity.git_stats_commit_1=%d commit
|
||||
activity.git_stats_commit_n=%d commity
|
||||
|
||||
contributors.contribution_type.commits=Commitov
|
||||
|
||||
search=Hľadať
|
||||
search.type.tooltip=Typ vyhľadávania
|
||||
search.fuzzy=Fuzzy
|
||||
@ -1246,6 +1249,8 @@ release.cancel=Zrušiť
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
code=Kód
|
||||
lower_repositories=repozitáre
|
||||
@ -1328,6 +1333,7 @@ monitor.process.cancel=Zrušiť proces
|
||||
|
||||
|
||||
|
||||
|
||||
[action]
|
||||
compare_commits=Porovnať %d commitov
|
||||
compare_commits_general=Porovnať commity
|
||||
|
@ -390,6 +390,7 @@ auth_failed=Autentisering misslyckades: %v
|
||||
|
||||
target_branch_not_exist=Målgrenen finns inte.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Byt din avatar…
|
||||
repositories=Utvecklingskataloger
|
||||
@ -1227,6 +1228,8 @@ activity.git_stats_and_deletions=och
|
||||
activity.git_stats_deletion_1=%d borttagen
|
||||
activity.git_stats_deletion_n=%d borttagningar
|
||||
|
||||
contributors.contribution_type.commits=Incheckningar
|
||||
|
||||
search=Sök
|
||||
search.search_repo=Sök utvecklingskatalog
|
||||
search.results=Sökresultat för ”%s” i <a href="%s"> %s</a>
|
||||
@ -1535,6 +1538,8 @@ topic.count_prompt=Du kan inte välja fler än 25 ämnen
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Organisationsnamn
|
||||
org_full_name_holder=Organisationens Fullständiga Namn
|
||||
@ -1971,6 +1976,7 @@ notices.desc=Beskrivning
|
||||
notices.op=Op.
|
||||
notices.delete_success=Systemnotifikationer har blivit raderade.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=skapade utvecklingskatalog <a href="%s"> %s</a>
|
||||
rename_repo=döpte om utvecklingskalatogen från <code>%[1]s</code> till <a href="%[2]s">%[3]s</a>
|
||||
|
@ -588,6 +588,7 @@ org_still_own_packages=Bu organizasyon hala bir veya daha fazla pakete sahip, ö
|
||||
|
||||
target_branch_not_exist=Hedef dal mevcut değil.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Profil resmini değiştir…
|
||||
joined_on=%s tarihinde katıldı
|
||||
@ -1966,6 +1967,8 @@ activity.git_stats_and_deletions=ve
|
||||
activity.git_stats_deletion_1=%d silme oldu
|
||||
activity.git_stats_deletion_n=%d silme oldu
|
||||
|
||||
contributors.contribution_type.commits=İşleme
|
||||
|
||||
search=Ara
|
||||
search.search_repo=Depo ara
|
||||
search.type.tooltip=Arama türü
|
||||
@ -2565,6 +2568,8 @@ error.csv.too_large=Bu dosya çok büyük olduğu için işlenemiyor.
|
||||
error.csv.unexpected=%d satırı ve %d sütununda beklenmeyen bir karakter içerdiğinden bu dosya işlenemiyor.
|
||||
error.csv.invalid_field_count=%d satırında yanlış sayıda alan olduğundan bu dosya işlenemiyor.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Organizasyon Adı
|
||||
org_full_name_holder=Organizasyon Tam Adı
|
||||
@ -3216,6 +3221,7 @@ notices.desc=Açıklama
|
||||
notices.op=İşlem
|
||||
notices.delete_success=Sistem bildirimleri silindi.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=depo <a href="%s">%s</a> oluşturuldu
|
||||
rename_repo=<code>%[1]s</code> olan depo adını <a href="%[2]s">%[3]s</a> buna çevirdi
|
||||
@ -3400,6 +3406,8 @@ rpm.registry=Bu kütüğü komut satırını kullanarak kurun:
|
||||
rpm.distros.redhat=RedHat tabanlı dağıtımlarda
|
||||
rpm.distros.suse=SUSE tabanlı dağıtımlarda
|
||||
rpm.install=Paketi kurmak için, aşağıdaki komutu çalıştırın:
|
||||
rpm.repository=Depo Bilgisi
|
||||
rpm.repository.architectures=Mimariler
|
||||
rubygems.install=Paketi gem ile kurmak için, şu komutu çalıştırın:
|
||||
rubygems.install2=veya paketi Gemfile dosyasına ekleyin:
|
||||
rubygems.dependencies.runtime=Çalışma Zamanı Bağımlılıkları
|
||||
@ -3532,8 +3540,6 @@ runs.actors_no_select=Tüm aktörler
|
||||
runs.status_no_select=Tüm durumlar
|
||||
runs.no_results=Eşleşen sonuç yok.
|
||||
runs.no_workflows=Henüz hiç bir iş akışı yok.
|
||||
runs.no_workflows.quick_start=Gitea İşlem'i nasıl başlatacağınızı bilmiyor musunuz? <a target="_blank" rel="noopener noreferrer" href="%s">Hızlı başlangıç rehberine</a> bakabilirsiniz.
|
||||
runs.no_workflows.documentation=Gitea İşlem'i hakkında daha fazla bilgi için, <a target="_blank" rel="noopener noreferrer" href="%s">belgeye</a> bakabilirsiniz.
|
||||
runs.no_runs=İş akışı henüz hiç çalıştırılmadı.
|
||||
runs.empty_commit_message=(boş işleme iletisi)
|
||||
|
||||
@ -3552,7 +3558,6 @@ variables.none=Henüz hiçbir değişken yok.
|
||||
variables.deletion=Değişkeni kaldır
|
||||
variables.deletion.description=Bir değişkeni kaldırma kalıcıdır ve geri alınamaz. Devam edilsin mi?
|
||||
variables.description=Değişkenler belirli işlemlere aktarılacaktır, bunun dışında okunamaz.
|
||||
variables.id_not_exist=%d kimlikli değişken mevcut değil.
|
||||
variables.edit=Değişkeni Düzenle
|
||||
variables.deletion.failed=Değişken kaldırılamadı.
|
||||
variables.deletion.success=Değişken kaldırıldı.
|
||||
|
@ -466,6 +466,7 @@ auth_failed=Помилка автентифікації: %v
|
||||
|
||||
target_branch_not_exist=Цільової гілки не існує.
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=Змінити свій аватар…
|
||||
repositories=Репозиторії
|
||||
@ -1508,6 +1509,8 @@ activity.git_stats_and_deletions=та
|
||||
activity.git_stats_deletion_1=%d видалений
|
||||
activity.git_stats_deletion_n=%d видалені
|
||||
|
||||
contributors.contribution_type.commits=Коміти
|
||||
|
||||
search=Пошук
|
||||
search.search_repo=Пошук репозиторію
|
||||
search.fuzzy=Неточний
|
||||
@ -1961,6 +1964,8 @@ error.csv.too_large=Не вдається відобразити цей файл
|
||||
error.csv.unexpected=Не вдається відобразити цей файл, тому що він містить неочікуваний символ в рядку %d і стовпці %d.
|
||||
error.csv.invalid_field_count=Не вдається відобразити цей файл, тому що він має неправильну кількість полів у рядку %d.
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=Назва організації
|
||||
org_full_name_holder=Повна назва організації
|
||||
@ -2510,6 +2515,7 @@ notices.desc=Опис
|
||||
notices.op=Оп.
|
||||
notices.delete_success=Сповіщення системи були видалені.
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=створив(ла) репозиторій <a href="%s">%s</a>
|
||||
rename_repo=репозиторій перейменовано з <code>%[1]s</code> на <a href="%[2]s">%[3]s</a>
|
||||
|
@ -123,6 +123,7 @@ pin=固定
|
||||
unpin=取消置顶
|
||||
|
||||
artifacts=制品
|
||||
confirm_delete_artifact=您确定要删除制品'%s'吗?
|
||||
|
||||
archived=已归档
|
||||
|
||||
@ -423,6 +424,7 @@ authorization_failed_desc=因为检测到无效请求,授权失败。请尝试
|
||||
sspi_auth_failed=SSPI 认证失败
|
||||
password_pwned=此密码出现在 <a target="_blank" rel="noopener noreferrer" href="https://haveibeenpwned.com/Passwords">被盗密码</a> 列表上并且曾经被公开。 请使用另一个密码再试一次。
|
||||
password_pwned_err=无法完成对 HaveIBeenPwned 的请求
|
||||
last_admin=您不能删除最后一个管理员。必须至少保留一个管理员。
|
||||
|
||||
[mail]
|
||||
view_it_on=在 %s 上查看
|
||||
@ -588,6 +590,8 @@ org_still_own_packages=该组织仍然是一个或多个软件包的拥有者,
|
||||
|
||||
target_branch_not_exist=目标分支不存在。
|
||||
|
||||
admin_cannot_delete_self=当您是管理员时,您不能删除自己。请先移除您的管理员权限
|
||||
|
||||
[user]
|
||||
change_avatar=修改头像
|
||||
joined_on=加入于 %s
|
||||
@ -967,6 +971,8 @@ issue_labels_helper=选择一个工单标签集
|
||||
license=授权许可
|
||||
license_helper=选择授权许可文件。
|
||||
license_helper_desc=许可证说明了其他人可以和不可以用您的代码做什么。不确定哪一个适合你的项目?见 <a target="_blank" rel="noopener noreferrer" href="%s">选择一个许可证</a>
|
||||
object_format=对象格式
|
||||
object_format_helper=仓库的对象格式。之后无法更改。SHA1 是最兼容的。
|
||||
readme=自述
|
||||
readme_helper=选择自述文件模板。
|
||||
readme_helper_desc=这是您可以为您的项目撰写完整描述的地方。
|
||||
@ -984,6 +990,7 @@ mirror_prune=修剪
|
||||
mirror_prune_desc=删除过时的远程跟踪引用
|
||||
mirror_interval=镜像间隔 (有效的时间单位是 'h', 'm', 's')。0 禁用自动定期同步 (最短间隔: %s)
|
||||
mirror_interval_invalid=镜像间隔无效。
|
||||
mirror_sync=已同步
|
||||
mirror_sync_on_commit=推送提交时同步
|
||||
mirror_address=从 URL 克隆
|
||||
mirror_address_desc=在授权框中输入必要的凭据。
|
||||
@ -1034,6 +1041,7 @@ desc.public=公开
|
||||
desc.template=模板
|
||||
desc.internal=内部
|
||||
desc.archived=已存档
|
||||
desc.sha256=SHA256
|
||||
|
||||
template.items=模板选项
|
||||
template.git_content=Git数据(默认分支)
|
||||
@ -1184,6 +1192,8 @@ audio_not_supported_in_browser=您的浏览器不支持使用 HTML5 'video' 标
|
||||
stored_lfs=存储到Git LFS
|
||||
symbolic_link=符号链接
|
||||
executable_file=可执行文件
|
||||
vendored=被供应的
|
||||
generated=已生成的
|
||||
commit_graph=提交图
|
||||
commit_graph.select=选择分支
|
||||
commit_graph.hide_pr_refs=隐藏合并请求
|
||||
@ -1707,6 +1717,7 @@ pulls.select_commit_hold_shift_for_range=选择提交。按住 Shift + 单击选
|
||||
pulls.review_only_possible_for_full_diff=只有在查看全部差异时才能进行审核
|
||||
pulls.filter_changes_by_commit=按提交筛选
|
||||
pulls.nothing_to_compare=分支内容相同,无需创建合并请求。
|
||||
pulls.nothing_to_compare_have_tag=所选分支/标签相同。
|
||||
pulls.nothing_to_compare_and_allow_empty_pr=这些分支是相等的,此合并请求将为空。
|
||||
pulls.has_pull_request=这些分支之间的合并请求已存在: <a href="%[1]s">%[2]s#%[3]d</a>
|
||||
pulls.create=创建合并请求
|
||||
@ -1901,6 +1912,7 @@ wiki.page_name_desc=输入此 Wiki 页面的名称。特殊名称有:'Home', '
|
||||
wiki.original_git_entry_tooltip=查看原始的 Git 文件而不是使用友好链接。
|
||||
|
||||
activity=动态
|
||||
activity.navbar.contributors=贡献者
|
||||
activity.period.filter_label=周期:
|
||||
activity.period.daily=1 天
|
||||
activity.period.halfweekly=3 天
|
||||
@ -1966,6 +1978,11 @@ activity.git_stats_and_deletions=和
|
||||
activity.git_stats_deletion_1=删除 %d 行
|
||||
activity.git_stats_deletion_n=删除 %d 行
|
||||
|
||||
contributors.contribution_type.filter_label=贡献类型:
|
||||
contributors.contribution_type.commits=提交
|
||||
contributors.contribution_type.additions=更多
|
||||
contributors.contribution_type.deletions=删除
|
||||
|
||||
search=搜索
|
||||
search.search_repo=搜索仓库...
|
||||
search.type.tooltip=搜索类型
|
||||
@ -2003,6 +2020,7 @@ settings.mirror_settings.docs.doc_link_title=如何镜像仓库?
|
||||
settings.mirror_settings.docs.doc_link_pull_section=文档中的 “从远程仓库拉取” 部分。
|
||||
settings.mirror_settings.docs.pulling_remote_title=从远程仓库拉取代码
|
||||
settings.mirror_settings.mirrored_repository=镜像库
|
||||
settings.mirror_settings.pushed_repository=推送仓库
|
||||
settings.mirror_settings.direction=方向
|
||||
settings.mirror_settings.direction.pull=拉取
|
||||
settings.mirror_settings.direction.push=推送
|
||||
@ -2312,6 +2330,8 @@ settings.protect_approvals_whitelist_users=审查者白名单:
|
||||
settings.protect_approvals_whitelist_teams=审查团队白名单:
|
||||
settings.dismiss_stale_approvals=取消过时的批准
|
||||
settings.dismiss_stale_approvals_desc=当新的提交更改合并请求内容被推送到分支时,旧的批准将被撤销。
|
||||
settings.ignore_stale_approvals=忽略过期批准
|
||||
settings.ignore_stale_approvals_desc=对旧提交(过期审核)的批准将不计入 PR 的批准数。如果过期审查已被驳回,则与此无关。
|
||||
settings.require_signed_commits=需要签名提交
|
||||
settings.require_signed_commits_desc=拒绝推送未签名或无法验证的提交到分支
|
||||
settings.protect_branch_name_pattern=受保护的分支名称模式
|
||||
@ -2367,6 +2387,7 @@ settings.archive.error=仓库在归档时出现异常。请通过日志获取详
|
||||
settings.archive.error_ismirror=请不要对镜像仓库归档,谢谢!
|
||||
settings.archive.branchsettings_unavailable=已归档仓库无法进行分支设置。
|
||||
settings.archive.tagsettings_unavailable=已归档仓库的Git标签设置不可用。
|
||||
settings.archive.mirrors_unavailable=如果仓库已被归档,镜像将不可用。
|
||||
settings.unarchive.button=撤销仓库归档
|
||||
settings.unarchive.header=撤销此仓库归档
|
||||
settings.unarchive.text=撤销归档将恢复仓库接收提交、推送,以及新工单和合并请求的能力。
|
||||
@ -2565,6 +2586,13 @@ error.csv.too_large=无法渲染此文件,因为它太大了。
|
||||
error.csv.unexpected=无法渲染此文件,因为它包含了意外字符,其位于第 %d 行和第 %d 列。
|
||||
error.csv.invalid_field_count=无法渲染此文件,因为它在第 %d 行中的字段数有误。
|
||||
|
||||
[graphs]
|
||||
component_loading=正在加载 %s...
|
||||
component_loading_failed=无法加载 %s
|
||||
component_loading_info=这可能需要一点…
|
||||
component_failed_to_load=意外的错误发生了。
|
||||
contributors.what=贡献
|
||||
|
||||
[org]
|
||||
org_name_holder=组织名称
|
||||
org_full_name_holder=组织全名
|
||||
@ -2691,6 +2719,7 @@ teams.invite.description=请点击下面的按钮加入团队。
|
||||
|
||||
[admin]
|
||||
dashboard=管理面板
|
||||
self_check=自我检查
|
||||
identity_access=身份及认证
|
||||
users=帐户管理
|
||||
organizations=组织管理
|
||||
@ -2736,6 +2765,7 @@ dashboard.delete_missing_repos=删除所有丢失 Git 文件的仓库
|
||||
dashboard.delete_missing_repos.started=删除所有丢失 Git 文件的仓库任务已启动。
|
||||
dashboard.delete_generated_repository_avatars=删除生成的仓库头像
|
||||
dashboard.sync_repo_branches=将缺少的分支从 git 数据同步到数据库
|
||||
dashboard.sync_repo_tags=从 git 数据同步标签到数据库
|
||||
dashboard.update_mirrors=更新镜像仓库
|
||||
dashboard.repo_health_check=健康检查所有仓库
|
||||
dashboard.check_repo_stats=检查所有仓库统计
|
||||
@ -2790,6 +2820,7 @@ dashboard.stop_endless_tasks=停止永不停止的任务
|
||||
dashboard.cancel_abandoned_jobs=取消丢弃的任务
|
||||
dashboard.start_schedule_tasks=开始调度任务
|
||||
dashboard.sync_branch.started=分支同步已开始
|
||||
dashboard.sync_tag.started=标签同步已开始
|
||||
dashboard.rebuild_issue_indexer=重建工单索引
|
||||
|
||||
users.user_manage_panel=用户帐户管理
|
||||
@ -3216,6 +3247,11 @@ notices.desc=提示描述
|
||||
notices.op=操作
|
||||
notices.delete_success=系统通知已被删除。
|
||||
|
||||
self_check.no_problem_found=尚未发现问题。
|
||||
self_check.database_collation_mismatch=期望数据库使用的校验方式:%s
|
||||
self_check.database_collation_case_insensitive=数据库正在使用一个校验 %s, 这是一个不敏感的校验. 虽然Gitea可以与它合作,但可能有一些罕见的情况不如预期的那样起作用。
|
||||
self_check.database_fix_mysql=对于MySQL/MariaDB用户,您可以使用“gitea doctor convert”命令来解决校验问题。 或者您也可以通过 "ALTER ... COLLATE ..." 这样的SQL 来手动解决这个问题。
|
||||
|
||||
[action]
|
||||
create_repo=创建了仓库 <a href="%s">%s</a>
|
||||
rename_repo=重命名仓库 <code>%[1]s</code> 为 <a href="%[2]s">%[3]s</a>
|
||||
@ -3400,6 +3436,9 @@ rpm.registry=从命令行设置此注册中心:
|
||||
rpm.distros.redhat=在基于 RedHat 的发行版
|
||||
rpm.distros.suse=在基于 SUSE 的发行版
|
||||
rpm.install=要安装包,请运行以下命令:
|
||||
rpm.repository=仓库信息
|
||||
rpm.repository.architectures=架构
|
||||
rpm.repository.multiple_groups=此软件包可在多个组中使用。
|
||||
rubygems.install=要使用 gem 安装软件包,请运行以下命令:
|
||||
rubygems.install2=或将它添加到 Gemfile:
|
||||
rubygems.dependencies.runtime=运行时依赖
|
||||
@ -3532,8 +3571,8 @@ runs.actors_no_select=所有操作者
|
||||
runs.status_no_select=所有状态
|
||||
runs.no_results=没有匹配的结果。
|
||||
runs.no_workflows=目前还没有工作流。
|
||||
runs.no_workflows.quick_start=不知道如何启动Gitea Action?请参阅 <a target="_blank" rel="noopener noreferrer" href="%s">快速启动指南</a>
|
||||
runs.no_workflows.documentation=更多有关 Gitea Action 的信息,请访问 <a target="_blank" rel="noopener noreferrer" href="%s">文档</a>。
|
||||
runs.no_workflows.quick_start=不知道如何使用 Gitea Actions吗?请查看 <a target="_blank" rel="noopener noreferrer" href="%s">快速启动指南</a>。
|
||||
runs.no_workflows.documentation=关于Gitea Actions的更多信息,请参阅 <a target="_blank" rel="noopener noreferrer" href="%s">文档</a>。
|
||||
runs.no_runs=工作流尚未运行过。
|
||||
runs.empty_commit_message=(空白的提交消息)
|
||||
|
||||
@ -3552,7 +3591,7 @@ variables.none=目前还没有变量。
|
||||
variables.deletion=删除变量
|
||||
variables.deletion.description=删除变量是永久性的,无法撤消。继续吗?
|
||||
variables.description=变量将被传给特定的 Actions,其它情况将不能读取
|
||||
variables.id_not_exist=ID %d 变量不存在。
|
||||
variables.id_not_exist=ID为 %d 的变量不存在。
|
||||
variables.edit=编辑变量
|
||||
variables.deletion.failed=删除变量失败。
|
||||
variables.deletion.success=变量已被删除。
|
||||
|
@ -195,6 +195,7 @@ auth_failed=授權驗證失敗:%v
|
||||
|
||||
target_branch_not_exist=目標分支不存在
|
||||
|
||||
|
||||
[user]
|
||||
repositories=儲存庫列表
|
||||
activity=公開活動
|
||||
@ -537,6 +538,8 @@ activity.merged_prs_label=已合併
|
||||
activity.closed_issue_label=已關閉
|
||||
activity.new_issues_count_1=建立問題
|
||||
|
||||
contributors.contribution_type.commits=提交歷史
|
||||
|
||||
search=搜尋
|
||||
|
||||
settings=儲存庫設定
|
||||
@ -639,6 +642,8 @@ release.downloads=下載附件
|
||||
|
||||
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=組織名稱
|
||||
org_full_name_holder=組織全名
|
||||
@ -915,6 +920,7 @@ notices.desc=描述
|
||||
notices.op=操作
|
||||
notices.delete_success=已刪除系統提示。
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=建立了儲存庫 <a href="%s">%s</a>
|
||||
rename_repo=重新命名儲存庫 <code>%[1]s</code> 為 <a href="%[2]s">%[3]s</a>
|
||||
|
@ -555,6 +555,7 @@ org_still_own_packages=此組織仍然擁有一個以上的套件,請先刪除
|
||||
|
||||
target_branch_not_exist=目標分支不存在
|
||||
|
||||
|
||||
[user]
|
||||
change_avatar=更改大頭貼...
|
||||
repositories=儲存庫
|
||||
@ -1776,6 +1777,8 @@ activity.git_stats_and_deletions=和
|
||||
activity.git_stats_deletion_1=刪除 %d 行
|
||||
activity.git_stats_deletion_n=刪除 %d 行
|
||||
|
||||
contributors.contribution_type.commits=提交歷史
|
||||
|
||||
search=搜尋
|
||||
search.search_repo=搜尋儲存庫
|
||||
search.type.tooltip=搜尋類型
|
||||
@ -2321,6 +2324,8 @@ error.csv.too_large=無法渲染此檔案,因為它太大了。
|
||||
error.csv.unexpected=無法渲染此檔案,因為它包含了未預期的字元,於第 %d 行第 %d 列。
|
||||
error.csv.invalid_field_count=無法渲染此檔案,因為它第 %d 行的欄位數量有誤。
|
||||
|
||||
[graphs]
|
||||
|
||||
[org]
|
||||
org_name_holder=組織名稱
|
||||
org_full_name_holder=組織全名
|
||||
@ -2933,6 +2938,7 @@ notices.desc=描述
|
||||
notices.op=操作
|
||||
notices.delete_success=已刪除系統提示。
|
||||
|
||||
|
||||
[action]
|
||||
create_repo=建立了儲存庫 <a href="%s">%s</a>
|
||||
rename_repo=重新命名儲存庫 <code>%[1]s</code> 為 <a href="%[2]s">%[3]s</a>
|
||||
@ -3109,6 +3115,8 @@ pypi.requires=需要 Python
|
||||
pypi.install=執行下列命令以使用 pip 安裝此套件:
|
||||
rpm.registry=透過下列命令設定此註冊中心:
|
||||
rpm.install=執行下列命令安裝此套件:
|
||||
rpm.repository=儲存庫資訊
|
||||
rpm.repository.architectures=架構
|
||||
rubygems.install=執行下列命令以使用 gem 安裝此套件:
|
||||
rubygems.install2=或將它加到 Gemfile:
|
||||
rubygems.dependencies.runtime=執行階段相依性
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"html"
|
||||
"html/template"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@ -499,11 +500,11 @@ func AuthorizeOAuth(ctx *context.Context) {
|
||||
ctx.Data["Scope"] = form.Scope
|
||||
ctx.Data["Nonce"] = form.Nonce
|
||||
if user != nil {
|
||||
ctx.Data["ApplicationCreatorLinkHTML"] = fmt.Sprintf(`<a href="%s">@%s</a>`, html.EscapeString(user.HomeLink()), html.EscapeString(user.Name))
|
||||
ctx.Data["ApplicationCreatorLinkHTML"] = template.HTML(fmt.Sprintf(`<a href="%s">@%s</a>`, html.EscapeString(user.HomeLink()), html.EscapeString(user.Name)))
|
||||
} else {
|
||||
ctx.Data["ApplicationCreatorLinkHTML"] = fmt.Sprintf(`<a href="%s">%s</a>`, html.EscapeString(setting.AppSubURL+"/"), html.EscapeString(setting.AppName))
|
||||
ctx.Data["ApplicationCreatorLinkHTML"] = template.HTML(fmt.Sprintf(`<a href="%s">%s</a>`, html.EscapeString(setting.AppSubURL+"/"), html.EscapeString(setting.AppName)))
|
||||
}
|
||||
ctx.Data["ApplicationRedirectDomainHTML"] = "<strong>" + html.EscapeString(form.RedirectURI) + "</strong>"
|
||||
ctx.Data["ApplicationRedirectDomainHTML"] = template.HTML("<strong>" + html.EscapeString(form.RedirectURI) + "</strong>")
|
||||
// TODO document SESSION <=> FORM
|
||||
err = ctx.Session.Set("client_id", app.ClientID)
|
||||
if err != nil {
|
||||
|
@ -224,37 +224,88 @@ func (n *actionsNotifier) CreateIssueComment(ctx context.Context, doer *user_mod
|
||||
) {
|
||||
ctx = withMethod(ctx, "CreateIssueComment")
|
||||
|
||||
permission, _ := access_model.GetUserRepoPermission(ctx, repo, doer)
|
||||
|
||||
if issue.IsPull {
|
||||
if err := issue.LoadPullRequest(ctx); err != nil {
|
||||
notifyIssueCommentChange(ctx, doer, comment, "", webhook_module.HookEventPullRequestComment, api.HookIssueCommentCreated)
|
||||
return
|
||||
}
|
||||
notifyIssueCommentChange(ctx, doer, comment, "", webhook_module.HookEventIssueComment, api.HookIssueCommentCreated)
|
||||
}
|
||||
|
||||
func (n *actionsNotifier) UpdateComment(ctx context.Context, doer *user_model.User, c *issues_model.Comment, oldContent string) {
|
||||
ctx = withMethod(ctx, "UpdateComment")
|
||||
|
||||
if err := c.LoadIssue(ctx); err != nil {
|
||||
log.Error("LoadIssue: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
if c.Issue.IsPull {
|
||||
notifyIssueCommentChange(ctx, doer, c, oldContent, webhook_module.HookEventPullRequestComment, api.HookIssueCommentEdited)
|
||||
return
|
||||
}
|
||||
notifyIssueCommentChange(ctx, doer, c, oldContent, webhook_module.HookEventIssueComment, api.HookIssueCommentEdited)
|
||||
}
|
||||
|
||||
func (n *actionsNotifier) DeleteComment(ctx context.Context, doer *user_model.User, comment *issues_model.Comment) {
|
||||
ctx = withMethod(ctx, "DeleteComment")
|
||||
|
||||
if err := comment.LoadIssue(ctx); err != nil {
|
||||
log.Error("LoadIssue: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
if comment.Issue.IsPull {
|
||||
notifyIssueCommentChange(ctx, doer, comment, "", webhook_module.HookEventPullRequestComment, api.HookIssueCommentDeleted)
|
||||
return
|
||||
}
|
||||
notifyIssueCommentChange(ctx, doer, comment, "", webhook_module.HookEventIssueComment, api.HookIssueCommentDeleted)
|
||||
}
|
||||
|
||||
func notifyIssueCommentChange(ctx context.Context, doer *user_model.User, comment *issues_model.Comment, oldContent string, event webhook_module.HookEventType, action api.HookIssueCommentAction) {
|
||||
if err := comment.LoadIssue(ctx); err != nil {
|
||||
log.Error("LoadIssue: %v", err)
|
||||
return
|
||||
}
|
||||
if err := comment.Issue.LoadAttributes(ctx); err != nil {
|
||||
log.Error("LoadAttributes: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
permission, _ := access_model.GetUserRepoPermission(ctx, comment.Issue.Repo, doer)
|
||||
|
||||
payload := &api.IssueCommentPayload{
|
||||
Action: action,
|
||||
Issue: convert.ToAPIIssue(ctx, comment.Issue),
|
||||
Comment: convert.ToAPIComment(ctx, comment.Issue.Repo, comment),
|
||||
Repository: convert.ToRepo(ctx, comment.Issue.Repo, permission),
|
||||
Sender: convert.ToUser(ctx, doer, nil),
|
||||
IsPull: comment.Issue.IsPull,
|
||||
}
|
||||
|
||||
if action == api.HookIssueCommentEdited {
|
||||
payload.Changes = &api.ChangesPayload{
|
||||
Body: &api.ChangesFromPayload{
|
||||
From: oldContent,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
if comment.Issue.IsPull {
|
||||
if err := comment.Issue.LoadPullRequest(ctx); err != nil {
|
||||
log.Error("LoadPullRequest: %v", err)
|
||||
return
|
||||
}
|
||||
newNotifyInputFromIssue(issue, webhook_module.HookEventPullRequestComment).
|
||||
newNotifyInputFromIssue(comment.Issue, event).
|
||||
WithDoer(doer).
|
||||
WithPayload(&api.IssueCommentPayload{
|
||||
Action: api.HookIssueCommentCreated,
|
||||
Issue: convert.ToAPIIssue(ctx, issue),
|
||||
Comment: convert.ToAPIComment(ctx, repo, comment),
|
||||
Repository: convert.ToRepo(ctx, repo, permission),
|
||||
Sender: convert.ToUser(ctx, doer, nil),
|
||||
IsPull: true,
|
||||
}).
|
||||
WithPullRequest(issue.PullRequest).
|
||||
WithPayload(payload).
|
||||
WithPullRequest(comment.Issue.PullRequest).
|
||||
Notify(ctx)
|
||||
return
|
||||
}
|
||||
newNotifyInputFromIssue(issue, webhook_module.HookEventIssueComment).
|
||||
|
||||
newNotifyInputFromIssue(comment.Issue, event).
|
||||
WithDoer(doer).
|
||||
WithPayload(&api.IssueCommentPayload{
|
||||
Action: api.HookIssueCommentCreated,
|
||||
Issue: convert.ToAPIIssue(ctx, issue),
|
||||
Comment: convert.ToAPIComment(ctx, repo, comment),
|
||||
Repository: convert.ToRepo(ctx, repo, permission),
|
||||
Sender: convert.ToUser(ctx, doer, nil),
|
||||
IsPull: false,
|
||||
}).
|
||||
WithPayload(payload).
|
||||
Notify(ctx)
|
||||
}
|
||||
|
||||
@ -496,7 +547,6 @@ func (n *actionsNotifier) DeleteRef(ctx context.Context, pusher *user_model.User
|
||||
apiRepo := convert.ToRepo(ctx, repo, access_model.Permission{AccessMode: perm_model.AccessModeNone})
|
||||
|
||||
newNotifyInput(repo, pusher, webhook_module.HookEventDelete).
|
||||
WithRef(refFullName.ShortName()). // FIXME: should we use a full ref name
|
||||
WithPayload(&api.DeletePayload{
|
||||
Ref: refFullName.ShortName(),
|
||||
RefType: refFullName.RefType(),
|
||||
|
@ -136,12 +136,15 @@ func notify(ctx context.Context, input *notifyInput) error {
|
||||
defer gitRepo.Close()
|
||||
|
||||
ref := input.Ref
|
||||
if input.Event == webhook_module.HookEventDelete {
|
||||
// The event is deleting a reference, so it will fail to get the commit for a deleted reference.
|
||||
// Set ref to empty string to fall back to the default branch.
|
||||
ref = ""
|
||||
if ref != input.Repo.DefaultBranch && actions_module.IsDefaultBranchWorkflow(input.Event) {
|
||||
if ref != "" {
|
||||
log.Warn("Event %q should only trigger workflows on the default branch, but its ref is %q. Will fall back to the default branch",
|
||||
input.Event, ref)
|
||||
}
|
||||
ref = input.Repo.DefaultBranch
|
||||
}
|
||||
if ref == "" {
|
||||
log.Warn("Ref of event %q is empty, will fall back to the default branch", input.Event)
|
||||
ref = input.Repo.DefaultBranch
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,11 @@ func ProcReceive(ctx context.Context, repo *repo_model.Repository, gitRepo *git.
|
||||
_, forcePush = opts.GitPushOptions["force-push"]
|
||||
objectFormat, _ := gitRepo.GetObjectFormat()
|
||||
|
||||
pusher, err := user_model.GetUserByID(ctx, opts.UserID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Failed to get user. Error: %w", err)
|
||||
}
|
||||
|
||||
for i := range opts.OldCommitIDs {
|
||||
if opts.NewCommitIDs[i] == objectFormat.EmptyObjectID().String() {
|
||||
results = append(results, private.HookProcReceiveRefResult{
|
||||
@ -116,11 +121,6 @@ func ProcReceive(ctx context.Context, repo *repo_model.Repository, gitRepo *git.
|
||||
description = opts.GitPushOptions["description"]
|
||||
}
|
||||
|
||||
pusher, err := user_model.GetUserByID(ctx, opts.UserID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Failed to get user. Error: %w", err)
|
||||
}
|
||||
|
||||
prIssue := &issues_model.Issue{
|
||||
RepoID: repo.ID,
|
||||
Title: title,
|
||||
|
@ -487,6 +487,8 @@ func (g *GiteaLocalUploader) CreateComments(comments ...*base.Comment) error {
|
||||
if comment.Meta["NewTitle"] != nil {
|
||||
cm.NewTitle = fmt.Sprintf("%s", comment.Meta["NewTitle"])
|
||||
}
|
||||
case issues_model.CommentTypePRScheduledToAutoMerge, issues_model.CommentTypePRUnScheduledToAutoMerge:
|
||||
cm.Content = ""
|
||||
default:
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
issues_model "code.gitea.io/gitea/models/issues"
|
||||
"code.gitea.io/gitea/modules/container"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
base "code.gitea.io/gitea/modules/migration"
|
||||
@ -506,30 +507,8 @@ func (g *GitlabDownloader) GetComments(commentable base.Commentable) ([]*base.Co
|
||||
return nil, false, fmt.Errorf("error while listing comments: %v %w", g.repoID, err)
|
||||
}
|
||||
for _, comment := range comments {
|
||||
// Flatten comment threads
|
||||
if !comment.IndividualNote {
|
||||
for _, note := range comment.Notes {
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: commentable.GetLocalIndex(),
|
||||
Index: int64(note.ID),
|
||||
PosterID: int64(note.Author.ID),
|
||||
PosterName: note.Author.Username,
|
||||
PosterEmail: note.Author.Email,
|
||||
Content: note.Body,
|
||||
Created: *note.CreatedAt,
|
||||
})
|
||||
}
|
||||
} else {
|
||||
c := comment.Notes[0]
|
||||
allComments = append(allComments, &base.Comment{
|
||||
IssueIndex: commentable.GetLocalIndex(),
|
||||
Index: int64(c.ID),
|
||||
PosterID: int64(c.Author.ID),
|
||||
PosterName: c.Author.Username,
|
||||
PosterEmail: c.Author.Email,
|
||||
Content: c.Body,
|
||||
Created: *c.CreatedAt,
|
||||
})
|
||||
for _, note := range comment.Notes {
|
||||
allComments = append(allComments, g.convertNoteToComment(commentable.GetLocalIndex(), note))
|
||||
}
|
||||
}
|
||||
if resp.NextPage == 0 {
|
||||
@ -540,6 +519,29 @@ func (g *GitlabDownloader) GetComments(commentable base.Commentable) ([]*base.Co
|
||||
return allComments, true, nil
|
||||
}
|
||||
|
||||
func (g *GitlabDownloader) convertNoteToComment(localIndex int64, note *gitlab.Note) *base.Comment {
|
||||
comment := &base.Comment{
|
||||
IssueIndex: localIndex,
|
||||
Index: int64(note.ID),
|
||||
PosterID: int64(note.Author.ID),
|
||||
PosterName: note.Author.Username,
|
||||
PosterEmail: note.Author.Email,
|
||||
Content: note.Body,
|
||||
Created: *note.CreatedAt,
|
||||
}
|
||||
|
||||
// Try to find the underlying event of system notes.
|
||||
if note.System {
|
||||
if strings.HasPrefix(note.Body, "enabled an automatic merge") {
|
||||
comment.CommentType = issues_model.CommentTypePRScheduledToAutoMerge.String()
|
||||
} else if note.Body == "canceled the automatic merge" {
|
||||
comment.CommentType = issues_model.CommentTypePRUnScheduledToAutoMerge.String()
|
||||
}
|
||||
}
|
||||
|
||||
return comment
|
||||
}
|
||||
|
||||
// GetPullRequests returns pull requests according page and perPage
|
||||
func (g *GitlabDownloader) GetPullRequests(page, perPage int) ([]*base.PullRequest, bool, error) {
|
||||
if perPage > g.maxPerPage {
|
||||
|
@ -517,6 +517,71 @@ func TestAwardsToReactions(t *testing.T) {
|
||||
}, reactions)
|
||||
}
|
||||
|
||||
func TestNoteToComment(t *testing.T) {
|
||||
downloader := &GitlabDownloader{}
|
||||
|
||||
now := time.Now()
|
||||
makeTestNote := func(id int, body string, system bool) gitlab.Note {
|
||||
return gitlab.Note{
|
||||
ID: id,
|
||||
Author: struct {
|
||||
ID int `json:"id"`
|
||||
Username string `json:"username"`
|
||||
Email string `json:"email"`
|
||||
Name string `json:"name"`
|
||||
State string `json:"state"`
|
||||
AvatarURL string `json:"avatar_url"`
|
||||
WebURL string `json:"web_url"`
|
||||
}{
|
||||
ID: 72,
|
||||
Email: "test@example.com",
|
||||
Username: "test",
|
||||
},
|
||||
Body: body,
|
||||
CreatedAt: &now,
|
||||
System: system,
|
||||
}
|
||||
}
|
||||
notes := []gitlab.Note{
|
||||
makeTestNote(1, "This is a regular comment", false),
|
||||
makeTestNote(2, "enabled an automatic merge for abcd1234", true),
|
||||
makeTestNote(3, "canceled the automatic merge", true),
|
||||
}
|
||||
comments := []base.Comment{{
|
||||
IssueIndex: 17,
|
||||
Index: 1,
|
||||
PosterID: 72,
|
||||
PosterName: "test",
|
||||
PosterEmail: "test@example.com",
|
||||
CommentType: "",
|
||||
Content: "This is a regular comment",
|
||||
Created: now,
|
||||
}, {
|
||||
IssueIndex: 17,
|
||||
Index: 2,
|
||||
PosterID: 72,
|
||||
PosterName: "test",
|
||||
PosterEmail: "test@example.com",
|
||||
CommentType: "pull_scheduled_merge",
|
||||
Content: "enabled an automatic merge for abcd1234",
|
||||
Created: now,
|
||||
}, {
|
||||
IssueIndex: 17,
|
||||
Index: 3,
|
||||
PosterID: 72,
|
||||
PosterName: "test",
|
||||
PosterEmail: "test@example.com",
|
||||
CommentType: "pull_cancel_scheduled_merge",
|
||||
Content: "canceled the automatic merge",
|
||||
Created: now,
|
||||
}}
|
||||
|
||||
for i, note := range notes {
|
||||
actualComment := *downloader.convertNoteToComment(17, ¬e)
|
||||
assert.EqualValues(t, actualComment, comments[i])
|
||||
}
|
||||
}
|
||||
|
||||
func TestGitlabIIDResolver(t *testing.T) {
|
||||
r := gitlabIIDResolver{}
|
||||
r.recordIssueIID(1)
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="admin-setting-content">
|
||||
{{if .NeedUpdate}}
|
||||
<div class="ui negative message flash-error">
|
||||
<p>{{(ctx.Locale.Tr "admin.dashboard.new_version_hint" .RemoteVersion AppVer) | Str2html}}</p>
|
||||
<p>{{ctx.Locale.Tr "admin.dashboard.new_version_hint" .RemoteVersion AppVer}}</p>
|
||||
</div>
|
||||
{{end}}
|
||||
<h4 class="ui top attached header">
|
||||
|
@ -7,7 +7,7 @@
|
||||
</div>
|
||||
{{else if .SearchResults}}
|
||||
<h3>
|
||||
{{ctx.Locale.Tr "explore.code_search_results" (.Keyword|Escape) | Str2html}}
|
||||
{{ctx.Locale.Tr "explore.code_search_results" (.Keyword|Escape)}}
|
||||
</h3>
|
||||
{{template "code/searchresults" .}}
|
||||
{{else if .Keyword}}
|
||||
|
@ -36,7 +36,7 @@
|
||||
</div>
|
||||
{{if and .PageIsExploreRepositories .OnlyShowRelevant}}
|
||||
<div class="ui message explore-relevancy-note">
|
||||
<span data-tooltip-content="{{ctx.Locale.Tr "explore.relevant_repositories_tooltip"}}">{{ctx.Locale.Tr "explore.relevant_repositories" ((printf "?only_show_relevant=0&sort=%s&q=%s&language=%s" $.SortType (QueryEscape $.Keyword) (QueryEscape $.Language))|Escape) | Safe}}</span>
|
||||
<span data-tooltip-content="{{ctx.Locale.Tr "explore.relevant_repositories_tooltip"}}">{{ctx.Locale.Tr "explore.relevant_repositories" ((printf "?only_show_relevant=0&sort=%s&q=%s&language=%s" $.SortType (QueryEscape $.Keyword) (QueryEscape $.Language))|Escape)}}</span>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="divider"></div>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<a href="mailto:{{.Email}}">{{.Email}}</a>
|
||||
</span>
|
||||
{{end}}
|
||||
<span class="flex-text-inline">{{svg "octicon-calendar"}}{{ctx.Locale.Tr "user.joined_on" (DateTime "short" .CreatedUnix) | Safe}}</span>
|
||||
<span class="flex-text-inline">{{svg "octicon-calendar"}}{{ctx.Locale.Tr "user.joined_on" (DateTime "short" .CreatedUnix)}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -17,7 +17,7 @@
|
||||
{{svg "octicon-flame"}} {{ctx.Locale.Tr "startpage.install"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{ctx.Locale.Tr "startpage.install_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "startpage.install_desc"}}
|
||||
</p>
|
||||
</div>
|
||||
<div class="eight wide center column">
|
||||
@ -25,7 +25,7 @@
|
||||
{{svg "octicon-device-desktop"}} {{ctx.Locale.Tr "startpage.platform"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{ctx.Locale.Tr "startpage.platform_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "startpage.platform_desc"}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -35,7 +35,7 @@
|
||||
{{svg "octicon-rocket"}} {{ctx.Locale.Tr "startpage.lightweight"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{ctx.Locale.Tr "startpage.lightweight_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "startpage.lightweight_desc"}}
|
||||
</p>
|
||||
</div>
|
||||
<div class="eight wide center column">
|
||||
@ -43,7 +43,7 @@
|
||||
{{svg "octicon-code"}} {{ctx.Locale.Tr "startpage.license"}}
|
||||
</h1>
|
||||
<p class="large">
|
||||
{{ctx.Locale.Tr "startpage.license_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "startpage.license_desc"}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -8,7 +8,7 @@
|
||||
<div class="ui attached segment">
|
||||
{{template "base/alert" .}}
|
||||
|
||||
<p>{{ctx.Locale.Tr "install.docker_helper" "https://docs.gitea.com/installation/install-with-docker" | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "install.docker_helper" "https://docs.gitea.com/installation/install-with-docker"}}</p>
|
||||
|
||||
<form class="ui form" action="{{AppSubUrl}}/" method="post">
|
||||
<!-- Database Settings -->
|
||||
@ -72,7 +72,7 @@
|
||||
<div class="inline required field {{if or .Err_DbPath .Err_DbSetting}}error{{end}}">
|
||||
<label for="db_path">{{ctx.Locale.Tr "install.path"}}</label>
|
||||
<input id="db_path" name="db_path" value="{{.db_path}}">
|
||||
<span class="help">{{ctx.Locale.Tr "install.sqlite_helper" | Safe}}</span>
|
||||
<span class="help">{{ctx.Locale.Tr "install.sqlite_helper"}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
{{$activate_url := printf "%suser/activate?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<body>
|
||||
<p>{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName | Str2html}}</p><br>
|
||||
<p>{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives | Str2html}}</p><p><a href="{{$activate_url}}">{{$activate_url}}</a></p><br>
|
||||
<p>{{.locale.Tr "mail.activate_account.text_1" (.DisplayName|DotEscape) AppName}}</p><br>
|
||||
<p>{{.locale.Tr "mail.activate_account.text_2" .ActiveCodeLives}}</p><p><a href="{{$activate_url}}">{{$activate_url}}</a></p><br>
|
||||
<p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
|
||||
<p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
{{$activate_url := printf "%suser/activate_email?code=%s&email=%s" AppUrl (QueryEscape .Code) (QueryEscape .Email)}}
|
||||
<body>
|
||||
<p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape) | Str2html}}</p><br>
|
||||
<p>{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives | Str2html}}</p><p><a href="{{$activate_url}}">{{$activate_url}}</a></p><br>
|
||||
<p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p><br>
|
||||
<p>{{.locale.Tr "mail.activate_email.text" .ActiveCodeLives}}</p><p><a href="{{$activate_url}}">{{$activate_url}}</a></p><br>
|
||||
<p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
|
||||
<p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
|
||||
|
@ -8,10 +8,10 @@
|
||||
|
||||
{{$set_pwd_url := printf "%[1]suser/forgot_password" AppUrl}}
|
||||
<body>
|
||||
<p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape) | Str2html}}</p><br>
|
||||
<p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p><br>
|
||||
<p>{{.locale.Tr "mail.register_notify.text_1" AppName}}</p><br>
|
||||
<p>{{.locale.Tr "mail.register_notify.text_2" .Username}}</p><p><a href="{{AppUrl}}user/login">{{AppUrl}}user/login</a></p><br>
|
||||
<p>{{.locale.Tr "mail.register_notify.text_3" ($set_pwd_url | Escape) | Str2html}}</p><br>
|
||||
<p>{{.locale.Tr "mail.register_notify.text_3" ($set_pwd_url | Escape)}}</p><br>
|
||||
|
||||
<p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
|
||||
</body>
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
{{$recover_url := printf "%suser/recover_account?code=%s" AppUrl (QueryEscape .Code)}}
|
||||
<body>
|
||||
<p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape) | Str2html}}</p><br>
|
||||
<p>{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives | Str2html}}</p><p><a href="{{$recover_url}}">{{$recover_url}}</a></p><br>
|
||||
<p>{{.locale.Tr "mail.hi_user_x" (.DisplayName|DotEscape)}}</p><br>
|
||||
<p>{{.locale.Tr "mail.reset_password.text" .ResetPwdCodeLives}}</p><p><a href="{{$recover_url}}">{{$recover_url}}</a></p><br>
|
||||
<p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
|
||||
<p>© <a target="_blank" rel="noopener noreferrer" href="{{AppUrl}}">{{AppName}}</a></p>
|
||||
|
@ -16,7 +16,7 @@
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{{if .IsMention}}<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name | Str2html}}</p>{{end}}
|
||||
{{if .IsMention}}<p>{{.locale.Tr "mail.issue.x_mentioned_you" .Doer.Name}}</p>{{end}}
|
||||
{{if eq .ActionName "push"}}
|
||||
<p>
|
||||
{{if .Comment.IsForcePush}}
|
||||
@ -30,32 +30,32 @@
|
||||
|
||||
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch ($oldCommitLink|Safe) ($newCommitLink|Safe)}}
|
||||
{{else}}
|
||||
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits) | Str2html}}
|
||||
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
|
||||
{{end}}
|
||||
</p>
|
||||
{{end}}
|
||||
<p>
|
||||
{{if eq .ActionName "close"}}
|
||||
{{.locale.Tr "mail.issue.action.close" (Escape .Doer.Name) .Issue.Index | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.close" (Escape .Doer.Name) .Issue.Index}}
|
||||
{{else if eq .ActionName "reopen"}}
|
||||
{{.locale.Tr "mail.issue.action.reopen" (Escape .Doer.Name) .Issue.Index | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.reopen" (Escape .Doer.Name) .Issue.Index}}
|
||||
{{else if eq .ActionName "merge"}}
|
||||
{{.locale.Tr "mail.issue.action.merge" (Escape .Doer.Name) .Issue.Index (Escape .Issue.PullRequest.BaseBranch) | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.merge" (Escape .Doer.Name) .Issue.Index (Escape .Issue.PullRequest.BaseBranch)}}
|
||||
{{else if eq .ActionName "approve"}}
|
||||
{{.locale.Tr "mail.issue.action.approve" (Escape .Doer.Name) | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.approve" (Escape .Doer.Name)}}
|
||||
{{else if eq .ActionName "reject"}}
|
||||
{{.locale.Tr "mail.issue.action.reject" (Escape .Doer.Name) | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.reject" (Escape .Doer.Name)}}
|
||||
{{else if eq .ActionName "review"}}
|
||||
{{.locale.Tr "mail.issue.action.review" (Escape .Doer.Name) | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.review" (Escape .Doer.Name)}}
|
||||
{{else if eq .ActionName "review_dismissed"}}
|
||||
{{.locale.Tr "mail.issue.action.review_dismissed" (Escape .Doer.Name) (Escape .Comment.Review.Reviewer.Name) | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.review_dismissed" (Escape .Doer.Name) (Escape .Comment.Review.Reviewer.Name)}}
|
||||
{{else if eq .ActionName "ready_for_review"}}
|
||||
{{.locale.Tr "mail.issue.action.ready_for_review" (Escape .Doer.Name) | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.ready_for_review" (Escape .Doer.Name)}}
|
||||
{{end}}
|
||||
|
||||
{{- if eq .Body ""}}
|
||||
{{if eq .ActionName "new"}}
|
||||
{{.locale.Tr "mail.issue.action.new" (Escape .Doer.Name) .Issue.Index | Str2html}}
|
||||
{{.locale.Tr "mail.issue.action.new" (Escape .Doer.Name) .Issue.Index}}
|
||||
{{end}}
|
||||
{{else}}
|
||||
{{.Body | Str2html}}
|
||||
|
@ -5,7 +5,7 @@
|
||||
<meta name="format-detection" content="telephone=no,date=no,address=no,email=no,url=no">
|
||||
</head>
|
||||
<body>
|
||||
<p>{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName) | Str2html}}</p>
|
||||
<p>{{.locale.Tr "mail.team_invite.text_1" (DotEscape .Inviter.DisplayName) (DotEscape .Team.Name) (DotEscape .Organization.DisplayName)}}</p>
|
||||
<p>{{.locale.Tr "mail.team_invite.text_2"}}</p><p><a href="{{.InviteURL}}">{{.InviteURL}}</a></p>
|
||||
<p>{{.locale.Tr "mail.link_not_working_do_paste"}}</p>
|
||||
<p>{{.locale.Tr "mail.team_invite.text_3" .Invite.Email}}</p>
|
||||
|
@ -6,7 +6,7 @@
|
||||
</h4>
|
||||
<div class="ui attached error segment">
|
||||
<div class="ui red message">
|
||||
<p class="text left">{{svg "octicon-alert"}} {{ctx.Locale.Tr "org.settings.delete_prompt" | Str2html}}</p>
|
||||
<p class="text left">{{svg "octicon-alert"}} {{ctx.Locale.Tr "org.settings.delete_prompt"}}</p>
|
||||
</div>
|
||||
<form class="ui form ignore-dirty" id="delete-form" action="{{.Link}}" method="post">
|
||||
{{.CsrfTokenHtml}}
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="org-setting-content">
|
||||
<div class="gt-df gt-ac">
|
||||
<div class="gt-f1">
|
||||
{{ctx.Locale.Tr "org.settings.labels_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "org.settings.labels_desc"}}
|
||||
</div>
|
||||
<button class="ui small primary new-label button">{{ctx.Locale.Tr "repo.issues.new_label"}}</button>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
{{ctx.AvatarUtils.Avatar .Organization 140}}
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="header">{{ctx.Locale.Tr "org.teams.invite.title" .Team.Name .Organization.Name | Str2html}}</div>
|
||||
<div class="header">{{ctx.Locale.Tr "org.teams.invite.title" .Team.Name .Organization.Name}}</div>
|
||||
<div class="meta">{{ctx.Locale.Tr "org.teams.invite.by" .Inviter.Name}}</div>
|
||||
<div class="description">{{ctx.Locale.Tr "org.teams.invite.description"}}</div>
|
||||
</div>
|
||||
|
@ -32,14 +32,14 @@
|
||||
<div class="ui radio checkbox">
|
||||
<input type="radio" name="repo_access" value="specific" {{if not .Team.IncludesAllRepositories}}checked{{end}}>
|
||||
<label>{{ctx.Locale.Tr "org.teams.specific_repositories"}}</label>
|
||||
<span class="help">{{ctx.Locale.Tr "org.teams.specific_repositories_helper" | Str2html}}</span>
|
||||
<span class="help">{{ctx.Locale.Tr "org.teams.specific_repositories_helper"}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="ui radio checkbox">
|
||||
<input type="radio" name="repo_access" value="all" {{if .Team.IncludesAllRepositories}}checked{{end}}>
|
||||
<label>{{ctx.Locale.Tr "org.teams.all_repositories"}}</label>
|
||||
<span class="help">{{ctx.Locale.Tr "org.teams.all_repositories_helper" | Str2html}}</span>
|
||||
<span class="help">{{ctx.Locale.Tr "org.teams.all_repositories_helper"}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -27,16 +27,16 @@
|
||||
</div>
|
||||
{{if eq .Team.LowerName "owners"}}
|
||||
<div class="item">
|
||||
{{ctx.Locale.Tr "org.teams.owners_permission_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "org.teams.owners_permission_desc"}}
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="item">
|
||||
<h3>{{ctx.Locale.Tr "org.team_access_desc"}}</h3>
|
||||
<ul>
|
||||
{{if .Team.IncludesAllRepositories}}
|
||||
<li>{{ctx.Locale.Tr "org.teams.all_repositories" | Str2html}}</li>
|
||||
<li>{{ctx.Locale.Tr "org.teams.all_repositories"}}</li>
|
||||
{{else}}
|
||||
<li>{{ctx.Locale.Tr "org.teams.specific_repositories" | Str2html}}</li>
|
||||
<li>{{ctx.Locale.Tr "org.teams.specific_repositories"}}</li>
|
||||
{{end}}
|
||||
{{if .Team.CanCreateOrgRepo}}
|
||||
<li>{{ctx.Locale.Tr "org.teams.can_create_org_repo"}}</li>
|
||||
@ -44,10 +44,10 @@
|
||||
</ul>
|
||||
{{if (eq .Team.AccessMode 2)}}
|
||||
<h3>{{ctx.Locale.Tr "org.settings.permission"}}</h3>
|
||||
{{ctx.Locale.Tr "org.teams.write_permission_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "org.teams.write_permission_desc"}}
|
||||
{{else if (eq .Team.AccessMode 3)}}
|
||||
<h3>{{ctx.Locale.Tr "org.settings.permission"}}</h3>
|
||||
{{ctx.Locale.Tr "org.teams.admin_permission_desc" | Str2html}}
|
||||
{{ctx.Locale.Tr "org.teams.admin_permission_desc"}}
|
||||
{{else}}
|
||||
<table class="ui table">
|
||||
<thead>
|
||||
|
@ -3,12 +3,12 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.alpine.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.alpine.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code><gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{$.PackageDescriptor.Owner.Name}}/alpine"></gitea-origin-url>/$branch/$repository</code></pre></div>
|
||||
<p>{{ctx.Locale.Tr "packages.alpine.registry.info" | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "packages.alpine.registry.info"}}</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.alpine.registry.key" | Safe}}</label>
|
||||
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.alpine.registry.key"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>curl -JO <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{$.PackageDescriptor.Owner.Name}}/alpine/key"></gitea-origin-url></code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
@ -18,7 +18,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Alpine" "https://docs.gitea.com/usage/packages/alpine/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Alpine" "https://docs.gitea.com/usage/packages/alpine/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.cargo.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.cargo.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>[registry]
|
||||
default = "gitea"
|
||||
|
||||
@ -19,7 +19,7 @@ git-fetch-with-cli = true</code></pre></div>
|
||||
<div class="markup"><pre class="code-block"><code>cargo add {{.PackageDescriptor.Package.Name}}@{{.PackageDescriptor.Version.Version}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Cargo" "https://docs.gitea.com/usage/packages/cargo/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Cargo" "https://docs.gitea.com/usage/packages/cargo/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.chef.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.chef.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>knife[:supermarket_site] = '<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/chef"></gitea-origin-url>'</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>knife supermarket install {{.PackageDescriptor.Package.Name}} {{.PackageDescriptor.Version.Version}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Chef" "https://docs.gitea.com/usage/packages/chef/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Chef" "https://docs.gitea.com/usage/packages/chef/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.composer.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.composer.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>{
|
||||
"repositories": [{
|
||||
"type": "composer",
|
||||
@ -17,7 +17,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>composer require {{.PackageDescriptor.Package.Name}}:{{.PackageDescriptor.Version.Version}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Composer" "https://docs.gitea.com/usage/packages/composer/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Composer" "https://docs.gitea.com/usage/packages/composer/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>conan install --remote=gitea {{.PackageDescriptor.Package.Name}}/{{.PackageDescriptor.Version.Version}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Conan" "https://docs.gitea.com/usage/packages/conan/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Conan" "https://docs.gitea.com/usage/packages/conan/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.conda.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.conda.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>channel_alias: <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/conda"></gitea-origin-url>
|
||||
channels:
|
||||
  - <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/conda"></gitea-origin-url>
|
||||
@ -16,7 +16,7 @@ default_channels:
|
||||
<div class="markup"><pre class="code-block"><code>conda install{{if $channel}} -c {{$channel}}{{end}} {{.PackageDescriptor.PackageProperties.GetByName "conda.name"}}={{.PackageDescriptor.Version.Version}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Conda" "https://docs.gitea.com/usage/packages/conda/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Conda" "https://docs.gitea.com/usage/packages/conda/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>{{range .PackageDescriptor.Files}}{{if eq .File.LowerName "manifest.json"}}{{.Properties.GetByName "container.digest"}}{{end}}{{end}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Container" "https://docs.gitea.com/usage/packages/container/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Container" "https://docs.gitea.com/usage/packages/container/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.cran.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.cran.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>options("repos" = c(getOption("repos"), c(gitea="<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/cran"></gitea-origin-url>")))</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
@ -11,7 +11,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>install.packages("{{.PackageDescriptor.Package.Name}}")</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "CRAN" "https://docs.gitea.com/usage/packages/cran/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "CRAN" "https://docs.gitea.com/usage/packages/cran/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>sudo curl <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{$.PackageDescriptor.Owner.Name}}/debian/repository.key"></gitea-origin-url> -o /etc/apt/keyrings/gitea-{{$.PackageDescriptor.Owner.Name}}.asc
|
||||
echo "deb [signed-by=/etc/apt/keyrings/gitea-{{$.PackageDescriptor.Owner.Name}}.asc] <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{$.PackageDescriptor.Owner.Name}}/debian"></gitea-origin-url> $distribution $component" | sudo tee -a /etc/apt/sources.list.d/gitea.list
|
||||
sudo apt update</code></pre></div>
|
||||
<p>{{ctx.Locale.Tr "packages.debian.registry.info" | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "packages.debian.registry.info"}}</p>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.debian.install"}}</label>
|
||||
@ -16,7 +16,7 @@ sudo apt update</code></pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Debian" "https://docs.gitea.com/usage/packages/debian/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Debian" "https://docs.gitea.com/usage/packages/debian/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,7 +11,7 @@ curl -OJ <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{$.PackageDescr
|
||||
</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Generic" "https://docs.gitea.com/usage/packages/generic" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Generic" "https://docs.gitea.com/usage/packages/generic"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>GOPROXY=<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{$.PackageDescriptor.Owner.Name}}/go"></gitea-origin-url> go install {{$.PackageDescriptor.Package.Name}}@{{$.PackageDescriptor.Version.Version}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Go" "https://docs.gitea.com/usage/packages/go" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Go" "https://docs.gitea.com/usage/packages/go"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -12,7 +12,7 @@ helm repo update</code></pre></div>
|
||||
<div class="markup"><pre class="code-block"><code>helm install {{.PackageDescriptor.Package.Name}} {{AppDomain}}/{{.PackageDescriptor.Package.Name}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Helm" "https://docs.gitea.com/usage/packages/helm/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Helm" "https://docs.gitea.com/usage/packages/helm/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.maven.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.maven.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code><repositories>
|
||||
<repository>
|
||||
<id>gitea</id>
|
||||
@ -24,7 +24,7 @@
|
||||
</distributionManagement></code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.maven.install" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.maven.install"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code><dependency>
|
||||
<groupId>{{.PackageDescriptor.Metadata.GroupID}}</groupId>
|
||||
<artifactId>{{.PackageDescriptor.Metadata.ArtifactID}}</artifactId>
|
||||
@ -40,7 +40,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>mvn dependency:get -DremoteRepositories=<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/maven"></gitea-origin-url> -Dartifact={{.PackageDescriptor.Metadata.GroupID}}:{{.PackageDescriptor.Metadata.ArtifactID}}:{{.PackageDescriptor.Version.Version}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Maven" "https://docs.gitea.com/usage/packages/maven/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Maven" "https://docs.gitea.com/usage/packages/maven/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.npm.registry" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.npm.registry"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>{{if .PackageDescriptor.Metadata.Scope}}{{.PackageDescriptor.Metadata.Scope}}:{{end}}registry=<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/npm/"></gitea-origin-url></code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
@ -15,7 +15,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>"{{.PackageDescriptor.Package.Name}}": "{{.PackageDescriptor.Version.Version}}"</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "npm" "https://docs.gitea.com/usage/packages/npm/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "npm" "https://docs.gitea.com/usage/packages/npm/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -11,7 +11,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>dotnet add package --source {{.PackageDescriptor.Owner.Name}} --version {{.PackageDescriptor.Version.Version}} {{.PackageDescriptor.Package.Name}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "NuGet" "https://docs.gitea.com/usage/packages/nuget/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "NuGet" "https://docs.gitea.com/usage/packages/nuget/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>dart pub add {{.PackageDescriptor.Package.Name}}:{{.PackageDescriptor.Version.Version}} --hosted-url=<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/pub/"></gitea-origin-url></code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Pub" "https://docs.gitea.com/usage/packages/pub/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Pub" "https://docs.gitea.com/usage/packages/pub/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>pip install --index-url <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/pypi/simple/"></gitea-origin-url> {{.PackageDescriptor.Package.Name}}</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "PyPI" "https://docs.gitea.com/usage/packages/pypi/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "PyPI" "https://docs.gitea.com/usage/packages/pypi/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -31,7 +31,7 @@ zypper install {{$.PackageDescriptor.Package.Name}}</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "RPM" "https://docs.gitea.com/usage/packages/rpm/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "RPM" "https://docs.gitea.com/usage/packages/rpm/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.rubygems.install" | Safe}}:</label>
|
||||
<label>{{svg "octicon-terminal"}} {{ctx.Locale.Tr "packages.rubygems.install"}}:</label>
|
||||
<div class="markup"><pre class="code-block"><code>gem install {{.PackageDescriptor.Package.Name}} --version "{{.PackageDescriptor.Version.Version}}" --source "<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/rubygems"></gitea-origin-url>"</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
@ -13,7 +13,7 @@
|
||||
end</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "RubyGems" "https://docs.gitea.com/usage/packages/rubygems/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "RubyGems" "https://docs.gitea.com/usage/packages/rubygems/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>swift package-registry set <gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/swift"></gitea-origin-url></code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.swift.install" | Safe}}</label>
|
||||
<label>{{svg "octicon-code"}} {{ctx.Locale.Tr "packages.swift.install"}}</label>
|
||||
<div class="markup"><pre class="code-block"><code>dependencies: [
|
||||
.package(id: "{{.PackageDescriptor.Package.Name}}", from:"{{.PackageDescriptor.Version.Version}}")
|
||||
]</code></pre></div>
|
||||
@ -17,7 +17,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>swift package resolve</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Swift" "https://docs.gitea.com/usage/packages/swift/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Swift" "https://docs.gitea.com/usage/packages/swift/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="markup"><pre class="code-block"><code>vagrant box add --box-version {{.PackageDescriptor.Version.Version}} "<gitea-origin-url data-url="{{AppSubUrl}}/api/packages/{{.PackageDescriptor.Owner.Name}}/vagrant/{{.PackageDescriptor.Package.Name}}"></gitea-origin-url>"</code></pre></div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Vagrant" "https://docs.gitea.com/usage/packages/vagrant/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Vagrant" "https://docs.gitea.com/usage/packages/vagrant/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -18,7 +18,7 @@
|
||||
<button class="ui primary button">{{ctx.Locale.Tr "packages.owner.settings.cargo.rebuild"}}</button>
|
||||
</form>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Cargo" "https://docs.gitea.com/usage/packages/cargo/" | Safe}}</label>
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Cargo" "https://docs.gitea.com/usage/packages/cargo/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -40,7 +40,7 @@
|
||||
<div class="field {{if .Err_KeepPattern}}error{{end}}">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern"}}:</label>
|
||||
<input name="keep_pattern" type="text" value="{{.CleanupRule.KeepPattern}}">
|
||||
<p>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern.container" | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern.container"}}</p>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<p>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.title"}}</p>
|
||||
|
@ -30,9 +30,9 @@
|
||||
{{$hasRepositoryAccess = index $.RepositoryAccessMap .Repository.ID}}
|
||||
{{end}}
|
||||
{{if $hasRepositoryAccess}}
|
||||
{{ctx.Locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape) .Repository.Link (.Repository.FullName | Escape) | Safe}}
|
||||
{{ctx.Locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape) .Repository.Link (.Repository.FullName | Escape)}}
|
||||
{{else}}
|
||||
{{ctx.Locale.Tr "packages.published_by" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape) | Safe}}
|
||||
{{ctx.Locale.Tr "packages.published_by" $timeStr .Creator.HomeLink (.Creator.GetDisplayName | Escape)}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
@ -45,9 +45,9 @@
|
||||
<h2>{{ctx.Locale.Tr "packages.empty"}}</h2>
|
||||
{{if and .Repository .CanWritePackages}}
|
||||
{{$packagesUrl := URLJoin .Owner.HomeLink "-" "packages"}}
|
||||
<p>{{ctx.Locale.Tr "packages.empty.repo" $packagesUrl | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "packages.empty.repo" $packagesUrl}}</p>
|
||||
{{end}}
|
||||
<p>{{ctx.Locale.Tr "packages.empty.documentation" "https://docs.gitea.com/usage/packages/overview/" | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "packages.empty.documentation" "https://docs.gitea.com/usage/packages/overview/"}}</p>
|
||||
</div>
|
||||
{{else}}
|
||||
<p class="gt-py-4">{{ctx.Locale.Tr "packages.filter.no_result"}}</p>
|
||||
|
@ -25,7 +25,7 @@
|
||||
<div class="flex-item-main">
|
||||
<a class="flex-item-title" href="{{.FullWebLink}}">{{.Version.LowerVersion}}</a>
|
||||
<div class="flex-item-body">
|
||||
{{ctx.Locale.Tr "packages.published_by" (TimeSinceUnix .Version.CreatedUnix ctx.Locale) .Creator.HomeLink (.Creator.GetDisplayName | Escape) | Safe}}
|
||||
{{ctx.Locale.Tr "packages.published_by" (TimeSinceUnix .Version.CreatedUnix ctx.Locale) .Creator.HomeLink (.Creator.GetDisplayName | Escape)}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -10,9 +10,9 @@
|
||||
<div>
|
||||
{{$timeStr := TimeSinceUnix .PackageDescriptor.Version.CreatedUnix ctx.Locale}}
|
||||
{{if .HasRepositoryAccess}}
|
||||
{{ctx.Locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) .PackageDescriptor.Repository.Link (.PackageDescriptor.Repository.FullName | Escape) | Safe}}
|
||||
{{ctx.Locale.Tr "packages.published_by_in" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) .PackageDescriptor.Repository.Link (.PackageDescriptor.Repository.FullName | Escape)}}
|
||||
{{else}}
|
||||
{{ctx.Locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape) | Safe}}
|
||||
{{ctx.Locale.Tr "packages.published_by" $timeStr .PackageDescriptor.Creator.HomeLink (.PackageDescriptor.Creator.GetDisplayName | Escape)}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
{{svg "octicon-no-entry" 48}}
|
||||
<h2>{{ctx.Locale.Tr "actions.runs.no_workflows"}}</h2>
|
||||
{{if and .CanWriteCode .CanWriteActions}}
|
||||
<p>{{ctx.Locale.Tr "actions.runs.no_workflows.quick_start" "https://docs.gitea.com/usage/actions/quickstart/" | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "actions.runs.no_workflows.quick_start" "https://docs.gitea.com/usage/actions/quickstart/"}}</p>
|
||||
{{end}}
|
||||
<p>{{ctx.Locale.Tr "actions.runs.no_workflows.documentation" "https://docs.gitea.com/usage/actions/overview/" | Safe}}</p>
|
||||
<p>{{ctx.Locale.Tr "actions.runs.no_workflows.documentation" "https://docs.gitea.com/usage/actions/overview/"}}</p>
|
||||
</div>
|
||||
|
@ -2,11 +2,11 @@
|
||||
{{$revsFileLink := URLJoin .RepoLink "src" .BranchNameSubURL "/.git-blame-ignore-revs"}}
|
||||
{{if .UsesIgnoreRevs}}
|
||||
<div class="ui info message">
|
||||
<p>{{ctx.Locale.Tr "repo.blame.ignore_revs" $revsFileLink (print $revsFileLink "?bypass-blame-ignore=true") | Str2html}}</p>
|
||||
<p>{{ctx.Locale.Tr "repo.blame.ignore_revs" $revsFileLink (print $revsFileLink "?bypass-blame-ignore=true")}}</p>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="ui error message">
|
||||
<p>{{ctx.Locale.Tr "repo.blame.ignore_revs.failed" $revsFileLink | Str2html}}</p>
|
||||
<p>{{ctx.Locale.Tr "repo.blame.ignore_revs.failed" $revsFileLink}}</p>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
|
@ -210,7 +210,7 @@
|
||||
{{ctx.Locale.Tr "repo.branch.delete_html"}} <span class="name"></span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<p>{{ctx.Locale.Tr "repo.branch.delete_desc" | Str2html}}</p>
|
||||
<p>{{ctx.Locale.Tr "repo.branch.delete_desc"}}</p>
|
||||
</div>
|
||||
{{template "base/modal_actions_confirm" .}}
|
||||
</div>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div class="ui positive message gt-df gt-ac">
|
||||
<div class="gt-f1">
|
||||
{{$timeSince := TimeSince .CommitTime.AsTime ctx.Locale}}
|
||||
{{ctx.Locale.Tr "repo.pulls.recently_pushed_new_branches" (Escape .Name) $timeSince | Safe}}
|
||||
{{ctx.Locale.Tr "repo.pulls.recently_pushed_new_branches" (Escape .Name) $timeSince}}
|
||||
</div>
|
||||
<a role="button" class="ui compact positive button gt-m-0" href="{{$.Repository.ComposeBranchCompareURL $.Repository.BaseRepo .Name}}">
|
||||
{{ctx.Locale.Tr "repo.pulls.compare_changes"}}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user