1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2024-11-25 08:59:31 -05:00

Merge branch 'forgejo' into forgejo-federated-star

This commit is contained in:
Michael Jerger 2024-05-22 18:23:21 +02:00
commit 4c87b0b3ee
146 changed files with 11442 additions and 1311 deletions

View file

@ -136,6 +136,7 @@ package "code.gitea.io/gitea/models/user"
func DeleteUserSetting func DeleteUserSetting
func GetUserEmailsByNames func GetUserEmailsByNames
func GetUserNamesByIDs func GetUserNamesByIDs
func DeleteFederatedUser
package "code.gitea.io/gitea/modules/assetfs" package "code.gitea.io/gitea/modules/assetfs"
func Bindata func Bindata

View file

@ -53,6 +53,8 @@ jobs:
MINIO_DOMAIN: minio MINIO_DOMAIN: minio
MINIO_ROOT_USER: 123456 MINIO_ROOT_USER: 123456
MINIO_ROOT_PASSWORD: 12345678 MINIO_ROOT_PASSWORD: 12345678
redis:
image: redis:7.2.4
steps: steps:
- uses: https://code.forgejo.org/actions/checkout@v3 - uses: https://code.forgejo.org/actions/checkout@v3
- uses: https://code.forgejo.org/actions/setup-go@v4 - uses: https://code.forgejo.org/actions/setup-go@v4
@ -82,6 +84,7 @@ jobs:
env: env:
RACE_ENABLED: 'true' RACE_ENABLED: 'true'
TAGS: bindata TAGS: bindata
TEST_REDIS_SERVER: redis:6379
test-mysql: test-mysql:
if: ${{ !startsWith(vars.ROLE, 'forgejo-') }} if: ${{ !startsWith(vars.ROLE, 'forgejo-') }}
runs-on: docker runs-on: docker

View file

@ -33,6 +33,8 @@ run:
output: output:
sort-results: true sort-results: true
sort-order: [file]
show-stats: true
linters-settings: linters-settings:
stylecheck: stylecheck:
@ -44,11 +46,7 @@ linters-settings:
- ifElseChain - ifElseChain
- singleCaseSwitch # Every time this occurred in the code, there was no other way. - singleCaseSwitch # Every time this occurred in the code, there was no other way.
revive: revive:
ignore-generated-header: false severity: error
severity: warning
confidence: 0.8
errorCode: 1
warningCode: 1
rules: rules:
- name: atomic - name: atomic
- name: bare-return - name: bare-return

View file

@ -38,6 +38,7 @@ GO_LICENSES_PACKAGE ?= github.com/google/go-licenses@v1.6.0 # renovate: datasour
GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1 # renovate: datasource=go GOVULNCHECK_PACKAGE ?= golang.org/x/vuln/cmd/govulncheck@v1 # renovate: datasource=go
ACTIONLINT_PACKAGE ?= github.com/rhysd/actionlint/cmd/actionlint@v1.6.27 # renovate: datasource=go ACTIONLINT_PACKAGE ?= github.com/rhysd/actionlint/cmd/actionlint@v1.6.27 # renovate: datasource=go
DEADCODE_PACKAGE ?= golang.org/x/tools/internal/cmd/deadcode@v0.14.0 # renovate: datasource=go DEADCODE_PACKAGE ?= golang.org/x/tools/internal/cmd/deadcode@v0.14.0 # renovate: datasource=go
GOMOCK_PACKAGE ?= go.uber.org/mock/mockgen@v0.4.0 # renovate: datasource=go
DOCKER_IMAGE ?= gitea/gitea DOCKER_IMAGE ?= gitea/gitea
DOCKER_TAG ?= latest DOCKER_TAG ?= latest
@ -259,6 +260,7 @@ help:
@echo " - generate-license update license files" @echo " - generate-license update license files"
@echo " - generate-gitignore update gitignore files" @echo " - generate-gitignore update gitignore files"
@echo " - generate-manpage generate manpage" @echo " - generate-manpage generate manpage"
@echo " - generate-gomock generate gomock files"
@echo " - generate-forgejo-api generate the forgejo API from spec" @echo " - generate-forgejo-api generate the forgejo API from spec"
@echo " - forgejo-api-validate check if the forgejo API matches the specs" @echo " - forgejo-api-validate check if the forgejo API matches the specs"
@echo " - generate-swagger generate the swagger spec from code comments" @echo " - generate-swagger generate the swagger spec from code comments"
@ -884,6 +886,7 @@ deps-tools:
$(GO) install $(GO_LICENSES_PACKAGE) $(GO) install $(GO_LICENSES_PACKAGE)
$(GO) install $(GOVULNCHECK_PACKAGE) $(GO) install $(GOVULNCHECK_PACKAGE)
$(GO) install $(ACTIONLINT_PACKAGE) $(GO) install $(ACTIONLINT_PACKAGE)
$(GO) install $(GOMOCK_PACKAGE)
node_modules: package-lock.json node_modules: package-lock.json
npm install --no-save npm install --no-save
@ -968,6 +971,10 @@ generate-license:
generate-gitignore: generate-gitignore:
$(GO) run build/generate-gitignores.go $(GO) run build/generate-gitignores.go
.PHONY: generate-gomock
generate-gomock:
$(GO) run $(GOMOCK_PACKAGE) -package mock -destination ./modules/queue/mock/redisuniversalclient.go github.com/redis/go-redis/v9 UniversalClient
.PHONY: generate-images .PHONY: generate-images
generate-images: | node_modules generate-images: | node_modules
npm install --no-save fabric@6.0.0-beta20 imagemin-zopfli@7 npm install --no-save fabric@6.0.0-beta20 imagemin-zopfli@7

View file

@ -8,6 +8,56 @@ A [patch or minor release](https://semver.org/spec/v2.0.0.html) (e.g. upgrading
- [8.0.0](release-notes/8.0.0/) - [8.0.0](release-notes/8.0.0/)
## 7.0.3
This is a security release. See the documentation for more information on the [upgrade procedure](https://forgejo.org/docs/v7.0/admin/upgrade/).
In addition to the following notable bug fixes, you can browse the [full list of commits](https://codeberg.org/forgejo/forgejo/compare/v7.0.2...v7.0.3) included in this release.
* Container image upgrades
In the Forgejo v7.0.3 container images, the Git version was upgraded to [2.43.4](https://pkgs.alpinelinux.org/packages?name=git&branch=v3.19) which includes fixes for [multiple vulnerabilities](https://github.blog/2024-05-14-securing-git-addressing-5-new-vulnerabilities/). However, the vulnerabilities with a high impact can be exploited when Git is used in an environment (or Operating Systems) which is different from the Forgejo OCI image.
* **Security:**
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3673). Fixed: [CVE-2024-24788](https://pkg.go.dev/vuln/GO-2024-2824): a malformed DNS message in response to a query can cause the lookup functions to get stuck in an infinite loop.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3802). Fixed: backticks in [mermaid](https://mermaid.js.org/) block diagram labels [are not sanitized properly](https://github.com/mermaid-js/mermaid/commit/c7fe9a646574597adefe3e6fb2b3707112a151aa).
* **Bug fixes:**
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3588). Fixed: migration of a repository from gogs fails when it is hosted at a subpath.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3591). Fixed: when creating an OAuth2 application the redirect URLs are not enforced to be mandatory.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3659). Fixed: the API incorrectly excludes repositories where code is not enabled.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3677). Fixed: "Allow edits from maintainers" cannot be modified via the pull request web UI.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3687). Fixed: repository activity feeds (including RSS and Atom feeds) contain repeated activities.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3705). Fixed: uploading maven packages with metadata being uploaded separately will fail.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3751). Fixed: the mail notification sent about commits pushed to pull requests are empty.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3753). Fixed: inline emails attachments are not properly handled when commenting on an issue via email.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3760). Fixed: the links to .zip and tar.gz on the tag list web UI fail.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3767). Fixed: expanding code diff while previewing a pull request before it is created fails.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3772). Fixed: the CLI is not able to migrate Forgejo Actions artifacts.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3772). Fixed: when adopting a repository, the default branch is not taken into account.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3772). Fixed: when using reverse proxy authentication, logout will not be taken into account when immediately trying to login afterwards.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3788). Fixed: pushing to the master branch of a sha256 repository fails.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3827). Fixed: a very long project column name will make the action menu inaccessible.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3842). Fixed: a useless error is displayed when the title of a merged pull request is modified.
* [PR](https://codeberg.org/forgejo/forgejo/pulls/3846). Fixed: workflow badges are not working for workflows that are not running on push (such as scheduled workflows, and ones that run on tags and pull requests).
* **Localization:**
* Improvements to English locale: [[1]](https://codeberg.org/forgejo/forgejo/pulls/3825), [[2]](https://codeberg.org/forgejo/forgejo/pulls/3750), [[3]](https://codeberg.org/forgejo/forgejo/pulls/3742), [[4]](https://codeberg.org/forgejo/forgejo/pulls/3674), [[5]](https://codeberg.org/forgejo/forgejo/pulls/3641).
* Translation updates: [[1]](https://codeberg.org/forgejo/forgejo/pulls/3852), [[2]](https://codeberg.org/forgejo/forgejo/pulls/3749), [[3]](https://codeberg.org/forgejo/forgejo/pulls/3740), [[4]](https://codeberg.org/forgejo/forgejo/pulls/3631).
* Gitea v1.21 compatibility
This section is for information only and does not require any action.
The semantic version of the Forgejo 7.0 releases are:
* `v7.0.0+gitea-1.22.0`
* `v7.0.1+gitea-1.22.0`
* `v7.0.2+gitea-1.22.0`
* `v7.0.3+gitea-1.21.11`
Gitea v1.22 is [not published yet](https://github.com/go-gitea/gitea/issues/30731) as of 21 May 2024 and in reality all Forgejo v7.0 releases are compatible with Gitea v1.21.11. Advertising they will be compatible with an unpublished Gitea version was incorrect. The Gitea v1.22 release was anticipated to happen shortly after [Forgejo v7.0 was published on 23 April 2024](https://forgejo.org/2024-04-release-v7-0/) because it was already in the late stages of its release candidate lifecycle. However, around 27 April, [the Gitea release candidates were dropped](https://github.com/go-gitea/gitea/issues/30501) and the release candidates restarted from the Gitea development branch.
## 7.0.2 ## 7.0.2
This is a bug fix release. See the documentation for more information on the [upgrade procedure](https://forgejo.org/docs/v7.0/admin/upgrade/). This is a bug fix release. See the documentation for more information on the [upgrade procedure](https://forgejo.org/docs/v7.0/admin/upgrade/).

1
go.mod
View file

@ -101,6 +101,7 @@ require (
github.com/yuin/goldmark v1.7.0 github.com/yuin/goldmark v1.7.0
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc github.com/yuin/goldmark-highlighting/v2 v2.0.0-20230729083705-37449abec8cc
github.com/yuin/goldmark-meta v1.1.0 github.com/yuin/goldmark-meta v1.1.0
go.uber.org/mock v0.4.0
golang.org/x/crypto v0.23.0 golang.org/x/crypto v0.23.0
golang.org/x/image v0.15.0 golang.org/x/image v0.15.0
golang.org/x/net v0.25.0 golang.org/x/net v0.25.0

2
go.sum
View file

@ -877,6 +877,8 @@ go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0
go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=

View file

@ -12,6 +12,7 @@ import (
func TestMain(m *testing.M) { func TestMain(m *testing.M) {
unittest.MainTest(m, &unittest.TestOptions{ unittest.MainTest(m, &unittest.TestOptions{
FixtureFiles: []string{ FixtureFiles: []string{
"action_runner.yml",
"action_runner_token.yml", "action_runner_token.yml",
}, },
}) })

View file

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

View file

@ -5,6 +5,7 @@ package actions
import ( import (
"context" "context"
"encoding/binary"
"fmt" "fmt"
"strings" "strings"
"time" "time"
@ -253,11 +254,26 @@ func UpdateRunner(ctx context.Context, r *ActionRunner, cols ...string) error {
// DeleteRunner deletes a runner by given ID. // DeleteRunner deletes a runner by given ID.
func DeleteRunner(ctx context.Context, id int64) error { func DeleteRunner(ctx context.Context, id int64) error {
if _, err := GetRunnerByID(ctx, id); err != nil { runner, err := GetRunnerByID(ctx, id)
if err != nil {
return err return err
} }
_, err := db.DeleteByID[ActionRunner](ctx, id) // Replace the UUID, which was either based on the secret's first 16 bytes or an UUIDv4,
// with a sequence of 8 0xff bytes followed by the little-endian version of the record's
// identifier. This will prevent the deleted record's identifier from colliding with any
// new record.
b := make([]byte, 8)
binary.LittleEndian.PutUint64(b, uint64(id))
runner.UUID = fmt.Sprintf("ffffffff-ffff-ffff-%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x",
b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7])
err = UpdateRunner(ctx, runner, "UUID")
if err != nil {
return err
}
_, err = db.DeleteByID[ActionRunner](ctx, id)
return err return err
} }

View file

@ -0,0 +1,59 @@
// SPDX-License-Identifier: MIT
package actions
import (
"encoding/binary"
"fmt"
"testing"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unittest"
"github.com/stretchr/testify/assert"
)
func TestDeleteRunner(t *testing.T) {
const recordID = 12345678
assert.NoError(t, unittest.PrepareTestDatabase())
before := unittest.AssertExistsAndLoadBean(t, &ActionRunner{ID: recordID})
err := DeleteRunner(db.DefaultContext, recordID)
assert.NoError(t, err)
var after ActionRunner
found, err := db.GetEngine(db.DefaultContext).ID(recordID).Unscoped().Get(&after)
assert.NoError(t, err)
assert.True(t, found)
// Most fields (namely Name, Version, OwnerID, RepoID, Description, Base, RepoRange,
// TokenHash, TokenSalt, LastOnline, LastActive, AgentLabels and Created) are unaffected
assert.Equal(t, before.Name, after.Name)
assert.Equal(t, before.Version, after.Version)
assert.Equal(t, before.OwnerID, after.OwnerID)
assert.Equal(t, before.RepoID, after.RepoID)
assert.Equal(t, before.Description, after.Description)
assert.Equal(t, before.Base, after.Base)
assert.Equal(t, before.RepoRange, after.RepoRange)
assert.Equal(t, before.TokenHash, after.TokenHash)
assert.Equal(t, before.TokenSalt, after.TokenSalt)
assert.Equal(t, before.LastOnline, after.LastOnline)
assert.Equal(t, before.LastActive, after.LastActive)
assert.Equal(t, before.AgentLabels, after.AgentLabels)
assert.Equal(t, before.Created, after.Created)
// Deleted contains a value
assert.NotNil(t, after.Deleted)
// UUID was modified
assert.NotEqual(t, before.UUID, after.UUID)
// UUID starts with ffffffff-ffff-ffff-
assert.Equal(t, "ffffffff-ffff-ffff-", after.UUID[:19])
// UUID ends with LE binary representation of record ID
idAsBinary := make([]byte, 8)
binary.LittleEndian.PutUint64(idAsBinary, uint64(recordID))
idAsHexadecimal := fmt.Sprintf("%.2x%.2x-%.2x%.2x%.2x%.2x%.2x%.2x", idAsBinary[0],
idAsBinary[1], idAsBinary[2], idAsBinary[3], idAsBinary[4], idAsBinary[5],
idAsBinary[6], idAsBinary[7])
assert.Equal(t, idAsHexadecimal, after.UUID[19:])
}

View file

@ -0,0 +1,20 @@
-
# A global runner
# Secret is 7e577e577e577e57feedfacefeedfacefeedface
id: 12345678
uuid: "37653537-3765-3537-3765-353737653537"
name: "test"
version: ""
owner_id: 0
repo_id: 0
description: ""
base: 0
repo_range: ""
token_hash: "3af8a56b850dba8848044385fedcfa4d9432e17de9f9803e4d279991394ac2945066ceb9a5e7cbe60a087d90d4bad03a8f9b"
token_salt: "832f8529db6151a1c3c605dd7570b58f"
last_online: 0
last_active: 0
agent_labels: '[""]'
created: 1716104432
updated: 1716104432
deleted: ~

View file

@ -0,0 +1,24 @@
-
id: 1
repo_id: 4
name_pattern: /v.+/
allowlist_user_i_ds: []
allowlist_team_i_ds: []
created_unix: 1715596037
updated_unix: 1715596037
-
id: 2
repo_id: 1
name_pattern: v-*
allowlist_user_i_ds: []
allowlist_team_i_ds: []
created_unix: 1715596037
updated_unix: 1715596037
-
id: 3
repo_id: 1
name_pattern: v-1.1
allowlist_user_i_ds: [2]
allowlist_team_i_ds: []
created_unix: 1715596037
updated_unix: 1715596037

View file

@ -27,6 +27,7 @@ type GrepResult struct {
type GrepOptions struct { type GrepOptions struct {
RefName string RefName string
MaxResultLimit int MaxResultLimit int
MatchesPerFile int
ContextLineNumber int ContextLineNumber int
IsFuzzy bool IsFuzzy bool
PathSpec []setting.Glob PathSpec []setting.Glob
@ -54,6 +55,9 @@ func GrepSearch(ctx context.Context, repo *Repository, search string, opts GrepO
var results []*GrepResult var results []*GrepResult
cmd := NewCommand(ctx, "grep", "--null", "--break", "--heading", "--fixed-strings", "--line-number", "--ignore-case", "--full-name") cmd := NewCommand(ctx, "grep", "--null", "--break", "--heading", "--fixed-strings", "--line-number", "--ignore-case", "--full-name")
cmd.AddOptionValues("--context", fmt.Sprint(opts.ContextLineNumber)) cmd.AddOptionValues("--context", fmt.Sprint(opts.ContextLineNumber))
if opts.MatchesPerFile > 0 {
cmd.AddOptionValues("--max-count", fmt.Sprint(opts.MatchesPerFile))
}
if opts.IsFuzzy { if opts.IsFuzzy {
words := strings.Fields(search) words := strings.Fields(search)
for _, word := range words { for _, word := range words {

View file

@ -44,6 +44,31 @@ func TestGrepSearch(t *testing.T) {
}, },
}, res) }, res)
res, err = GrepSearch(context.Background(), repo, "world", GrepOptions{MatchesPerFile: 1})
assert.NoError(t, err)
assert.Equal(t, []*GrepResult{
{
Filename: "i-am-a-python.p",
LineNumbers: []int{1},
LineCodes: []string{"## This is a simple file to do a hello world"},
},
{
Filename: "java-hello/main.java",
LineNumbers: []int{1},
LineCodes: []string{"public class HelloWorld"},
},
{
Filename: "main.vendor.java",
LineNumbers: []int{1},
LineCodes: []string{"public class HelloWorld"},
},
{
Filename: "python-hello/hello.py",
LineNumbers: []int{1},
LineCodes: []string{"## This is a simple file to do a hello world"},
},
}, res)
res, err = GrepSearch(context.Background(), repo, "no-such-content", GrepOptions{}) res, err = GrepSearch(context.Background(), repo, "no-such-content", GrepOptions{})
assert.NoError(t, err) assert.NoError(t, err)
assert.Len(t, res, 0) assert.Len(t, res, 0)

View file

@ -19,14 +19,34 @@ type baseRedis struct {
client redis.UniversalClient client redis.UniversalClient
isUnique bool isUnique bool
cfg *BaseConfig cfg *BaseConfig
prefix string
mu sync.Mutex // the old implementation is not thread-safe, the queue operation and set operation should be protected together mu sync.Mutex // the old implementation is not thread-safe, the queue operation and set operation should be protected together
} }
var _ baseQueue = (*baseRedis)(nil) var _ baseQueue = (*baseRedis)(nil)
func newBaseRedisGeneric(cfg *BaseConfig, unique bool) (baseQueue, error) { func newBaseRedisGeneric(cfg *BaseConfig, unique bool, client redis.UniversalClient) (baseQueue, error) {
client := nosql.GetManager().GetRedisClient(cfg.ConnStr) if client == nil {
client = nosql.GetManager().GetRedisClient(cfg.ConnStr)
}
prefix := ""
uri := nosql.ToRedisURI(cfg.ConnStr)
for key, value := range uri.Query() {
switch key {
case "prefix":
if len(value) > 0 {
prefix = value[0]
// As we are not checking any other values, if we found this one, we can
// exit from the loop.
// If a new key check is required, remove this break.
break
}
}
}
var err error var err error
for i := 0; i < 10; i++ { for i := 0; i < 10; i++ {
@ -41,15 +61,19 @@ func newBaseRedisGeneric(cfg *BaseConfig, unique bool) (baseQueue, error) {
return nil, err return nil, err
} }
return &baseRedis{cfg: cfg, client: client, isUnique: unique}, nil return &baseRedis{cfg: cfg, client: client, isUnique: unique, prefix: prefix}, nil
} }
func newBaseRedisSimple(cfg *BaseConfig) (baseQueue, error) { func newBaseRedisSimple(cfg *BaseConfig) (baseQueue, error) {
return newBaseRedisGeneric(cfg, false) return newBaseRedisGeneric(cfg, false, nil)
} }
func newBaseRedisUnique(cfg *BaseConfig) (baseQueue, error) { func newBaseRedisUnique(cfg *BaseConfig) (baseQueue, error) {
return newBaseRedisGeneric(cfg, true) return newBaseRedisGeneric(cfg, true, nil)
}
func (q *baseRedis) prefixedName(name string) string {
return q.prefix + name
} }
func (q *baseRedis) PushItem(ctx context.Context, data []byte) error { func (q *baseRedis) PushItem(ctx context.Context, data []byte) error {
@ -57,7 +81,7 @@ func (q *baseRedis) PushItem(ctx context.Context, data []byte) error {
q.mu.Lock() q.mu.Lock()
defer q.mu.Unlock() defer q.mu.Unlock()
cnt, err := q.client.LLen(ctx, q.cfg.QueueFullName).Result() cnt, err := q.client.LLen(ctx, q.prefixedName(q.cfg.QueueFullName)).Result()
if err != nil { if err != nil {
return false, err return false, err
} }
@ -66,7 +90,7 @@ func (q *baseRedis) PushItem(ctx context.Context, data []byte) error {
} }
if q.isUnique { if q.isUnique {
added, err := q.client.SAdd(ctx, q.cfg.SetFullName, data).Result() added, err := q.client.SAdd(ctx, q.prefixedName(q.cfg.SetFullName), data).Result()
if err != nil { if err != nil {
return false, err return false, err
} }
@ -74,7 +98,7 @@ func (q *baseRedis) PushItem(ctx context.Context, data []byte) error {
return false, ErrAlreadyInQueue return false, ErrAlreadyInQueue
} }
} }
return false, q.client.RPush(ctx, q.cfg.QueueFullName, data).Err() return false, q.client.RPush(ctx, q.prefixedName(q.cfg.QueueFullName), data).Err()
}) })
} }
@ -83,7 +107,7 @@ func (q *baseRedis) PopItem(ctx context.Context) ([]byte, error) {
q.mu.Lock() q.mu.Lock()
defer q.mu.Unlock() defer q.mu.Unlock()
data, err = q.client.LPop(ctx, q.cfg.QueueFullName).Bytes() data, err = q.client.LPop(ctx, q.prefixedName(q.cfg.QueueFullName)).Bytes()
if err == redis.Nil { if err == redis.Nil {
return true, nil, nil return true, nil, nil
} }
@ -92,7 +116,7 @@ func (q *baseRedis) PopItem(ctx context.Context) ([]byte, error) {
} }
if q.isUnique { if q.isUnique {
// the data has been popped, even if there is any error we can't do anything // the data has been popped, even if there is any error we can't do anything
_ = q.client.SRem(ctx, q.cfg.SetFullName, data).Err() _ = q.client.SRem(ctx, q.prefixedName(q.cfg.SetFullName), data).Err()
} }
return false, data, err return false, data, err
}) })
@ -104,13 +128,13 @@ func (q *baseRedis) HasItem(ctx context.Context, data []byte) (bool, error) {
if !q.isUnique { if !q.isUnique {
return false, nil return false, nil
} }
return q.client.SIsMember(ctx, q.cfg.SetFullName, data).Result() return q.client.SIsMember(ctx, q.prefixedName(q.cfg.SetFullName), data).Result()
} }
func (q *baseRedis) Len(ctx context.Context) (int, error) { func (q *baseRedis) Len(ctx context.Context) (int, error) {
q.mu.Lock() q.mu.Lock()
defer q.mu.Unlock() defer q.mu.Unlock()
cnt, err := q.client.LLen(ctx, q.cfg.QueueFullName).Result() cnt, err := q.client.LLen(ctx, q.prefixedName(q.cfg.QueueFullName)).Result()
return int(cnt), err return int(cnt), err
} }
@ -124,10 +148,10 @@ func (q *baseRedis) RemoveAll(ctx context.Context) error {
q.mu.Lock() q.mu.Lock()
defer q.mu.Unlock() defer q.mu.Unlock()
c1 := q.client.Del(ctx, q.cfg.QueueFullName) c1 := q.client.Del(ctx, q.prefixedName(q.cfg.QueueFullName))
// the "set" must be cleared after the "list" because there is no transaction. // the "set" must be cleared after the "list" because there is no transaction.
// it's better to have duplicate items than losing items. // it's better to have duplicate items than losing items.
c2 := q.client.Del(ctx, q.cfg.SetFullName) c2 := q.client.Del(ctx, q.prefixedName(q.cfg.SetFullName))
if c1.Err() != nil { if c1.Err() != nil {
return c1.Err() return c1.Err()
} }

View file

@ -5,67 +5,134 @@ package queue
import ( import (
"context" "context"
"os"
"os/exec"
"testing" "testing"
"time"
"code.gitea.io/gitea/modules/nosql" "code.gitea.io/gitea/modules/queue/mock"
"code.gitea.io/gitea/modules/setting" "code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/assert" "github.com/redis/go-redis/v9"
"github.com/stretchr/testify/suite"
"go.uber.org/mock/gomock"
) )
func waitRedisReady(conn string, dur time.Duration) (ready bool) { type baseRedisUnitTestSuite struct {
ctxTimed, cancel := context.WithTimeout(context.Background(), time.Second*5) suite.Suite
defer cancel()
for t := time.Now(); ; time.Sleep(50 * time.Millisecond) {
ret := nosql.GetManager().GetRedisClient(conn).Ping(ctxTimed)
if ret.Err() == nil {
return true
}
if time.Since(t) > dur {
return false
}
}
}
func redisServerCmd(t *testing.T) *exec.Cmd { mockController *gomock.Controller
redisServerProg, err := exec.LookPath("redis-server")
if err != nil {
return nil
}
c := &exec.Cmd{
Path: redisServerProg,
Args: []string{redisServerProg, "--bind", "127.0.0.1", "--port", "6379"},
Dir: t.TempDir(),
Stdin: os.Stdin,
Stdout: os.Stdout,
Stderr: os.Stderr,
}
return c
} }
func TestBaseRedis(t *testing.T) { func TestBaseRedis(t *testing.T) {
var redisServer *exec.Cmd suite.Run(t, &baseRedisUnitTestSuite{})
defer func() {
if redisServer != nil {
_ = redisServer.Process.Signal(os.Interrupt)
_ = redisServer.Wait()
}
}()
if !waitRedisReady("redis://127.0.0.1:6379/0", 0) {
redisServer = redisServerCmd(t)
if true {
t.Skip("redis-server not found in Forgejo test yet")
return
}
assert.NoError(t, redisServer.Start())
if !assert.True(t, waitRedisReady("redis://127.0.0.1:6379/0", 5*time.Second), "start redis-server") {
return
}
} }
testQueueBasic(t, newBaseRedisSimple, toBaseConfig("baseRedis", setting.QueueSettings{Length: 10}), false) func (suite *baseRedisUnitTestSuite) SetupSuite() {
testQueueBasic(t, newBaseRedisUnique, toBaseConfig("baseRedisUnique", setting.QueueSettings{Length: 10}), true) suite.mockController = gomock.NewController(suite.T())
}
func (suite *baseRedisUnitTestSuite) TestBasic() {
queueName := "test-queue"
testCases := []struct {
Name string
ConnectionString string
QueueName string
Unique bool
}{
{
Name: "unique",
ConnectionString: "redis://127.0.0.1/0",
QueueName: queueName,
Unique: true,
},
{
Name: "non-unique",
ConnectionString: "redis://127.0.0.1/0",
QueueName: queueName,
Unique: false,
},
{
Name: "unique with prefix",
ConnectionString: "redis://127.0.0.1/0?prefix=forgejo:queue:",
QueueName: "forgejo:queue:" + queueName,
Unique: true,
},
{
Name: "non-unique with prefix",
ConnectionString: "redis://127.0.0.1/0?prefix=forgejo:queue:",
QueueName: "forgejo:queue:" + queueName,
Unique: false,
},
}
for _, testCase := range testCases {
suite.Run(testCase.Name, func() {
queueSettings := setting.QueueSettings{
Length: 10,
ConnStr: testCase.ConnectionString,
}
// Configure expectations.
mockRedisStore := mock.NewInMemoryMockRedis()
redisClient := mock.NewMockUniversalClient(suite.mockController)
redisClient.EXPECT().
Ping(gomock.Any()).
Times(1).
Return(&redis.StatusCmd{})
redisClient.EXPECT().
LLen(gomock.Any(), testCase.QueueName).
Times(1).
DoAndReturn(mockRedisStore.LLen)
redisClient.EXPECT().
LPop(gomock.Any(), testCase.QueueName).
Times(1).
DoAndReturn(mockRedisStore.LPop)
redisClient.EXPECT().
RPush(gomock.Any(), testCase.QueueName, gomock.Any()).
Times(1).
DoAndReturn(mockRedisStore.RPush)
if testCase.Unique {
redisClient.EXPECT().
SAdd(gomock.Any(), testCase.QueueName+"_unique", gomock.Any()).
Times(1).
DoAndReturn(mockRedisStore.SAdd)
redisClient.EXPECT().
SRem(gomock.Any(), testCase.QueueName+"_unique", gomock.Any()).
Times(1).
DoAndReturn(mockRedisStore.SRem)
redisClient.EXPECT().
SIsMember(gomock.Any(), testCase.QueueName+"_unique", gomock.Any()).
Times(2).
DoAndReturn(mockRedisStore.SIsMember)
}
client, err := newBaseRedisGeneric(
toBaseConfig(queueName, queueSettings),
testCase.Unique,
redisClient,
)
suite.Require().NoError(err)
ctx := context.Background()
expectedContent := []byte("test")
suite.Require().NoError(client.PushItem(ctx, expectedContent))
found, err := client.HasItem(ctx, expectedContent)
suite.Require().NoError(err)
if testCase.Unique {
suite.True(found)
} else {
suite.False(found)
}
found, err = client.HasItem(ctx, []byte("not found content"))
suite.Require().NoError(err)
suite.False(found)
content, err := client.PopItem(ctx)
suite.Require().NoError(err)
suite.Equal(expectedContent, content)
})
}
} }

View file

@ -0,0 +1,133 @@
package queue
import (
"context"
"os"
"os/exec"
"testing"
"time"
"code.gitea.io/gitea/modules/nosql"
"code.gitea.io/gitea/modules/setting"
"github.com/stretchr/testify/suite"
)
const defaultTestRedisServer = "127.0.0.1:6379"
type baseRedisWithServerTestSuite struct {
suite.Suite
}
func TestBaseRedisWithServer(t *testing.T) {
suite.Run(t, &baseRedisWithServerTestSuite{})
}
func (suite *baseRedisWithServerTestSuite) TestNormal() {
redisAddress := "redis://" + suite.testRedisHost() + "/0"
queueSettings := setting.QueueSettings{
Length: 10,
ConnStr: redisAddress,
}
redisServer, accessible := suite.startRedisServer(redisAddress)
// If it's accessible, but redisServer command is nil, that means we are using
// an already running redis server.
if redisServer == nil && !accessible {
suite.T().Skip("redis-server not found in Forgejo test yet")
return
}
defer func() {
if redisServer != nil {
_ = redisServer.Process.Signal(os.Interrupt)
_ = redisServer.Wait()
}
}()
testQueueBasic(suite.T(), newBaseRedisSimple, toBaseConfig("baseRedis", queueSettings), false)
testQueueBasic(suite.T(), newBaseRedisUnique, toBaseConfig("baseRedisUnique", queueSettings), true)
}
func (suite *baseRedisWithServerTestSuite) TestWithPrefix() {
redisAddress := "redis://" + suite.testRedisHost() + "/0?prefix=forgejo:queue:"
queueSettings := setting.QueueSettings{
Length: 10,
ConnStr: redisAddress,
}
redisServer, accessible := suite.startRedisServer(redisAddress)
// If it's accessible, but redisServer command is nil, that means we are using
// an already running redis server.
if redisServer == nil && !accessible {
suite.T().Skip("redis-server not found in Forgejo test yet")
return
}
defer func() {
if redisServer != nil {
_ = redisServer.Process.Signal(os.Interrupt)
_ = redisServer.Wait()
}
}()
testQueueBasic(suite.T(), newBaseRedisSimple, toBaseConfig("baseRedis", queueSettings), false)
testQueueBasic(suite.T(), newBaseRedisUnique, toBaseConfig("baseRedisUnique", queueSettings), true)
}
func (suite *baseRedisWithServerTestSuite) startRedisServer(address string) (*exec.Cmd, bool) {
var redisServer *exec.Cmd
if !suite.waitRedisReady(address, 0) {
redisServerProg, err := exec.LookPath("redis-server")
if err != nil {
return nil, false
}
redisServer = &exec.Cmd{
Path: redisServerProg,
Args: []string{redisServerProg, "--bind", "127.0.0.1", "--port", "6379"},
Dir: suite.T().TempDir(),
Stdin: os.Stdin,
Stdout: os.Stdout,
Stderr: os.Stderr,
}
suite.Require().NoError(redisServer.Start())
if !suite.True(suite.waitRedisReady(address, 5*time.Second), "start redis-server") {
// Return with redis server even if it's not available. It was started,
// even if it's not reachable for any reasons, it's still started, the
// parent will close it.
return redisServer, false
}
}
return redisServer, true
}
func (suite *baseRedisWithServerTestSuite) waitRedisReady(conn string, dur time.Duration) (ready bool) {
ctxTimed, cancel := context.WithTimeout(context.Background(), time.Second*5)
defer cancel()
for t := time.Now(); ; time.Sleep(50 * time.Millisecond) {
ret := nosql.GetManager().GetRedisClient(conn).Ping(ctxTimed)
if ret.Err() == nil {
return true
}
if time.Since(t) > dur {
return false
}
}
}
func (suite *baseRedisWithServerTestSuite) testRedisHost() string {
value := os.Getenv("TEST_REDIS_SERVER")
if value != "" {
return value
}
return defaultTestRedisServer
}

View file

@ -0,0 +1,133 @@
package mock
import (
"context"
"errors"
redis "github.com/redis/go-redis/v9"
)
// InMemoryMockRedis is a very primitive in-memory redis-like feature. The main
// purpose of this struct is to give some backend to mocked unit tests.
type InMemoryMockRedis struct {
queues map[string][][]byte
}
func NewInMemoryMockRedis() InMemoryMockRedis {
return InMemoryMockRedis{
queues: map[string][][]byte{},
}
}
func (r *InMemoryMockRedis) LLen(ctx context.Context, key string) *redis.IntCmd {
cmd := redis.NewIntCmd(ctx)
cmd.SetVal(int64(len(r.queues[key])))
return cmd
}
func (r *InMemoryMockRedis) SAdd(ctx context.Context, key string, content []byte) *redis.IntCmd {
cmd := redis.NewIntCmd(ctx)
for _, value := range r.queues[key] {
if string(value) == string(content) {
cmd.SetVal(0)
return cmd
}
}
r.queues[key] = append(r.queues[key], content)
cmd.SetVal(1)
return cmd
}
func (r *InMemoryMockRedis) RPush(ctx context.Context, key string, content []byte) *redis.IntCmd {
cmd := redis.NewIntCmd(ctx)
r.queues[key] = append(r.queues[key], content)
cmd.SetVal(1)
return cmd
}
func (r *InMemoryMockRedis) LPop(ctx context.Context, key string) *redis.StringCmd {
cmd := redis.NewStringCmd(ctx)
queue, found := r.queues[key]
if !found {
cmd.SetErr(errors.New("queue not found"))
return cmd
}
if len(queue) < 1 {
cmd.SetErr(errors.New("queue is empty"))
return cmd
}
value, rest := queue[0], queue[1:]
r.queues[key] = rest
cmd.SetVal(string(value))
return cmd
}
func (r *InMemoryMockRedis) SRem(ctx context.Context, key string, content []byte) *redis.IntCmd {
cmd := redis.NewIntCmd(ctx)
queue, found := r.queues[key]
if !found {
cmd.SetErr(errors.New("queue not found"))
return cmd
}
if len(queue) < 1 {
cmd.SetErr(errors.New("queue is empty"))
return cmd
}
newList := [][]byte{}
for _, value := range queue {
if string(value) != string(content) {
newList = append(newList, value)
}
}
r.queues[key] = newList
cmd.SetVal(1)
return cmd
}
func (r *InMemoryMockRedis) SIsMember(ctx context.Context, key string, content []byte) *redis.BoolCmd {
cmd := redis.NewBoolCmd(ctx)
queue, found := r.queues[key]
if !found {
cmd.SetErr(errors.New("queue not found"))
return cmd
}
for _, value := range queue {
if string(value) == string(content) {
cmd.SetVal(true)
return cmd
}
}
cmd.SetVal(false)
return cmd
}

File diff suppressed because it is too large Load diff

View file

@ -192,16 +192,24 @@ func (q *WorkerPoolQueue[T]) ShutdownWait(timeout time.Duration) {
<-q.shutdownDone <-q.shutdownDone
} }
func getNewQueueFn(t string) (string, func(cfg *BaseConfig, unique bool) (baseQueue, error)) { func getNewQueue(t string, cfg *BaseConfig, unique bool) (string, baseQueue, error) {
switch t { switch t {
case "dummy", "immediate": case "dummy", "immediate":
return t, newBaseDummy queue, err := newBaseDummy(cfg, unique)
return t, queue, err
case "channel": case "channel":
return t, newBaseChannelGeneric queue, err := newBaseChannelGeneric(cfg, unique)
return t, queue, err
case "redis": case "redis":
return t, newBaseRedisGeneric queue, err := newBaseRedisGeneric(cfg, unique, nil)
return t, queue, err
default: // level(leveldb,levelqueue,persistable-channel) default: // level(leveldb,levelqueue,persistable-channel)
return "level", newBaseLevelQueueGeneric queue, err := newBaseLevelQueueGeneric(cfg, unique)
return "level", queue, err
} }
} }
@ -217,14 +225,14 @@ func NewWorkerPoolQueueWithContext[T any](ctx context.Context, name string, queu
var w WorkerPoolQueue[T] var w WorkerPoolQueue[T]
var err error var err error
queueType, newQueueFn := getNewQueueFn(queueSetting.Type)
w.baseQueueType = queueType
w.baseConfig = toBaseConfig(name, queueSetting) w.baseConfig = toBaseConfig(name, queueSetting)
w.baseQueue, err = newQueueFn(w.baseConfig, unique)
w.baseQueueType, w.baseQueue, err = getNewQueue(queueSetting.Type, w.baseConfig, unique)
if err != nil { if err != nil {
return nil, err return nil, err
} }
log.Trace("Created queue %q of type %q", name, queueType) log.Trace("Created queue %q of type %q", name, w.baseQueueType)
w.ctxRun, _, w.ctxRunCancel = process.GetManager().AddTypedContext(ctx, "Queue: "+w.GetName(), process.SystemProcessType, false) w.ctxRun, _, w.ctxRunCancel = process.GetManager().AddTypedContext(ctx, "Queue: "+w.GetName(), process.SystemProcessType, false)
w.batchChan = make(chan []T) w.batchChan = make(chan []T)

View file

@ -124,16 +124,15 @@ func loadOAuth2From(rootCfg ConfigProvider) {
OAuth2.Enabled = sec.Key("ENABLE").MustBool(OAuth2.Enabled) OAuth2.Enabled = sec.Key("ENABLE").MustBool(OAuth2.Enabled)
} }
if !OAuth2.Enabled {
return
}
jwtSecretBase64 := loadSecret(sec, "JWT_SECRET_URI", "JWT_SECRET")
if !filepath.IsAbs(OAuth2.JWTSigningPrivateKeyFile) { if !filepath.IsAbs(OAuth2.JWTSigningPrivateKeyFile) {
OAuth2.JWTSigningPrivateKeyFile = filepath.Join(AppDataPath, OAuth2.JWTSigningPrivateKeyFile) OAuth2.JWTSigningPrivateKeyFile = filepath.Join(AppDataPath, OAuth2.JWTSigningPrivateKeyFile)
} }
// FIXME: at the moment, no matter oauth2 is enabled or not, it must generate a "oauth2 JWT_SECRET"
// Because this secret is also used as GeneralTokenSigningSecret (as a quick not-that-breaking fix for some legacy problems).
// Including: CSRF token, account validation token, etc ...
// In main branch, the signing token should be refactored (eg: one unique for LFS/OAuth2/etc ...)
jwtSecretBase64 := loadSecret(sec, "JWT_SECRET_URI", "JWT_SECRET")
if InstallLock { if InstallLock {
jwtSecretBytes, err := generate.DecodeJwtSecret(jwtSecretBase64) jwtSecretBytes, err := generate.DecodeJwtSecret(jwtSecretBase64)
if err != nil { if err != nil {
@ -155,8 +154,6 @@ func loadOAuth2From(rootCfg ConfigProvider) {
} }
} }
// generalSigningSecret is used as container for a []byte value
// instead of an additional mutex, we use CompareAndSwap func to change the value thread save
var generalSigningSecret atomic.Pointer[[]byte] var generalSigningSecret atomic.Pointer[[]byte]
func GetGeneralTokenSigningSecret() []byte { func GetGeneralTokenSigningSecret() []byte {
@ -164,11 +161,9 @@ func GetGeneralTokenSigningSecret() []byte {
if old == nil || len(*old) == 0 { if old == nil || len(*old) == 0 {
jwtSecret, _, err := generate.NewJwtSecret() jwtSecret, _, err := generate.NewJwtSecret()
if err != nil { if err != nil {
log.Fatal("Unable to generate general JWT secret: %s", err.Error()) log.Fatal("Unable to generate general JWT secret: %v", err)
} }
if generalSigningSecret.CompareAndSwap(old, &jwtSecret) { if generalSigningSecret.CompareAndSwap(old, &jwtSecret) {
// FIXME: in main branch, the signing token should be refactored (eg: one unique for LFS/OAuth2/etc ...)
log.Warn("OAuth2 is not enabled, unable to use a persistent signing secret, a new one is generated, which is not persistent between restarts and cluster nodes")
return jwtSecret return jwtSecret
} }
return *generalSigningSecret.Load() return *generalSigningSecret.Load()

View file

@ -4,6 +4,7 @@
package setting package setting
import ( import (
"os"
"testing" "testing"
"code.gitea.io/gitea/modules/generate" "code.gitea.io/gitea/modules/generate"
@ -14,7 +15,7 @@ import (
func TestGetGeneralSigningSecret(t *testing.T) { func TestGetGeneralSigningSecret(t *testing.T) {
// when there is no general signing secret, it should be generated, and keep the same value // when there is no general signing secret, it should be generated, and keep the same value
assert.Nil(t, generalSigningSecret.Load()) generalSigningSecret.Store(nil)
s1 := GetGeneralTokenSigningSecret() s1 := GetGeneralTokenSigningSecret()
assert.NotNil(t, s1) assert.NotNil(t, s1)
s2 := GetGeneralTokenSigningSecret() s2 := GetGeneralTokenSigningSecret()
@ -32,3 +33,28 @@ JWT_SECRET = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
assert.Len(t, actual, 32) assert.Len(t, actual, 32)
assert.EqualValues(t, expected, actual) assert.EqualValues(t, expected, actual)
} }
func TestGetGeneralSigningSecretSave(t *testing.T) {
defer test.MockVariableValue(&InstallLock, true)()
old := GetGeneralTokenSigningSecret()
assert.Len(t, old, 32)
tmpFile := t.TempDir() + "/app.ini"
_ = os.WriteFile(tmpFile, nil, 0o644)
cfg, _ := NewConfigProviderFromFile(tmpFile)
loadOAuth2From(cfg)
generated := GetGeneralTokenSigningSecret()
assert.Len(t, generated, 32)
assert.NotEqual(t, old, generated)
generalSigningSecret.Store(nil)
cfg, _ = NewConfigProviderFromFile(tmpFile)
loadOAuth2From(cfg)
again := GetGeneralTokenSigningSecret()
assert.Equal(t, generated, again)
iniContent, err := os.ReadFile(tmpFile)
assert.NoError(t, err)
assert.Contains(t, string(iniContent), "JWT_SECRET = ")
}

View file

@ -57,8 +57,9 @@ type DeleteLabelsOption struct {
// IssueLabelsOption a collection of labels // IssueLabelsOption a collection of labels
type IssueLabelsOption struct { type IssueLabelsOption struct {
// list of label IDs // Labels can be a list of integers representing label IDs
Labels []int64 `json:"labels"` // or a list of strings representing label names
Labels []any `json:"labels"`
// swagger:strfmt date-time // swagger:strfmt date-time
Updated *time.Time `json:"updated_at"` Updated *time.Time `json:"updated_at"`
} }

View file

@ -230,7 +230,7 @@ type EditRepoOption struct {
Archived *bool `json:"archived,omitempty"` Archived *bool `json:"archived,omitempty"`
// set to a string like `8h30m0s` to set the mirror interval time // set to a string like `8h30m0s` to set the mirror interval time
MirrorInterval *string `json:"mirror_interval,omitempty"` MirrorInterval *string `json:"mirror_interval,omitempty"`
// enable prune - remove obsolete remote-tracking references // enable prune - remove obsolete remote-tracking references when mirroring
EnablePrune *bool `json:"enable_prune,omitempty"` EnablePrune *bool `json:"enable_prune,omitempty"`
} }

View file

@ -19,3 +19,4 @@
# Go workspace file # Go workspace file
go.work go.work
go.work.sum

View file

@ -106,8 +106,10 @@ ipython_config.py
#pdm.lock #pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control. # in version control.
# https://pdm.fming.dev/#use-with-ide # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml .pdm.toml
.pdm-python
.pdm-build/
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/ __pypackages__/

View file

@ -1,93 +1,319 @@
Creative Commons Attribution 3.0 Unported Creative Commons Legal Code
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. Attribution 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions 1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. 3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations. d. to Distribute and Publicly Perform Adaptations.
e. For the avoidance of doubt: e. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor waives the
exclusive right to collect such royalties for any exercise by You
of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License.
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved.
iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. 4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
b. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(b), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(b), as requested.
b. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and (iv) , consistent with Section 3(b), in the case of an Adaptation,
a credit identifying the use of the Work in the Adaptation (e.g.,
"French translation of the Work by Original Author," or "Screenplay
based on original Work by Original Author"). The credit required by
this Section 4 (b) may be implemented in any reasonable manner;
provided, however, that in the case of a Adaptation or Collection, at
a minimum such credit will appear, if a credit for all contributing
authors of the Adaptation or Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
c. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer 5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination 7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous 8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You.
e. This License may not be modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Creative Commons Notice Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of this License.
Creative Commons may be contacted at http://creativecommons.org/. Creative Commons may be contacted at https://creativecommons.org/.

View file

@ -1,95 +1,334 @@
Creative Commons Attribution-NonCommercial 3.0 Unported Creative Commons Legal Code
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. Attribution-NonCommercial 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions 1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. 3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations. d. to Distribute and Publicly Perform Adaptations.
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved, including but not limited to the
rights set forth in Section 4(d).
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: 4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(c), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(c), as requested.
b. You may not exercise any of the rights granted to You in Section 3
above in any manner that is primarily intended for or directed toward
commercial advantage or private monetary compensation. The exchange of
the Work for other copyrighted works by means of digital file-sharing
or otherwise shall not be considered to be intended for or directed
toward commercial advantage or private monetary compensation, provided
there is no payment of any monetary compensation in connection with
the exchange of copyrighted works.
c. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and, (iv) consistent with Section 3(b), in the case of an Adaptation,
a credit identifying the use of the Work in the Adaptation (e.g.,
"French translation of the Work by Original Author," or "Screenplay
based on original Work by Original Author"). The credit required by
this Section 4(c) may be implemented in any reasonable manner;
provided, however, that in the case of a Adaptation or Collection, at
a minimum such credit will appear, if a credit for all contributing
authors of the Adaptation or Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
d. For the avoidance of doubt: d. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
iii. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c). exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
e. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor reserves
the exclusive right to collect such royalties for any exercise by
You of the rights granted under this License if Your exercise of
such rights is for a purpose or use which is otherwise than
noncommercial as permitted under Section 4(b) and otherwise waives
the right to collect royalties through any statutory or compulsory
licensing scheme; and,
iii. Voluntary License Schemes. The Licensor reserves the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License that is for a
purpose or use which is otherwise than noncommercial as permitted
under Section 4(c).
e. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer 5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination 7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous 8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Creative Commons Notice Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of the License.
Creative Commons may be contacted at http://creativecommons.org/. Creative Commons may be contacted at https://creativecommons.org/.

View file

@ -1,89 +1,308 @@
Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported Creative Commons Legal Code
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. Attribution-NonCommercial-NoDerivs 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions 1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work through sale or other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
c. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. 3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections; and,
b. to Distribute and Publicly Perform the Work including as incorporated
in Collections.
e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats, but otherwise you have no rights to make
Adaptations. Subject to 8(f), all rights not expressly granted by Licensor
are hereby reserved, including but not limited to the rights set forth in
Section 4(d).
f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. 4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and,
b. to Distribute and Publicly Perform the Work including as incorporated in Collections.
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d).
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested.
b. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
c. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(c), as requested.
b. You may not exercise any of the rights granted to You in Section 3
above in any manner that is primarily intended for or directed toward
commercial advantage or private monetary compensation. The exchange of
the Work for other copyrighted works by means of digital file-sharing
or otherwise shall not be considered to be intended for or directed
toward commercial advantage or private monetary compensation, provided
there is no payment of any monetary compensation in connection with
the exchange of copyrighted works.
c. If You Distribute, or Publicly Perform the Work or Collections, You
must, unless a request has been made pursuant to Section 4(a), keep
intact all copyright notices for the Work and provide, reasonable to
the medium or means You are utilizing: (i) the name of the Original
Author (or pseudonym, if applicable) if supplied, and/or if the
Original Author and/or Licensor designate another party or parties
(e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work.
The credit required by this Section 4(c) may be implemented in any
reasonable manner; provided, however, that in the case of a
Collection, at a minimum such credit will appear, if a credit for all
contributing authors of Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
d. For the avoidance of doubt: d. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
iii. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
e. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor reserves
the exclusive right to collect such royalties for any exercise by
You of the rights granted under this License if Your exercise of
such rights is for a purpose or use which is otherwise than
noncommercial as permitted under Section 4(b) and otherwise waives
the right to collect royalties through any statutory or compulsory
licensing scheme; and,
iii. Voluntary License Schemes. The Licensor reserves the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License that is for a
purpose or use which is otherwise than noncommercial as permitted
under Section 4(b).
e. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Collections, You must not distort, mutilate, modify or take other
derogatory action in relation to the Work which would be prejudicial
to the Original Author's honor or reputation.
5. Representations, Warranties and Disclaimer 5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination 7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. Individuals or entities who have received Collections from You under
this License, however, will not have their licenses terminated
provided such individuals or entities remain in full compliance with
those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any
termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous 8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
c. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
d. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
e. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
e. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Creative Commons Notice Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of this License.
Creative Commons may be contacted at http://creativecommons.org/. Creative Commons may be contacted at https://creativecommons.org/.

View file

@ -1,99 +1,360 @@
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported Creative Commons Legal Code
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. Attribution-NonCommercial-ShareAlike 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions 1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(g) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
d. "License Elements" means the following high-level license attributes
as selected by Licensor and indicated in the title of this License:
Attribution, Noncommercial, ShareAlike.
e. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
f. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
g. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
h. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
i. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
j. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. 3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
d. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike. perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
e. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
f. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
g. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
h. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
i. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
j. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations. d. to Distribute and Publicly Perform Adaptations.
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e). The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved, including but not limited to the
rights described in Section 4(e).
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: 4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested.
b. You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
c. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works.
d. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(d), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(d), as requested.
b. You may Distribute or Publicly Perform an Adaptation only under: (i)
the terms of this License; (ii) a later version of this License with
the same License Elements as this License; (iii) a Creative Commons
jurisdiction license (either this or a later license version) that
contains the same License Elements as this License (e.g.,
Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License").
You must include a copy of, or the URI, for Applicable License with
every copy of each Adaptation You Distribute or Publicly Perform. You
may not offer or impose any terms on the Adaptation that restrict the
terms of the Applicable License or the ability of the recipient of the
Adaptation to exercise the rights granted to that recipient under the
terms of the Applicable License. You must keep intact all notices that
refer to the Applicable License and to the disclaimer of warranties
with every copy of the Work as included in the Adaptation You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Adaptation, You may not impose any effective technological
measures on the Adaptation that restrict the ability of a recipient of
the Adaptation from You to exercise the rights granted to that
recipient under the terms of the Applicable License. This Section 4(b)
applies to the Adaptation as incorporated in a Collection, but this
does not require the Collection apart from the Adaptation itself to be
made subject to the terms of the Applicable License.
c. You may not exercise any of the rights granted to You in Section 3
above in any manner that is primarily intended for or directed toward
commercial advantage or private monetary compensation. The exchange of
the Work for other copyrighted works by means of digital file-sharing
or otherwise shall not be considered to be intended for or directed
toward commercial advantage or private monetary compensation, provided
there is no payment of any monetary compensation in con-nection with
the exchange of copyrighted works.
d. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and, (iv) consistent with Section 3(b), in the case of an Adaptation,
a credit identifying the use of the Work in the Adaptation (e.g.,
"French translation of the Work by Original Author," or "Screenplay
based on original Work by Original Author"). The credit required by
this Section 4(d) may be implemented in any reasonable manner;
provided, however, that in the case of a Adaptation or Collection, at
a minimum such credit will appear, if a credit for all contributing
authors of the Adaptation or Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
e. For the avoidance of doubt: e. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
iii. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c). exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
f. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor reserves
the exclusive right to collect such royalties for any exercise by
You of the rights granted under this License if Your exercise of
such rights is for a purpose or use which is otherwise than
noncommercial as permitted under Section 4(c) and otherwise waives
the right to collect royalties through any statutory or compulsory
licensing scheme; and,
iii. Voluntary License Schemes. The Licensor reserves the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License that is for a
purpose or use which is otherwise than noncommercial as permitted
under Section 4(c).
f. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer 5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU. UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE
FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS
AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE
WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT
LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT
DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED
WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination 7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous 8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Creative Commons Notice Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of this License.
Creative Commons may be contacted at http://creativecommons.org/. Creative Commons may be contacted at https://creativecommons.org/.

View file

@ -1,87 +1,293 @@
Creative Commons Attribution-NoDerivs 3.0 Unported Creative Commons Legal Code
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. Attribution-NoDerivs 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions 1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined above) for the purposes of this
License.
c. "Distribute" means to make available to the public the original and
copies of the Work through sale or other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
h. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
i. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
c. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. 3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and,
b. to Distribute and Publicly Perform the Work including as incorporated in Collections.
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections; and,
b. to Distribute and Publicly Perform the Work including as incorporated
in Collections.
c. For the avoidance of doubt: c. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor waives the
exclusive right to collect such royalties for any exercise by You
of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License.
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats, but otherwise you have no rights to make
Adaptations. Subject to Section 8(f), all rights not expressly granted by
Licensor are hereby reserved.
iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. 4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
b. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(b) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(b), as requested.
b. If You Distribute, or Publicly Perform the Work or Collections, You
must, unless a request has been made pursuant to Section 4(a), keep
intact all copyright notices for the Work and provide, reasonable to
the medium or means You are utilizing: (i) the name of the Original
Author (or pseudonym, if applicable) if supplied, and/or if the
Original Author and/or Licensor designate another party or parties
(e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work.
The credit required by this Section 4(b) may be implemented in any
reasonable manner; provided, however, that in the case of a
Collection, at a minimum such credit will appear, if a credit for all
contributing authors of the Collection appears, then as part of these
credits and in a manner at least as prominent as the credits for the
other contributing authors. For the avoidance of doubt, You may only
use the credit required by this Section for the purpose of attribution
in the manner set out above and, by exercising Your rights under this
License, You may not implicitly or explicitly assert or imply any
connection with, sponsorship or endorsement by the Original Author,
Licensor and/or Attribution Parties, as appropriate, of You or Your
use of the Work, without the separate, express prior written
permission of the Original Author, Licensor and/or Attribution
Parties.
c. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Collections, You must not distort, mutilate, modify or take other
derogatory action in relation to the Work which would be prejudicial
to the Original Author's honor or reputation.
5. Representations, Warranties and Disclaimer 5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination 7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. Individuals or entities who have received Collections from You under
this License, however, will not have their licenses terminated
provided such individuals or entities remain in full compliance with
those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any
termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous 8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
c. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
d. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
e. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
e. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Creative Commons Notice Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License. Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of this License.
Creative Commons may be contacted at http://creativecommons.org/. Creative Commons may be contacted at https://creativecommons.org/.

View file

@ -1,99 +1,359 @@
Creative Commons Attribution-ShareAlike 3.0 Unported Creative Commons Legal Code
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. Attribution-ShareAlike 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
DAMAGES RESULTING FROM ITS USE.
License License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
CONDITIONS.
1. Definitions 1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. a. "Adaptation" means a work based upon the Work, or upon the Work and
other pre-existing works, such as a translation, adaptation,
derivative work, arrangement of music or other alterations of a
literary or artistic work, or phonogram or performance and includes
cinematographic adaptations or any other form in which the Work may be
recast, transformed, or adapted including in any form recognizably
derived from the original, except that a work that constitutes a
Collection will not be considered an Adaptation for the purpose of
this License. For the avoidance of doubt, where the Work is a musical
work, performance or phonogram, the synchronization of the Work in
timed-relation with a moving image ("synching") will be considered an
Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as
encyclopedias and anthologies, or performances, phonograms or
broadcasts, or other works or subject matter other than works listed
in Section 1(f) below, which, by reason of the selection and
arrangement of their contents, constitute intellectual creations, in
which the Work is included in its entirety in unmodified form along
with one or more other contributions, each constituting separate and
independent works in themselves, which together are assembled into a
collective whole. A work that constitutes a Collection will not be
considered an Adaptation (as defined below) for the purposes of this
License.
c. "Creative Commons Compatible License" means a license that is listed
at https://creativecommons.org/compatiblelicenses that has been
approved by Creative Commons as being essentially equivalent to this
License, including, at a minimum, because that license: (i) contains
terms that have the same purpose, meaning and effect as the License
Elements of this License; and, (ii) explicitly permits the relicensing
of adaptations of works made available under that license under this
License or a Creative Commons jurisdiction license with the same
License Elements as this License.
d. "Distribute" means to make available to the public the original and
copies of the Work or Adaptation, as appropriate, through sale or
other transfer of ownership.
e. "License Elements" means the following high-level license attributes
as selected by Licensor and indicated in the title of this License:
Attribution, ShareAlike.
f. "Licensor" means the individual, individuals, entity or entities that
offer(s) the Work under the terms of this License.
g. "Original Author" means, in the case of a literary or artistic work,
the individual, individuals, entity or entities who created the Work
or if no individual or entity can be identified, the publisher; and in
addition (i) in the case of a performance the actors, singers,
musicians, dancers, and other persons who act, sing, deliver, declaim,
play in, interpret or otherwise perform literary or artistic works or
expressions of folklore; (ii) in the case of a phonogram the producer
being the person or legal entity who first fixes the sounds of a
performance or other sounds; and, (iii) in the case of broadcasts, the
organization that transmits the broadcast.
h. "Work" means the literary and/or artistic work offered under the terms
of this License including without limitation any production in the
literary, scientific and artistic domain, whatever may be the mode or
form of its expression including digital form, such as a book,
pamphlet and other writing; a lecture, address, sermon or other work
of the same nature; a dramatic or dramatico-musical work; a
choreographic work or entertainment in dumb show; a musical
composition with or without words; a cinematographic work to which are
assimilated works expressed by a process analogous to cinematography;
a work of drawing, painting, architecture, sculpture, engraving or
lithography; a photographic work to which are assimilated works
expressed by a process analogous to photography; a work of applied
art; an illustration, map, plan, sketch or three-dimensional work
relative to geography, topography, architecture or science; a
performance; a broadcast; a phonogram; a compilation of data to the
extent it is protected as a copyrightable work; or a work performed by
a variety or circus performer to the extent it is not otherwise
considered a literary or artistic work.
i. "You" means an individual or entity exercising rights under this
License who has not previously violated the terms of this License with
respect to the Work, or who has received express permission from the
Licensor to exercise rights under this License despite a previous
violation.
j. "Publicly Perform" means to perform public recitations of the Work and
to communicate to the public those public recitations, by any means or
process, including by wire or wireless means or public digital
performances; to make available to the public Works in such a way that
members of the public may access these Works from a place and at a
place individually chosen by them; to perform the Work to the public
by any means or process and the communication to the public of the
performances of the Work, including by public digital performance; to
broadcast and rebroadcast the Work by any means including signs,
sounds or images.
k. "Reproduce" means to make copies of the Work by any means including
without limitation by sound or visual recordings and the right of
fixation and reproducing fixations of the Work, including storage of a
protected performance or phonogram in digital form or other electronic
medium.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
limit, or restrict any uses free from copyright or rights arising from
limitations or exceptions that are provided for in connection with the
copyright protection under copyright law or other applicable laws.
c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. 3. License Grant. Subject to the terms and conditions of this License,
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. perpetual (for the duration of the applicable copyright) license to
exercise the rights in the Work as stated below:
e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
a. to Reproduce the Work, to incorporate the Work into one or more
Collections, and to Reproduce the Work as incorporated in the
Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation,
including any translation in any medium, takes reasonable steps to
clearly label, demarcate or otherwise identify that changes were made
to the original Work. For example, a translation could be marked "The
original work was translated from English to Spanish," or a
modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated
in Collections; and,
d. to Distribute and Publicly Perform Adaptations. d. to Distribute and Publicly Perform Adaptations.
e. For the avoidance of doubt: e. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; i. Non-waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme cannot be waived, the Licensor
reserves the exclusive right to collect such royalties for any
exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in
which the right to collect royalties through any statutory or
compulsory licensing scheme can be waived, the Licensor waives the
exclusive right to collect such royalties for any exercise by You
of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to
collect royalties, whether individually or, in the event that the
Licensor is a member of a collecting society that administers
voluntary licensing schemes, via that society, from any exercise
by You of the rights granted under this License.
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, The above rights may be exercised in all media and formats whether now
known or hereafter devised. The above rights include the right to make
such modifications as are technically necessary to exercise the rights in
other media and formats. Subject to Section 8(f), all rights not expressly
granted by Licensor are hereby reserved.
iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. 4. Restrictions. The license granted in Section 3 above is expressly made
subject to and limited by the following restrictions:
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. a. You may Distribute or Publicly Perform the Work only under the terms
of this License. You must include a copy of, or the Uniform Resource
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: Identifier (URI) for, this License with every copy of the Work You
Distribute or Publicly Perform. You may not offer or impose any terms
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. on the Work that restrict the terms of this License or the ability of
the recipient of the Work to exercise the rights granted to that
b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. recipient under the terms of the License. You may not sublicense the
Work. You must keep intact all notices that refer to this License and
c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. to the disclaimer of warranties with every copy of the Work You
Distribute or Publicly Perform. When You Distribute or Publicly
d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. Perform the Work, You may not impose any effective technological
measures on the Work that restrict the ability of a recipient of the
Work from You to exercise the rights granted to that recipient under
the terms of the License. This Section 4(a) applies to the Work as
incorporated in a Collection, but this does not require the Collection
apart from the Work itself to be made subject to the terms of this
License. If You create a Collection, upon notice from any Licensor You
must, to the extent practicable, remove from the Collection any credit
as required by Section 4(c), as requested. If You create an
Adaptation, upon notice from any Licensor You must, to the extent
practicable, remove from the Adaptation any credit as required by
Section 4(c), as requested.
b. You may Distribute or Publicly Perform an Adaptation only under the
terms of: (i) this License; (ii) a later version of this License with
the same License Elements as this License; (iii) a Creative Commons
jurisdiction license (either this or a later license version) that
contains the same License Elements as this License (e.g.,
Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
License. If you license the Adaptation under one of the licenses
mentioned in (iv), you must comply with the terms of that license. If
you license the Adaptation under the terms of any of the licenses
mentioned in (i), (ii) or (iii) (the "Applicable License"), you must
comply with the terms of the Applicable License generally and the
following provisions: (I) You must include a copy of, or the URI for,
the Applicable License with every copy of each Adaptation You
Distribute or Publicly Perform; (II) You may not offer or impose any
terms on the Adaptation that restrict the terms of the Applicable
License or the ability of the recipient of the Adaptation to exercise
the rights granted to that recipient under the terms of the Applicable
License; (III) You must keep intact all notices that refer to the
Applicable License and to the disclaimer of warranties with every copy
of the Work as included in the Adaptation You Distribute or Publicly
Perform; (IV) when You Distribute or Publicly Perform the Adaptation,
You may not impose any effective technological measures on the
Adaptation that restrict the ability of a recipient of the Adaptation
from You to exercise the rights granted to that recipient under the
terms of the Applicable License. This Section 4(b) applies to the
Adaptation as incorporated in a Collection, but this does not require
the Collection apart from the Adaptation itself to be made subject to
the terms of the Applicable License.
c. If You Distribute, or Publicly Perform the Work or any Adaptations or
Collections, You must, unless a request has been made pursuant to
Section 4(a), keep intact all copyright notices for the Work and
provide, reasonable to the medium or means You are utilizing: (i) the
name of the Original Author (or pseudonym, if applicable) if supplied,
and/or if the Original Author and/or Licensor designate another party
or parties (e.g., a sponsor institute, publishing entity, journal) for
attribution ("Attribution Parties") in Licensor's copyright notice,
terms of service or by other reasonable means, the name of such party
or parties; (ii) the title of the Work if supplied; (iii) to the
extent reasonably practicable, the URI, if any, that Licensor
specifies to be associated with the Work, unless such URI does not
refer to the copyright notice or licensing information for the Work;
and (iv) , consistent with Ssection 3(b), in the case of an
Adaptation, a credit identifying the use of the Work in the Adaptation
(e.g., "French translation of the Work by Original Author," or
"Screenplay based on original Work by Original Author"). The credit
required by this Section 4(c) may be implemented in any reasonable
manner; provided, however, that in the case of a Adaptation or
Collection, at a minimum such credit will appear, if a credit for all
contributing authors of the Adaptation or Collection appears, then as
part of these credits and in a manner at least as prominent as the
credits for the other contributing authors. For the avoidance of
doubt, You may only use the credit required by this Section for the
purpose of attribution in the manner set out above and, by exercising
Your rights under this License, You may not implicitly or explicitly
assert or imply any connection with, sponsorship or endorsement by the
Original Author, Licensor and/or Attribution Parties, as appropriate,
of You or Your use of the Work, without the separate, express prior
written permission of the Original Author, Licensor and/or Attribution
Parties.
d. Except as otherwise agreed in writing by the Licensor or as may be
otherwise permitted by applicable law, if You Reproduce, Distribute or
Publicly Perform the Work either by itself or as part of any
Adaptations or Collections, You must not distort, mutilate, modify or
take other derogatory action in relation to the Work which would be
prejudicial to the Original Author's honor or reputation. Licensor
agrees that in those jurisdictions (e.g. Japan), in which any exercise
of the right granted in Section 3(b) of this License (the right to
make Adaptations) would be deemed to be a distortion, mutilation,
modification or other derogatory action prejudicial to the Original
Author's honor and reputation, the Licensor will waive or not assert,
as appropriate, this Section, to the fullest extent permitted by the
applicable national law, to enable You to reasonably exercise Your
right under Section 3(b) of this License (right to make Adaptations)
but not otherwise.
5. Representations, Warranties and Disclaimer 5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination 7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. a. This License and the rights granted hereunder will terminate
automatically upon any breach by You of the terms of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. Individuals or entities who have received Adaptations or Collections
from You under this License, however, will not have their licenses
terminated provided such individuals or entities remain in full
compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is
perpetual (for the duration of the applicable copyright in the Work).
Notwithstanding the above, Licensor reserves the right to release the
Work under different license terms or to stop distributing the Work at
any time; provided, however that any such election will not serve to
withdraw this License (or any other license that has been, or is
required to be, granted under the terms of this License), and this
License will continue in full force and effect unless terminated as
stated above.
8. Miscellaneous 8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. a. Each time You Distribute or Publicly Perform the Work or a Collection,
the Licensor offers to the recipient a license to the Work on the same
terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
offers to the recipient a license to the original Work on the same
terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this License, and without further action
by the parties to this agreement, such provision shall be reformed to
the minimum extent necessary to make such provision valid and
enforceable.
d. No term or provision of this License shall be deemed waived and no
breach consented to unless such waiver or consent shall be in writing
and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with
respect to the Work licensed here. There are no understandings,
agreements or representations with respect to the Work not specified
here. Licensor shall not be bound by any additional provisions that
may appear in any communication from You. This License may not be
modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this
License were drafted utilizing the terminology of the Berne Convention
for the Protection of Literary and Artistic Works (as amended on
September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
and the Universal Copyright Convention (as revised on July 24, 1971).
These rights and subject matter take effect in the relevant
jurisdiction in which the License terms are sought to be enforced
according to the corresponding provisions of the implementation of
those treaty provisions in the applicable national law. If the
standard suite of rights granted under applicable copyright law
includes additional rights not granted under this License, such
additional rights are deemed to be included in the License; this
License is not intended to restrict the license of any rights under
applicable law.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Creative Commons Notice Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Creative Commons is not a party to this License, and makes no warranty
whatsoever in connection with the Work. Creative Commons will not be
liable to You or any party on any legal theory for any damages
whatsoever, including without limitation any general, special,
incidental or consequential damages arising in connection to this
license. Notwithstanding the foregoing two (2) sentences, if Creative
Commons has expressly identified itself as the Licensor hereunder, it
shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. Except for the limited purpose of indicating to the public that the
Work is licensed under the CCPL, Creative Commons does not authorize
the use by either party of the trademark "Creative Commons" or any
related trademark or logo of Creative Commons without the prior
written consent of Creative Commons. Any permitted use will be in
compliance with Creative Commons' then-current trademark usage
guidelines, as may be published on its website or otherwise made
available upon request from time to time. For the avoidance of doubt,
this trademark restriction does not form part of the License.
Creative Commons may be contacted at http://creativecommons.org/. Creative Commons may be contacted at https://creativecommons.org/.

View file

@ -0,0 +1,15 @@
Disclaimer:
The software is provided "as is", without warranty of any kind,
express or implied, including but not limited to the warranties
of merchantability, fitness for a particular purpose and
noninfringement. In no event shall the author(s) be liable for
any claim, damages or other liability, whether in an action of
contract, tort or otherwise, arising from, out of or in connection
with the software or the use or other dealings in the software.
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby
granted without fee, provided that the above copyright notice
appear in all copies and that both that copyright notice and
this permission notice appear in supporting documentation.

View file

@ -39,6 +39,7 @@ The precise terms and conditions for copying, distribution and modification foll
Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you".

View file

@ -39,6 +39,7 @@ The precise terms and conditions for copying, distribution and modification foll
Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you".

View file

@ -41,6 +41,7 @@ Although the Lesser General Public License is Less protective of the users' free
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".

View file

@ -41,6 +41,7 @@ Although the Lesser General Public License is Less protective of the users' free
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".

View file

@ -0,0 +1,8 @@
EXEMPTION FOR BINARY LIBRARY-LIKE PACKAGES
------------------------------------------
The second condition in the BSD licence (covering binary redistributions) does
not apply all the way down a chain of software. If binary package A includes
PCRE2, it must respect the condition, but if package B is software that
includes package A, the condition is not imposed on package B unless it uses
PCRE2 independently.

96
options/license/PPL Normal file
View file

@ -0,0 +1,96 @@
Peer Production License
Created by John Magyar, B.A., J.D. and Dmytri Kleiner, the following Peer Production License, a model for a Copyfarleft license, has been derived from the Creative Commons Attribution-NonCommercial-ShareAlike' license available at http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode.
LICENSE
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS COPYFARLEFT PUBLIC LICENSE ("LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND ALL OTHER APPLICABLE LAWS. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED IN THIS LICENSE, YOU AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN AS CONSIDERATION FOR ACCEPTING THE TERMS AND CONDITIONS OF THIS LICENSE AND FOR AGREEING TO BE BOUND BY THE TERMS AND CONDITIONS OF THIS LICENSE.
1. DEFINITIONS
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
c. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale, gift or any other transfer of possession or ownership.
d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. FAIR DEALING RIGHTS
Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. LICENSE GRANT
Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
d. to Distribute and Publicly Perform Adaptations. The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(f).
4. RESTRICTIONS
The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested.
b. Subject to the exception in Section 4(c), you may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.
c. You may exercise the rights granted in Section 3 for commercial purposes only if:
i. You are a worker-owned business or worker-owned collective; and
ii. all financial gain, surplus, profits and benefits produced by the business or collective are distributed among the worker-owners
d. Any use by a business that is privately owned and managed, and that seeks to generate profit from the labor of employees paid by salary or other wages, is not permitted under this license.
e. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
f. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and,
iii.Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b).
g. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
5. REPRESENTATIONS, WARRANTIES AND DISCLAIMER
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. LIMITATION ON LIABILITY
EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. TERMINATION
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
8. MISCELLANEOUS
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.

3
options/license/any-OSI Normal file
View file

@ -0,0 +1,3 @@
Pick your favourite OSI approved license :)
http://www.opensource.org/licenses/alphabetical

16
options/license/cve-tou Normal file
View file

@ -0,0 +1,16 @@
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive,
no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
derivative works of, publicly display, publicly perform, sublicense, and
distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for
such purposes is authorized provided that you reproduce MITRE's copyright
designation and this license in any such copy.
DISCLAIMERS
ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE
PROVIDED ON AN "AS IS" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE MITRE CORPORATION, ITS BOARD OF
TRUSTEES, OFFICERS, AGENTS, AND EMPLOYEES, DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION THEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

View file

@ -23,7 +23,7 @@ view = اعرض
your_settings = الإعدادات your_settings = الإعدادات
mirrors = المرايا mirrors = المرايا
explore = إكتشف explore = إكتشف
return_to_gitea = العودة إلى فورجيو return_to_forgejo = العودة إلى فورجيو
write = اكتب write = اكتب
webauthn_error_unknown = حدث خطأ غير معروف. من فضلك حاول مجدداً. webauthn_error_unknown = حدث خطأ غير معروف. من فضلك حاول مجدداً.
webauthn_reload = إعادة تحميل webauthn_reload = إعادة تحميل
@ -503,7 +503,7 @@ settings.delete_org_desc = هذه المنظمة ستحذف إلى الأبد،
create_org = أنشئ منظمة create_org = أنشئ منظمة
teams.add_all_repos_desc = سيضيف هذا كل مستودعات المنظمة إلى الفريق. teams.add_all_repos_desc = سيضيف هذا كل مستودعات المنظمة إلى الفريق.
settings.labels_desc = أضف التصنيفات القابلة للاستخدام في المسائل التابعة <strong>لكل مستودعات</strong> هذه المنظمة. settings.labels_desc = أضف التصنيفات القابلة للاستخدام في المسائل التابعة <strong>لكل مستودعات</strong> هذه المنظمة.
repo_updated = حُدِّث repo_updated = حُدِّث %s
org_desc = الوصف org_desc = الوصف
org_name_helper = ينبغي أن تكون أسماء المنظمات قصيرة وسهلة التذكر. org_name_helper = ينبغي أن تكون أسماء المنظمات قصيرة وسهلة التذكر.
team_permission_desc = الأذونات team_permission_desc = الأذونات

View file

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

View file

@ -10,7 +10,7 @@ licenses = Licence
sign_in = Prijavi se sign_in = Prijavi se
user_profile_and_more = Profil i podešavanja… user_profile_and_more = Profil i podešavanja…
explore = Istraži explore = Istraži
return_to_gitea = Vrati se u Forgejo return_to_forgejo = Vrati se u Forgejo
twofa = Dvostepena prijava twofa = Dvostepena prijava
version = Verzija version = Verzija
help = Pomoć help = Pomoć

View file

@ -28,4 +28,4 @@ licenses = Llicències
sign_up = Registrar-se sign_up = Registrar-se
link_account = Vincular un compte link_account = Vincular un compte
tracked_time_summary = Resum del temps registrat basat en filtres del llistat de temes tracked_time_summary = Resum del temps registrat basat en filtres del llistat de temes
return_to_gitea = Tornar a Forgejo return_to_forgejo = Tornar a Forgejo

View file

@ -25,7 +25,7 @@ signed_in_as=Přihlášen/a jako
enable_javascript=Tato stránka vyžaduje JavaScript. enable_javascript=Tato stránka vyžaduje JavaScript.
toc=Obsah toc=Obsah
licenses=Licence licenses=Licence
return_to_gitea=Vrátit se do Forgejo return_to_forgejo=Vrátit se do Forgejo
username=Uživatelské jméno username=Uživatelské jméno
email=E-mailová adresa email=E-mailová adresa
@ -688,7 +688,7 @@ avatar=Avatar
ssh_gpg_keys=Klíče SSH / GPG ssh_gpg_keys=Klíče SSH / GPG
social=Účty sociálních sítí social=Účty sociálních sítí
applications=Aplikace applications=Aplikace
orgs=Spravovat organizace orgs=Organizace
repos=Repozitáře repos=Repozitáře
delete=Smazat účet delete=Smazat účet
twofa=Dvoufaktorové ověřování (TOTP) twofa=Dvoufaktorové ověřování (TOTP)
@ -762,8 +762,8 @@ password_change_disabled=Externě ověřovaní uživatelé nemohou aktualizovat
emails=E-mailové adresy emails=E-mailové adresy
manage_emails=Správa e-mailových adres manage_emails=Správa e-mailových adres
manage_themes=Vyberte výchozí motiv vzhledu manage_themes=Výchozí motiv
manage_openid=Správa adres OpenID manage_openid=Adresy OpenID
email_desc=Vaše hlavní e-mailová adresa bude použita pro oznámení, obnovení hesla, a pokud není skrytá, pro operace Gitu. email_desc=Vaše hlavní e-mailová adresa bude použita pro oznámení, obnovení hesla, a pokud není skrytá, pro operace Gitu.
theme_desc=Toto bude váš výchozí motiv vzhledu napříč stránkou. theme_desc=Toto bude váš výchozí motiv vzhledu napříč stránkou.
primary=Hlavní primary=Hlavní
@ -807,7 +807,7 @@ add_new_key=Přidat klíč SSH
add_new_gpg_key=Přidat klíč GPG add_new_gpg_key=Přidat klíč GPG
key_content_ssh_placeholder=Začíná s „ssh-ed25519“, „ssh-rsa“, „ecdsa-sha2-nistp256“, „ecdsa-sha2-nistp384“, „ecdsa-sha2-nistp521“, „sk-ecdsa-sha2-nistp256@openssh.com“ nebo „sk-ssh-ed25519@openssh.com“ key_content_ssh_placeholder=Začíná s „ssh-ed25519“, „ssh-rsa“, „ecdsa-sha2-nistp256“, „ecdsa-sha2-nistp384“, „ecdsa-sha2-nistp521“, „sk-ecdsa-sha2-nistp256@openssh.com“ nebo „sk-ssh-ed25519@openssh.com“
key_content_gpg_placeholder=Začíná s „-----BEGIN PGP PUBLIC KEY BLOCK-----“ key_content_gpg_placeholder=Začíná s „-----BEGIN PGP PUBLIC KEY BLOCK-----“
add_new_principal=Přidat SSH Principal certifikát add_new_principal=Přidat principal
ssh_key_been_used=Tento SSH klíč byl na server již přidán. ssh_key_been_used=Tento SSH klíč byl na server již přidán.
ssh_key_name_used=SSH klíč se stejným jménem již u vašeho účtu existuje. ssh_key_name_used=SSH klíč se stejným jménem již u vašeho účtu existuje.
ssh_principal_been_used=Tento SSH Principal certifikát již byl přidán na server. ssh_principal_been_used=Tento SSH Principal certifikát již byl přidán na server.
@ -866,7 +866,7 @@ token_state_desc=Tento token byl použit během posledních 7 dní
principal_state_desc=Tento SSH Principal certifikát byl použit během posledních 7 dní principal_state_desc=Tento SSH Principal certifikát byl použit během posledních 7 dní
show_openid=Zobrazit na profilu show_openid=Zobrazit na profilu
hide_openid=Odstranit z profilu hide_openid=Odstranit z profilu
ssh_disabled=SSH zakázáno ssh_disabled=SSH je zakázáno
ssh_signonly=SSH je v současné době zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu. ssh_signonly=SSH je v současné době zakázáno, proto jsou tyto klíče použity pouze pro ověření podpisu.
ssh_externally_managed=Tento SSH klíč je spravován externě pro tohoto uživatele ssh_externally_managed=Tento SSH klíč je spravován externě pro tohoto uživatele
manage_social=Správa propojených účtů sociálních sítí manage_social=Správa propojených účtů sociálních sítí
@ -874,7 +874,7 @@ social_desc=Tyto účty sociálních sítí lze použít k přihlášení k vaš
unbind=Odpojit unbind=Odpojit
unbind_success=Účet sociální sítě byl úspěšně odstraněn. unbind_success=Účet sociální sítě byl úspěšně odstraněn.
manage_access_token=Spravovat přístupové tokeny manage_access_token=Přístupové tokeny
generate_new_token=Vygenerovat nový token generate_new_token=Vygenerovat nový token
tokens_desc=Tyto tokeny umožňují přístup k vašemu účtu pomocí Forgejo API. tokens_desc=Tyto tokeny umožňují přístup k vašemu účtu pomocí Forgejo API.
token_name=Název tokenu token_name=Název tokenu
@ -955,7 +955,7 @@ webauthn_delete_key_desc=Pokud odstraníte bezpečnostní klíč, již se s ním
webauthn_key_loss_warning=Pokud ztratíte své bezpečnostní klíče, ztratíte přístup k vašemu účtu. webauthn_key_loss_warning=Pokud ztratíte své bezpečnostní klíče, ztratíte přístup k vašemu účtu.
webauthn_alternative_tip=Možná budete chtít nakonfigurovat další metodu ověřování. webauthn_alternative_tip=Možná budete chtít nakonfigurovat další metodu ověřování.
manage_account_links=Správa propojených účtů manage_account_links=Propojené účty
manage_account_links_desc=Tyto externí účty jsou propojeny s vaším Forgejo účtem. manage_account_links_desc=Tyto externí účty jsou propojeny s vaším Forgejo účtem.
account_links_not_available=K vašemu Forgejo účtu nejsou aktuálně připojené žádné externí účty. account_links_not_available=K vašemu Forgejo účtu nejsou aktuálně připojené žádné externí účty.
link_account=Propojit účet link_account=Propojit účet
@ -1003,6 +1003,7 @@ additional_repo_units_hint_description = Zobrazit tlačítko „Přidat další
pronouns = Zájmena pronouns = Zájmena
pronouns_custom = Vlastní pronouns_custom = Vlastní
pronouns_unspecified = Neurčená pronouns_unspecified = Neurčená
language.title = Výchozí jazyk
[repo] [repo]
new_repo_helper=Repozitář obsahuje všechny projektové soubory, včetně historie revizí. Už jej hostujete jinde? <a href="%s">Migrovat repozitář.</a> new_repo_helper=Repozitář obsahuje všechny projektové soubory, včetně historie revizí. Už jej hostujete jinde? <a href="%s">Migrovat repozitář.</a>
@ -1334,10 +1335,10 @@ editor.commit_empty_file_header=Odevzdat prázdný soubor
editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný. Pokračovat? editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný. Pokračovat?
editor.no_changes_to_show=Žádné změny k zobrazení. editor.no_changes_to_show=Žádné změny k zobrazení.
editor.fail_to_update_file=Nepodařilo se aktualizovat/vytvořit soubor „%s“. editor.fail_to_update_file=Nepodařilo se aktualizovat/vytvořit soubor „%s“.
editor.fail_to_update_file_summary=Chybové hlášení: editor.fail_to_update_file_summary=Chybová zpráva:
editor.push_rejected_no_message=Změna byla serverem zamítnuta bez zprávy. Zkontrolujte prosím Git hooks. editor.push_rejected_no_message=Změna byla serverem zamítnuta bez zprávy. Zkontrolujte prosím Git hooks.
editor.push_rejected=Změna byla serverem zamítnuta. Zkontrolujte prosím Git hooks. editor.push_rejected=Změna byla serverem zamítnuta. Zkontrolujte prosím Git hooks.
editor.push_rejected_summary=Úplná zpráva o odmítnutí: editor.push_rejected_summary=Úplná zpráva o zamítnutí:
editor.add_subdir=Přidat adresář… editor.add_subdir=Přidat adresář…
editor.unable_to_upload_files=Nepodařilo se nahrát soubory do „%s“. Chyba: %v editor.unable_to_upload_files=Nepodařilo se nahrát soubory do „%s“. Chyba: %v
editor.upload_file_is_locked=Soubor „%s“ je uzamčen uživatelem %s. editor.upload_file_is_locked=Soubor „%s“ je uzamčen uživatelem %s.
@ -1853,16 +1854,16 @@ pulls.merge_commit_id=ID slučovacího commitu
pulls.require_signed_wont_sign=Větev vyžaduje podepsané commity, ale toto sloučení nebude podepsáno pulls.require_signed_wont_sign=Větev vyžaduje podepsané commity, ale toto sloučení nebude podepsáno
pulls.invalid_merge_option=Pro tuto žádost nemůžete použít tuto možnost sloučení. pulls.invalid_merge_option=Pro tuto žádost nemůžete použít tuto možnost sloučení.
pulls.merge_conflict=Sloučení selhalo: Došlo ke konfliktu při sloučení. Tip: Zkuste jinou strategii pulls.merge_conflict=Sloučení selhalo: při slučování došlo ke konfliktu. Tip: zkuste jinou strategii
pulls.merge_conflict_summary=Chybové hlášení pulls.merge_conflict_summary=Chybové hlášení
pulls.rebase_conflict=Sloučení selhalo: Došlo ke konfliktu při rebase commitu: %[1]s. Tip: Zkuste jinou strategii pulls.rebase_conflict=Sloučení selhalo: došlo ke konfliktu při rebase commitu: %[1]s. Tip: zkuste jinou strategii
pulls.rebase_conflict_summary=Chybové hlášení pulls.rebase_conflict_summary=Chybové hlášení
pulls.unrelated_histories=Sloučení selhalo: Hlavní a základní revize nesdílí společnou historii. Tip: Zkuste jinou strategii pulls.unrelated_histories=Sloučení selhalo: hlava a základ revize nesdílí společnou historii. Tip: zkuste jinou strategii
pulls.merge_out_of_date=Sloučení selhalo: Základ byl aktualizován při generování sloučení. Tip: Zkuste to znovu. pulls.merge_out_of_date=Sloučení selhalo: základ byl aktualizován při generování sloučení. Tip: zkuste to znovu.
pulls.head_out_of_date=Sloučení selhalo: Hlavní revize byla aktualizován při generování sloučení. Tip: Zkuste to znovu. pulls.head_out_of_date=Sloučení selhalo: hlava revize byla aktualizována při generování sloučení. Tip: zkuste to znovu.
pulls.has_merged=Chyba: žádost byla sloučena, nelze ji znovu sloučit nebo změnit cílovou větev. pulls.has_merged=Chyba: žádost byla sloučena, nelze ji znovu sloučit nebo změnit cílovou větev.
pulls.push_rejected=Push selhal: nahrání bylo zamítnuto. Zkontrolujte Git hooky pro tento repozitář. pulls.push_rejected=Push selhal: nahrání bylo zamítnuto. Zkontrolujte Git hooky pro tento repozitář.
pulls.push_rejected_summary=Úplná zpráva o odmítnutí pulls.push_rejected_summary=Úplná zpráva o zamítnutí
pulls.push_rejected_no_message=Push selhal: nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva. Zkontrolujte Git hooky pro tento repozitář pulls.push_rejected_no_message=Push selhal: nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva. Zkontrolujte Git hooky pro tento repozitář
pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající požadavek na natažení (#%d) s identickými vlastnostmi.` pulls.open_unmerged_pull_exists=`Nemůžete provést operaci znovuotevření protože je tu čekající požadavek na natažení (#%d) s identickými vlastnostmi.`
pulls.status_checking=Některé kontroly jsou nedořešeny pulls.status_checking=Některé kontroly jsou nedořešeny
@ -2754,6 +2755,8 @@ settings.matrix.room_id_helper = ID místnosti lze získat z webového klienta E
settings.matrix.access_token_helper = Pro tuto akci je doporučeno vytvořit oddělený účet Matrix. Přístupový token lze získat z webového klienta Element (v soukromé/anonymní kartě) > Uživatelské menu (vlevo nahoře) > Všechna nastavení > O aplikaci a pomoc > Rozšířené > Přístupový token (přímo pod adresou domovského serveru). Soukromou/anonymní kartu zavřete (odhlášením token zneplatníte). settings.matrix.access_token_helper = Pro tuto akci je doporučeno vytvořit oddělený účet Matrix. Přístupový token lze získat z webového klienta Element (v soukromé/anonymní kartě) > Uživatelské menu (vlevo nahoře) > Všechna nastavení > O aplikaci a pomoc > Rozšířené > Přístupový token (přímo pod adresou domovského serveru). Soukromou/anonymní kartu zavřete (odhlášením token zneplatníte).
release.hide_archive_links = Skrýt automaticky generované archivy release.hide_archive_links = Skrýt automaticky generované archivy
release.hide_archive_links_helper = Pro toto vydání skrýt automaticky generované archivy zdrojového kódu. Užitečné například pokud nahráváte své vlastní. release.hide_archive_links_helper = Pro toto vydání skrýt automaticky generované archivy zdrojového kódu. Užitečné například pokud nahráváte své vlastní.
settings.transfer.button = Převést vlastnictví
settings.transfer.modal.title = Převést vlastnictví
[graphs] [graphs]
component_loading_info = Tohle může chvíli trvat… component_loading_info = Tohle může chvíli trvat…
@ -2769,7 +2772,7 @@ org_name_holder=Název organizace
org_full_name_holder=Celý název organizace org_full_name_holder=Celý název organizace
org_name_helper=Jména organizací by měla být krátká a zapamatovatelná. org_name_helper=Jména organizací by měla být krátká a zapamatovatelná.
create_org=Vytvořit organizaci create_org=Vytvořit organizaci
repo_updated=Upraveno repo_updated=Upraveno %s
members=Členové members=Členové
teams=Týmy teams=Týmy
code=Kód code=Kód
@ -3658,7 +3661,7 @@ owner.settings.cargo.initialize.success=Index Cargo byl úspěšně vytvořen.
owner.settings.cargo.rebuild=Znovu vytvořit index owner.settings.cargo.rebuild=Znovu vytvořit index
owner.settings.cargo.rebuild.error=Obnovení Cargo indexu se nezdařilo: %v owner.settings.cargo.rebuild.error=Obnovení Cargo indexu se nezdařilo: %v
owner.settings.cargo.rebuild.success=Cargo Index byl úspěšně obnoven. owner.settings.cargo.rebuild.success=Cargo Index byl úspěšně obnoven.
owner.settings.cleanuprules.title=Správa pravidel čištění owner.settings.cleanuprules.title=Pravidla čištění
owner.settings.cleanuprules.add=Přidat pravidlo pro čištění owner.settings.cleanuprules.add=Přidat pravidlo pro čištění
owner.settings.cleanuprules.edit=Upravit pravidlo pro čištění owner.settings.cleanuprules.edit=Upravit pravidlo pro čištění
owner.settings.cleanuprules.none=Zatím nejsou k dispozici žádná pravidla čištění. owner.settings.cleanuprules.none=Zatím nejsou k dispozici žádná pravidla čištění.

View file

@ -24,7 +24,7 @@ signed_in_as=Angemeldet als
enable_javascript=Diese Website benötigt JavaScript. enable_javascript=Diese Website benötigt JavaScript.
toc=Inhaltsverzeichnis toc=Inhaltsverzeichnis
licenses=Lizenzen licenses=Lizenzen
return_to_gitea=Zurück zu Forgejo return_to_forgejo=Zurück zu Forgejo
username=Benutzername username=Benutzername
email=E-Mail-Adresse email=E-Mail-Adresse
@ -426,7 +426,7 @@ tab_openid=OpenID
oauth_signup_tab=Neues Konto registrieren oauth_signup_tab=Neues Konto registrieren
oauth_signup_title=Neuen Account fertigstellen oauth_signup_title=Neuen Account fertigstellen
oauth_signup_submit=Konto vervollständigen oauth_signup_submit=Konto vervollständigen
oauth_signin_tab=Mit existierendem Konto verbinden oauth_signin_tab=Mit einem existierenden Konto verbinden
oauth_signin_title=Anmelden um verbundenes Konto zu autorisieren oauth_signin_title=Anmelden um verbundenes Konto zu autorisieren
oauth_signin_submit=Konto verbinden oauth_signin_submit=Konto verbinden
oauth.signin.error=Beim Verarbeiten der Autorisierungsanfrage ist ein Fehler aufgetreten. Wenn dieser Fehler weiterhin besteht, wende dich bitte an deinen Administrator. oauth.signin.error=Beim Verarbeiten der Autorisierungsanfrage ist ein Fehler aufgetreten. Wenn dieser Fehler weiterhin besteht, wende dich bitte an deinen Administrator.
@ -685,7 +685,7 @@ avatar=Profilbild
ssh_gpg_keys=SSH- / GPG-Schlüssel ssh_gpg_keys=SSH- / GPG-Schlüssel
social=Soziale Konten social=Soziale Konten
applications=Anwendungen applications=Anwendungen
orgs=Organisationen verwalten orgs=Organisationen
repos=Repositorys repos=Repositorys
delete=Konto löschen delete=Konto löschen
twofa=Zwei-Faktor-Authentifizierung (TOTP) twofa=Zwei-Faktor-Authentifizierung (TOTP)
@ -759,8 +759,8 @@ password_change_disabled=Benutzer, die nicht von Forgejo verwaltet werden, könn
emails=E-Mail-Adressen emails=E-Mail-Adressen
manage_emails=E-Mail-Adressen verwalten manage_emails=E-Mail-Adressen verwalten
manage_themes=Standard-Theme auswählen manage_themes=Standard-Theme
manage_openid=OpenID-Adressen verwalten manage_openid=OpenID-Adressen
email_desc=Deine primäre E-Mail-Adresse wird für Benachrichtigungen, Passwort-Wiederherstellung und, sofern sie nicht versteckt ist, web-basierte Git-Operationen verwendet. email_desc=Deine primäre E-Mail-Adresse wird für Benachrichtigungen, Passwort-Wiederherstellung und, sofern sie nicht versteckt ist, web-basierte Git-Operationen verwendet.
theme_desc=Dies wird dein Standard-Theme auf der Seite sein. theme_desc=Dies wird dein Standard-Theme auf der Seite sein.
primary=Primär primary=Primär
@ -871,7 +871,7 @@ social_desc=Diese sozialen Konten können verwendet werden, um sich bei deinem K
unbind=Trennen unbind=Trennen
unbind_success=Das soziale Konto wurde erfolgreich entfernt. unbind_success=Das soziale Konto wurde erfolgreich entfernt.
manage_access_token=Zugriffstokens verwalten manage_access_token=Zugriffstokens
generate_new_token=Neuen Token erzeugen generate_new_token=Neuen Token erzeugen
tokens_desc=Diese Tokens gewähren vollen Zugriff auf dein Konto via die Forgejo-API. tokens_desc=Diese Tokens gewähren vollen Zugriff auf dein Konto via die Forgejo-API.
token_name=Token-Name token_name=Token-Name
@ -950,7 +950,7 @@ webauthn_nickname=Nickname
webauthn_delete_key=Sicherheitsschlüssel entfernen webauthn_delete_key=Sicherheitsschlüssel entfernen
webauthn_delete_key_desc=Wenn du einen Sicherheitsschlüssel entfernst, kannst du dich nicht mehr mit ihm anmelden. Fortfahren? webauthn_delete_key_desc=Wenn du einen Sicherheitsschlüssel entfernst, kannst du dich nicht mehr mit ihm anmelden. Fortfahren?
manage_account_links=Verknüpfte Accounts verwalten manage_account_links=Verknüpfte Accounts
manage_account_links_desc=Diese externen Accounts sind mit deinem Forgejo-Account verknüpft. manage_account_links_desc=Diese externen Accounts sind mit deinem Forgejo-Account verknüpft.
account_links_not_available=Es sind keine externen Accounts mit diesem Forgejo-Account verknüpft. account_links_not_available=Es sind keine externen Accounts mit diesem Forgejo-Account verknüpft.
link_account=Account verbinden link_account=Account verbinden
@ -1000,6 +1000,7 @@ additional_repo_units_hint_description = Einen „Mehr Einheiten hinzufügen …
pronouns = Pronomen pronouns = Pronomen
pronouns_custom = Eigene pronouns_custom = Eigene
pronouns_unspecified = Nicht spezifiziert pronouns_unspecified = Nicht spezifiziert
language.title = Standardsprache
[repo] [repo]
owner=Besitzer owner=Besitzer
@ -2743,6 +2744,8 @@ settings.sourcehut_builds.access_token_helper = Zugangstoken der die JOBS:RW-Fre
settings.matrix.access_token_helper = Es wird empfohlen, einen dedizierten Matrix-Account hierfür anzulegen. Der Zugangstoken kann in einem Incognito-Tab über den Element-Webclient geholt werden: Benutzermenü (oben links) > Alle Einstellungen > Hilfe & Über > Erweitert > Zugangstoken (direkt unter der Homeserver-URL). Schließe das Incognito-Tab dann (Abmelden würde den Token ungültig werden lassen). settings.matrix.access_token_helper = Es wird empfohlen, einen dedizierten Matrix-Account hierfür anzulegen. Der Zugangstoken kann in einem Incognito-Tab über den Element-Webclient geholt werden: Benutzermenü (oben links) > Alle Einstellungen > Hilfe & Über > Erweitert > Zugangstoken (direkt unter der Homeserver-URL). Schließe das Incognito-Tab dann (Abmelden würde den Token ungültig werden lassen).
release.hide_archive_links = Automatisch generierte Archive verstecken release.hide_archive_links = Automatisch generierte Archive verstecken
release.hide_archive_links_helper = Verstecke automatisch generierte Quellcodearchive für diesen Release. Zum Beispiel, wenn du deine eigenen hochlädst. release.hide_archive_links_helper = Verstecke automatisch generierte Quellcodearchive für diesen Release. Zum Beispiel, wenn du deine eigenen hochlädst.
settings.transfer.button = Besitz übertragen
settings.transfer.modal.title = Besitz übertragen
[graphs] [graphs]
@ -2751,7 +2754,7 @@ org_name_holder=Name der Organisation
org_full_name_holder=Vollständiger Name der Organisation org_full_name_holder=Vollständiger Name der Organisation
org_name_helper=Organisationsnamen sollten kurz und einprägsam sein. org_name_helper=Organisationsnamen sollten kurz und einprägsam sein.
create_org=Organisation erstellen create_org=Organisation erstellen
repo_updated=Aktualisiert repo_updated=Aktualisiert %s
members=Mitglieder members=Mitglieder
teams=Teams teams=Teams
code=Quelltext code=Quelltext
@ -3631,7 +3634,7 @@ owner.settings.cargo.rebuild=Index neu erstellen
owner.settings.cargo.rebuild.description=Neubauen kann hilfreich sein, wenn der Index nicht mit den gespeicherten Cargo-Paketen synchronisiert ist. owner.settings.cargo.rebuild.description=Neubauen kann hilfreich sein, wenn der Index nicht mit den gespeicherten Cargo-Paketen synchronisiert ist.
owner.settings.cargo.rebuild.error=Cargo-Index konnte nicht neu erstellt werden: %v owner.settings.cargo.rebuild.error=Cargo-Index konnte nicht neu erstellt werden: %v
owner.settings.cargo.rebuild.success=Der Cargo-Index wurde erfolgreich neu erstellt. owner.settings.cargo.rebuild.success=Der Cargo-Index wurde erfolgreich neu erstellt.
owner.settings.cleanuprules.title=Bereinigungsregeln verwalten owner.settings.cleanuprules.title=Bereinigungsregeln
owner.settings.cleanuprules.add=Bereinigungsregel hinzufügen owner.settings.cleanuprules.add=Bereinigungsregel hinzufügen
owner.settings.cleanuprules.edit=Bereinigungsregel bearbeiten owner.settings.cleanuprules.edit=Bereinigungsregel bearbeiten
owner.settings.cleanuprules.none=Es bestehen derzeit keine Bereinigungsregeln. owner.settings.cleanuprules.none=Es bestehen derzeit keine Bereinigungsregeln.

View file

@ -25,7 +25,7 @@ signed_in_as=Συνδεδεμένος ως
enable_javascript=Απαιτείται JavaScript για να εμφανιστεί αυτή η ιστοσελίδα. enable_javascript=Απαιτείται JavaScript για να εμφανιστεί αυτή η ιστοσελίδα.
toc=Πίνακας Περιεχομένων toc=Πίνακας Περιεχομένων
licenses=Άδειες Χρήσης licenses=Άδειες Χρήσης
return_to_gitea=Επιστροφή στο Forgejo return_to_forgejo=Επιστροφή στο Forgejo
username=Όνομα χρήστη username=Όνομα χρήστη
email=Διεύθυνση email email=Διεύθυνση email
@ -2737,7 +2737,7 @@ org_name_holder=Όνομα οργανισμού
org_full_name_holder=Πλήρες όνομα οργανισμού org_full_name_holder=Πλήρες όνομα οργανισμού
org_name_helper=Τα ονόματα οργανισμών θα πρέπει να είναι σύντομα και εύκολα στην απομνημόνευση. org_name_helper=Τα ονόματα οργανισμών θα πρέπει να είναι σύντομα και εύκολα στην απομνημόνευση.
create_org=Δημιουργία οργανισμού create_org=Δημιουργία οργανισμού
repo_updated=Ενημερώθηκε repo_updated=Ενημερώθηκε %s
members=Μέλη members=Μέλη
teams=Ομάδες teams=Ομάδες
code=Κώδικας code=Κώδικας

View file

@ -25,7 +25,7 @@ signed_in_as = Signed in as
enable_javascript = This website requires JavaScript. enable_javascript = This website requires JavaScript.
toc = Table of Contents toc = Table of Contents
licenses = Licenses licenses = Licenses
return_to_gitea = Return to Forgejo return_to_forgejo = Return to Forgejo
toggle_menu = Toggle Menu toggle_menu = Toggle Menu
more_items = More items more_items = More items
@ -473,12 +473,10 @@ link_not_working_do_paste = Does the link not work? Try copying and pasting it i
hi_user_x = Hi <b>%s</b>, hi_user_x = Hi <b>%s</b>,
activate_account = Please activate your account activate_account = Please activate your account
activate_account.title = %s, please activate your account
activate_account.text_1 = Hi <b>%[1]s</b>, thanks for registering at %[2]s! activate_account.text_1 = Hi <b>%[1]s</b>, thanks for registering at %[2]s!
activate_account.text_2 = Please click the following link to activate your account within <b>%s</b>: activate_account.text_2 = Please click the following link to activate your account within <b>%s</b>:
activate_email = Verify your email address activate_email = Verify your email address
activate_email.title = %s, please verify your email address
activate_email.text = Please click the following link to verify your email address within <b>%s</b>: activate_email.text = Please click the following link to verify your email address within <b>%s</b>:
admin.new_user.subject = New user %s just signed up admin.new_user.subject = New user %s just signed up
@ -486,13 +484,11 @@ admin.new_user.user_info = User information
admin.new_user.text = Please <a href="%s">click here</a> to manage this user from the admin panel. admin.new_user.text = Please <a href="%s">click here</a> to manage this user from the admin panel.
register_notify = Welcome to Forgejo register_notify = Welcome to Forgejo
register_notify.title = %[1]s, welcome to %[2]s
register_notify.text_1 = this is your registration confirmation email for %s! register_notify.text_1 = this is your registration confirmation email for %s!
register_notify.text_2 = You can sign into your account using your username: %s register_notify.text_2 = You can sign into your account using your username: %s
register_notify.text_3 = If someone else made this account for you, you will need to <a href="%s">set your password</a> first. register_notify.text_3 = If someone else made this account for you, you will need to <a href="%s">set your password</a> first.
reset_password = Recover your account reset_password = Recover your account
reset_password.title = %s, we have received a request to recover your account
reset_password.text = If this was you, please click the following link to recover your account within <b>%s</b>: reset_password.text = If this was you, please click the following link to recover your account within <b>%s</b>:
register_success = Registration successful register_success = Registration successful
@ -572,7 +568,7 @@ TreeName = File path
Content = Content Content = Content
SSPISeparatorReplacement = Separator SSPISeparatorReplacement = Separator
SSPIDefaultLanguage = Default Language SSPIDefaultLanguage = Default language
require_error = ` cannot be empty.` require_error = ` cannot be empty.`
alpha_dash_error = ` should contain only alphanumeric, dash ("-") and underscore ("_") characters.` alpha_dash_error = ` should contain only alphanumeric, dash ("-") and underscore ("_") characters.`
@ -784,12 +780,12 @@ theme_desc = This will be your default theme across the site.
primary = Primary primary = Primary
activated = Activated activated = Activated
requires_activation = Requires activation requires_activation = Requires activation
primary_email = Make Primary primary_email = Make primary
activate_email = Send Activation activate_email = Send activation
activations_pending = Activations Pending activations_pending = Activations pending
can_not_add_email_activations_pending = There is a pending activation, try again in a few minutes if you want to add a new email. can_not_add_email_activations_pending = There is a pending activation, try again in a few minutes if you want to add a new email.
delete_email = Remove delete_email = Remove
email_deletion = Remove Email Address email_deletion = Remove email address
email_deletion_desc = The email address and related information will be removed from your account. Git commits by this email address will remain unchanged. Continue? email_deletion_desc = The email address and related information will be removed from your account. Git commits by this email address will remain unchanged. Continue?
email_deletion_success = The email address has been removed. email_deletion_success = The email address has been removed.
theme_update_success = Your theme was updated. theme_update_success = Your theme was updated.
@ -822,7 +818,7 @@ add_new_key = Add SSH key
add_new_gpg_key = Add GPG key add_new_gpg_key = Add GPG key
key_content_ssh_placeholder = Begins with "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", or "sk-ssh-ed25519@openssh.com" key_content_ssh_placeholder = Begins with "ssh-ed25519", "ssh-rsa", "ecdsa-sha2-nistp256", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp521", "sk-ecdsa-sha2-nistp256@openssh.com", or "sk-ssh-ed25519@openssh.com"
key_content_gpg_placeholder = Begins with "-----BEGIN PGP PUBLIC KEY BLOCK-----" key_content_gpg_placeholder = Begins with "-----BEGIN PGP PUBLIC KEY BLOCK-----"
add_new_principal = Add Principal add_new_principal = Add principal
ssh_key_been_used = This SSH key has already been added to the server. ssh_key_been_used = This SSH key has already been added to the server.
ssh_key_name_used = An SSH key with same name already exists on your account. ssh_key_name_used = An SSH key with same name already exists on your account.
ssh_principal_been_used = This principal has already been added to the server. ssh_principal_been_used = This principal has already been added to the server.
@ -881,7 +877,7 @@ token_state_desc = This token has been used in the last 7 days
principal_state_desc = This principal has been used in the last 7 days principal_state_desc = This principal has been used in the last 7 days
show_openid = Show on profile show_openid = Show on profile
hide_openid = Hide from profile hide_openid = Hide from profile
ssh_disabled = SSH Disabled ssh_disabled = SSH is disabled
ssh_signonly = SSH is currently disabled so these keys are only used for commit signature verification. ssh_signonly = SSH is currently disabled so these keys are only used for commit signature verification.
ssh_externally_managed = This SSH key is externally managed for this user ssh_externally_managed = This SSH key is externally managed for this user
manage_social = Manage Associated Social Accounts manage_social = Manage Associated Social Accounts
@ -1329,10 +1325,10 @@ editor.add_tmpl = Add "<filename>"
editor.add = Add %s editor.add = Add %s
editor.update = Update %s editor.update = Update %s
editor.delete = Delete %s editor.delete = Delete %s
editor.patch = Apply Patch editor.patch = Apply patch
editor.patching = Patching: editor.patching = Patching:
editor.fail_to_apply_patch = Unable to apply patch "%s" editor.fail_to_apply_patch = Unable to apply patch "%s"
editor.new_patch = New Patch editor.new_patch = New patch
editor.commit_message_desc = Add an optional extended description… editor.commit_message_desc = Add an optional extended description…
editor.signoff_desc = Add a Signed-off-by trailer by the committer at the end of the commit log message. editor.signoff_desc = Add a Signed-off-by trailer by the committer at the end of the commit log message.
editor.commit_directly_to_this_branch = Commit directly to the <strong class="branch-name">%s</strong> branch. editor.commit_directly_to_this_branch = Commit directly to the <strong class="branch-name">%s</strong> branch.
@ -1360,10 +1356,10 @@ editor.commit_empty_file_header = Commit an empty file
editor.commit_empty_file_text = The file you're about to commit is empty. Proceed? editor.commit_empty_file_text = The file you're about to commit is empty. Proceed?
editor.no_changes_to_show = There are no changes to show. editor.no_changes_to_show = There are no changes to show.
editor.fail_to_update_file = Failed to update/create file "%s". editor.fail_to_update_file = Failed to update/create file "%s".
editor.fail_to_update_file_summary = Error Message: editor.fail_to_update_file_summary = Error message:
editor.push_rejected_no_message = The change was rejected by the server without a message. Please check Git hooks. editor.push_rejected_no_message = The change was rejected by the server without a message. Please check Git hooks.
editor.push_rejected = The change was rejected by the server. Please check Git hooks. editor.push_rejected = The change was rejected by the server. Please check Git hooks.
editor.push_rejected_summary = Full Rejection Message: editor.push_rejected_summary = Full rejection message:
editor.add_subdir = Add a directory… editor.add_subdir = Add a directory…
editor.unable_to_upload_files = Failed to upload files to "%s" with error: %v editor.unable_to_upload_files = Failed to upload files to "%s" with error: %v
editor.upload_file_is_locked = File "%s" is locked by %s. editor.upload_file_is_locked = File "%s" is locked by %s.
@ -1380,8 +1376,8 @@ commits.commits = Commits
commits.no_commits = No commits in common. "%s" and "%s" have entirely different histories. commits.no_commits = No commits in common. "%s" and "%s" have entirely different histories.
commits.nothing_to_compare = These branches are equal. commits.nothing_to_compare = These branches are equal.
commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-01-13". commits.search.tooltip = You can prefix keywords with "author:", "committer:", "after:", or "before:", e.g. "revert author:Alice before:2019-01-13".
commits.search_branch = This Branch commits.search_branch = This branch
commits.search_all = All Branches commits.search_all = All branches
commits.author = Author commits.author = Author
commits.message = Message commits.message = Message
commits.browse_further = Browse further commits.browse_further = Browse further
@ -1886,16 +1882,16 @@ pulls.merge_commit_id = The merge commit ID
pulls.require_signed_wont_sign = The branch requires signed commits but this merge will not be signed pulls.require_signed_wont_sign = The branch requires signed commits but this merge will not be signed
pulls.invalid_merge_option = You cannot use this merge option for this pull request. pulls.invalid_merge_option = You cannot use this merge option for this pull request.
pulls.merge_conflict = Merge Failed: There was a conflict whilst merging. Hint: Try a different strategy pulls.merge_conflict = Merge failed: There was a conflict whilst merging. Hint: Try a different strategy
pulls.merge_conflict_summary = Error Message pulls.merge_conflict_summary = Error message
pulls.rebase_conflict = Merge Failed: There was a conflict whilst rebasing commit: %[1]s. Hint: Try a different strategy pulls.rebase_conflict = Merge failed: There was a conflict whilst rebasing commit: %[1]s. Hint: Try a different strategy
pulls.rebase_conflict_summary = Error Message pulls.rebase_conflict_summary = Error message
pulls.unrelated_histories = Merge Failed: The merge head and base do not share a common history. Hint: Try a different strategy pulls.unrelated_histories = Merge failed: The merge head and base do not share a common history. Hint: Try a different strategy
pulls.merge_out_of_date = Merge Failed: Whilst generating the merge, the base was updated. Hint: Try again. pulls.merge_out_of_date = Merge failed: Whilst generating the merge, the base was updated. Hint: Try again.
pulls.head_out_of_date = Merge Failed: Whilst generating the merge, the head was updated. Hint: Try again. pulls.head_out_of_date = Merge failed: Whilst generating the merge, the head was updated. Hint: Try again.
pulls.has_merged = Failed: The pull request has been merged, you cannot merge again or change the target branch. pulls.has_merged = Failed: The pull request has been merged, you cannot merge again or change the target branch.
pulls.push_rejected = Push Failed: The push was rejected. Review the Git hooks for this repository. pulls.push_rejected = Push Failed: The push was rejected. Review the Git hooks for this repository.
pulls.push_rejected_summary = Full Rejection Message pulls.push_rejected_summary = Full rejection message
pulls.push_rejected_no_message = Push Failed: The push was rejected but there was no remote message. Review the Git hooks for this repository pulls.push_rejected_no_message = Push Failed: The push was rejected but there was no remote message. Review the Git hooks for this repository
pulls.open_unmerged_pull_exists = `You cannot perform a reopen operation because there is a pending pull request (#%d) with identical properties.` pulls.open_unmerged_pull_exists = `You cannot perform a reopen operation because there is a pending pull request (#%d) with identical properties.`
pulls.status_checking = Some checks are pending pulls.status_checking = Some checks are pending
@ -2022,6 +2018,8 @@ wiki.pages = Pages
wiki.last_updated = Last updated %s wiki.last_updated = Last updated %s
wiki.page_name_desc = Enter a name for this Wiki page. Some special names are: "Home", "_Sidebar" and "_Footer". wiki.page_name_desc = Enter a name for this Wiki page. Some special names are: "Home", "_Sidebar" and "_Footer".
wiki.original_git_entry_tooltip = View original Git file instead of using friendly link. wiki.original_git_entry_tooltip = View original Git file instead of using friendly link.
wiki.search = Search wiki
wiki.no_search_results = No results
activity = Activity activity = Activity
activity.navbar.pulse = Pulse activity.navbar.pulse = Pulse
@ -2742,7 +2740,7 @@ org_full_name_holder = Organization full name
org_name_helper = Organization names should be short and memorable. org_name_helper = Organization names should be short and memorable.
create_org = Create organization create_org = Create organization
open_dashboard = Open dashboard open_dashboard = Open dashboard
repo_updated = Updated repo_updated = Updated %s
members = Members members = Members
teams = Teams teams = Teams
code = Code code = Code
@ -3425,7 +3423,7 @@ mirror_sync_create = synced new reference <a href="%[2]s">%[3]s</a> to <a href="
mirror_sync_delete = synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror mirror_sync_delete = synced and deleted reference <code>%[2]s</code> at <a href="%[1]s">%[3]s</a> from mirror
approve_pull_request = `approved <a href="%[1]s">%[3]s#%[2]s</a>` approve_pull_request = `approved <a href="%[1]s">%[3]s#%[2]s</a>`
reject_pull_request = `suggested changes for <a href="%[1]s">%[3]s#%[2]s</a>` reject_pull_request = `suggested changes for <a href="%[1]s">%[3]s#%[2]s</a>`
publish_release = `released <a href="%[2]s"> "%[4]s" </a> at <a href="%[1]s">%[3]s</a>` publish_release = `released <a href="%[2]s">%[4]s</a> at <a href="%[1]s">%[3]s</a>`
review_dismissed = `dismissed review from <b>%[4]s</b> for <a href="%[1]s">%[3]s#%[2]s</a>` review_dismissed = `dismissed review from <b>%[4]s</b> for <a href="%[1]s">%[3]s#%[2]s</a>`
review_dismissed_reason = Reason: review_dismissed_reason = Reason:
create_branch = created branch <a href="%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a> create_branch = created branch <a href="%[2]s">%[3]s</a> in <a href="%[1]s">%[4]s</a>

View file

@ -13,7 +13,7 @@ licenses = Permesiloj
sign_in = Saluti sign_in = Saluti
user_profile_and_more = Profilo kaj agordoj… user_profile_and_more = Profilo kaj agordoj…
explore = Esplori explore = Esplori
return_to_gitea = Reiri al Forgejo return_to_forgejo = Reiri al Forgejo
webauthn_error_unknown = Eraris pro nekonata kialo. Bonvolu reprovi. webauthn_error_unknown = Eraris pro nekonata kialo. Bonvolu reprovi.
webauthn_reload = Reenlegi webauthn_reload = Reenlegi
twofa = Duobla aŭtentikigo twofa = Duobla aŭtentikigo
@ -803,3 +803,7 @@ teams.settings = Agordoj
[packages] [packages]
npm.details.tag = Etikedo npm.details.tag = Etikedo
[search]
search = Serĉi...

View file

@ -24,7 +24,7 @@ signed_in_as=Identificado como
enable_javascript=Este sitio web requiere JavaScript. enable_javascript=Este sitio web requiere JavaScript.
toc=Tabla de contenidos toc=Tabla de contenidos
licenses=Licencias licenses=Licencias
return_to_gitea=Volver a Forgejo return_to_forgejo=Volver a Forgejo
username=Nombre de usuario username=Nombre de usuario
email=Correo electrónico email=Correo electrónico
@ -2623,7 +2623,7 @@ org_name_holder=Nombre de la organización
org_full_name_holder=Nombre completo de la organización org_full_name_holder=Nombre completo de la organización
org_name_helper=Los nombres de organización deben ser cortos y destacados. org_name_helper=Los nombres de organización deben ser cortos y destacados.
create_org=Crear Organización create_org=Crear Organización
repo_updated=Actualizado repo_updated=Actualizado %s
members=Miembros members=Miembros
teams=Equipos teams=Equipos
code=Código code=Código

View file

@ -21,7 +21,7 @@ user_profile_and_more=پروفایل و تنظیمات…
signed_in_as=ورود به عنوان signed_in_as=ورود به عنوان
toc=فهرست محتویات toc=فهرست محتویات
licenses=گواهینامه ها licenses=گواهینامه ها
return_to_gitea=بازگشت به Forgejo return_to_forgejo=بازگشت به Forgejo
username=نام کاربری username=نام کاربری
email=نشانی رایانامه email=نشانی رایانامه
@ -1981,7 +1981,7 @@ org_name_holder=نام سازمان
org_full_name_holder=نام کامل سازمان org_full_name_holder=نام کامل سازمان
org_name_helper=نام سازمان باید کوتاه و قابل حفظ کردن باشد. org_name_helper=نام سازمان باید کوتاه و قابل حفظ کردن باشد.
create_org=ایجاد سازمان create_org=ایجاد سازمان
repo_updated=به روز رسانی شده repo_updated=به روز رسانی شده %s
members=اعضاء members=اعضاء
teams=تیم‌ها teams=تیم‌ها
lower_members=اعضا lower_members=اعضا

View file

@ -21,7 +21,7 @@ user_profile_and_more=Profiili ja asetukset…
signed_in_as=Kirjautuneena käyttäjänä signed_in_as=Kirjautuneena käyttäjänä
toc=Sisällysluettelo toc=Sisällysluettelo
licenses=Lisenssit licenses=Lisenssit
return_to_gitea=Palaa Forgejoan return_to_forgejo=Palaa Forgejoan
username=Käyttäjätunnus username=Käyttäjätunnus
email=Sähköpostiosoite email=Sähköpostiosoite
@ -1352,7 +1352,7 @@ org_name_holder=Organisaatio
org_full_name_holder=Organisaation täydellinen nimi org_full_name_holder=Organisaation täydellinen nimi
org_name_helper=Organisaation nimen tulisi olla lyhyt ja mieleenpainuva. org_name_helper=Organisaation nimen tulisi olla lyhyt ja mieleenpainuva.
create_org=Luo organisaatio create_org=Luo organisaatio
repo_updated=Päivitetty repo_updated=Päivitetty %s
members=Jäsenet members=Jäsenet
teams=Tiimit teams=Tiimit
lower_members=jäsenet lower_members=jäsenet

View file

@ -57,7 +57,7 @@ user_profile_and_more = Profile at Mga Setting…
signed_in_as = Naka-sign in bilang signed_in_as = Naka-sign in bilang
toc = Talaan ng Mga Nilalaman toc = Talaan ng Mga Nilalaman
licenses = Mga Lisensya licenses = Mga Lisensya
return_to_gitea = Bumalik sa Forgejo return_to_forgejo = Bumalik sa Forgejo
toggle_menu = I-toggle ang Menu toggle_menu = I-toggle ang Menu
username = Username username = Username
email = Email address email = Email address
@ -116,12 +116,12 @@ filter = I-filter
filter.clear = I-clear ang mga filter filter.clear = I-clear ang mga filter
filter.is_archived = Naka-archive filter.is_archived = Naka-archive
filter.not_archived = Hindi naka-archive filter.not_archived = Hindi naka-archive
filter.is_fork = Naka-fork filter.is_fork = Mga fork
filter.not_fork = Hindi naka-fork filter.not_fork = Hindi mga fork
filter.is_mirror = Naka-mirror filter.is_mirror = Mga mirror
filter.not_mirror = Hindi naka-mirror filter.not_mirror = Hindi mga mirror
filter.is_template = Template filter.is_template = Mga template
filter.not_template = Hindi template filter.not_template = Hindi mga template
filter.public = Publiko filter.public = Publiko
filter.private = Pribado filter.private = Pribado
notifications = Mga Abiso notifications = Mga Abiso
@ -401,7 +401,7 @@ login_openid = OpenID
oauth_signup_tab = Mag-rehistro ng Bagong Account oauth_signup_tab = Mag-rehistro ng Bagong Account
oauth_signup_title = Kumpletuhin ang Bagong Account oauth_signup_title = Kumpletuhin ang Bagong Account
oauth_signup_submit = Kumpletuhin ang Account oauth_signup_submit = Kumpletuhin ang Account
oauth_signin_tab = I-link sa Umiiral na Account oauth_signin_tab = Mag-link sa umiiral na account
oauth_signin_submit = I-link ang Account oauth_signin_submit = I-link ang Account
oauth.signin.error.access_denied = Tinanggihan ang hiling ng pahintulutan. oauth.signin.error.access_denied = Tinanggihan ang hiling ng pahintulutan.
oauth.signin.error.temporarily_unavailable = Nabigo ang awtorisasyon dahil pansamantalang hindi available ang authentication server. Mangyaring subukan muli sa ibang pagkakataon. oauth.signin.error.temporarily_unavailable = Nabigo ang awtorisasyon dahil pansamantalang hindi available ang authentication server. Mangyaring subukan muli sa ibang pagkakataon.
@ -409,7 +409,7 @@ openid_connect_submit = Kumonekta
openid_connect_title = Kumonekta sa umiiral na account openid_connect_title = Kumonekta sa umiiral na account
openid_connect_desc = Ang piniling OpenID URI ay hindi alam. Iugnay iyan sa bagong account dito. openid_connect_desc = Ang piniling OpenID URI ay hindi alam. Iugnay iyan sa bagong account dito.
invalid_code = Ang iyong confirmation code ay hindi wasto o nag-expire na. invalid_code = Ang iyong confirmation code ay hindi wasto o nag-expire na.
oauth_signin_title = Mag-sign In para Pahintulutan ang Naka-link na Account oauth_signin_title = Mag-sign in para pahintulutan ang naka-link na account
invalid_code_forgot_password = Ang iyong confirmation code ay hindi wasto o nag-expire na. Mag-click <a href="%s">dito</a> para magsimula ng bagong session. invalid_code_forgot_password = Ang iyong confirmation code ay hindi wasto o nag-expire na. Mag-click <a href="%s">dito</a> para magsimula ng bagong session.
confirmation_mail_sent_prompt = Ang isang bagong email pang-kumpirma ay ipinadala sa <b>%s</b>. Pakisuri ang iyong inbox sa loob ng %s para tapusin ang proseso ng pagrehistro. Kung mali ang email, maari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address. confirmation_mail_sent_prompt = Ang isang bagong email pang-kumpirma ay ipinadala sa <b>%s</b>. Pakisuri ang iyong inbox sa loob ng %s para tapusin ang proseso ng pagrehistro. Kung mali ang email, maari kang mag-log in, at humingi ng isa pang email pang-kumpirma na ipapadala sa ibang address.
invalid_password = Ang iyong password ay hindi tugma sa password na ginamit para gawin ang account. invalid_password = Ang iyong password ay hindi tugma sa password na ginamit para gawin ang account.
@ -522,7 +522,7 @@ CommitChoice = Pagpili ng commit
TreeName = Path ng file TreeName = Path ng file
Content = Nilalaman Content = Nilalaman
SSPISeparatorReplacement = Pang-hiwalay SSPISeparatorReplacement = Pang-hiwalay
SSPIDefaultLanguage = Default na Wika SSPIDefaultLanguage = Default na wika
CommitSummary = Pangkalahatang-ideya ng commit CommitSummary = Pangkalahatang-ideya ng commit
glob_pattern_error = ` hindi angkop ang glob pattern: %s` glob_pattern_error = ` hindi angkop ang glob pattern: %s`
require_error = ` hindi maaring walang laman.` require_error = ` hindi maaring walang laman.`
@ -643,11 +643,11 @@ security = Seguridad
avatar = Avatar avatar = Avatar
ssh_gpg_keys = Mga SSH / GPG key ssh_gpg_keys = Mga SSH / GPG key
applications = Mga Aplikasyon applications = Mga Aplikasyon
orgs = Pamahalaan ng mga organisasyon orgs = Ipamahala ang mga organisasyon
repos = Mga Repositoryo repos = Mga Repositoryo
delete = Burahin ang Account delete = Burahin ang Account
twofa = Authentikasyong two-factor (TOTP) twofa = Authentikasyong two-factor (TOTP)
account_link = Mga Naka-link na Account account_link = Mga naka-link na account
uid = UID uid = UID
webauthn = Authentikasyong two-factor (Mga security key) webauthn = Authentikasyong two-factor (Mga security key)
blocked_users = Mga na-block na user blocked_users = Mga na-block na user
@ -694,7 +694,7 @@ update_avatar = I-update ang avatar
delete_current_avatar = Burahin ang kasalukuyang avatar delete_current_avatar = Burahin ang kasalukuyang avatar
uploaded_avatar_not_a_image = Ang na-upload na file ay hindi isang larawan. uploaded_avatar_not_a_image = Ang na-upload na file ay hindi isang larawan.
comment_type_group_assignee = Mangangasiwa comment_type_group_assignee = Mangangasiwa
social = Mga Social Account social = Mga social account
biography_placeholder = Sabihin sa amin ng kaunti tungkol sa iyong sarili! (Maaari mong gamitin ang Markdown) biography_placeholder = Sabihin sa amin ng kaunti tungkol sa iyong sarili! (Maaari mong gamitin ang Markdown)
change_username_prompt = Tandaan: Ang pagpalit ng username ay papalitan din ang URL ng iyong account. change_username_prompt = Tandaan: Ang pagpalit ng username ay papalitan din ang URL ng iyong account.
organization = Mga Organisasyon organization = Mga Organisasyon
@ -738,18 +738,18 @@ change_password_success = Na-update na ang iyong password. Mag-sign in gamit ng
password_change_disabled = Hindi mababago ng mga di-lokal na gumagamit ang kanilang password sa pamamagitan ng Forgejo web interface. password_change_disabled = Hindi mababago ng mga di-lokal na gumagamit ang kanilang password sa pamamagitan ng Forgejo web interface.
emails = Mga email address emails = Mga email address
manage_emails = Ipamahala ang mga email address manage_emails = Ipamahala ang mga email address
manage_themes = Piliin ang default na tema manage_themes = Default na tema
manage_openid = Ipamahala ang mga OpenID address manage_openid = Mga OpenID address
email_desc = Ang iyong pangunahing email address ay gagamitin para sa mga notification, pag-recover ng password at, kung hindi tinago, mga Git operation na batay sa web. email_desc = Ang iyong pangunahing email address ay gagamitin para sa mga notification, pag-recover ng password at, kung hindi tinago, mga Git operation na batay sa web.
theme_desc = Ito ang iyong magiging default na tema sa buong site. theme_desc = Ito ang iyong magiging default na tema sa buong site.
primary = Panguna primary = Panguna
activated = Naka-activate activated = Naka-activate
requires_activation = Nangangailangan ng activation requires_activation = Nangangailangan ng activation
primary_email = Gawing Pangunahin primary_email = Gawing pangunahin
activate_email = Ipadala ang Activation activate_email = Ipadala ang activation
activations_pending = Nakabinbin ang mga Activation activations_pending = Nakabinbin ang mga activation
delete_email = Tanggalin delete_email = Tanggalin
email_deletion = Tanggalin ang Email Address email_deletion = Tanggalin ang email address
email_deletion_success = Tinanggal na ang email address. email_deletion_success = Tinanggal na ang email address.
theme_update_success = Binago na ang iyong tema. theme_update_success = Binago na ang iyong tema.
theme_update_error = Hindi umiiral ang piniling tema. theme_update_error = Hindi umiiral ang piniling tema.
@ -775,7 +775,7 @@ gpg_helper = <strong>Kailangan ng tulong?</strong> Tignan ang guide <a href="%s"
add_new_key = Magdagdag ng SSH key add_new_key = Magdagdag ng SSH key
add_new_gpg_key = Magdagdag ng GPG key add_new_gpg_key = Magdagdag ng GPG key
key_content_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP PUBLIC KEY BLOCK-----" key_content_gpg_placeholder = Nagsisimula sa "-----BEGIN PGP PUBLIC KEY BLOCK-----"
add_new_principal = Magdagdag ng Principal add_new_principal = Magdagdag ng principal
ssh_key_been_used = Dinagdag na ang SSH key na ito sa server. ssh_key_been_used = Dinagdag na ang SSH key na ito sa server.
ssh_key_name_used = Ang isang SSH key na may katulad na pangalan ay umiiral na sa iyong account. ssh_key_name_used = Ang isang SSH key na may katulad na pangalan ay umiiral na sa iyong account.
ssh_principal_been_used = Dinagdag na ang principal na ito sa server. ssh_principal_been_used = Dinagdag na ang principal na ito sa server.
@ -830,7 +830,7 @@ manage_social = Ipamahala ang mga Nauugnay na Social Account
social_desc = Ang mga social account na ito ay magagamit para mag-sign in sa iyong account. Siguraduhing kilala mo silang lahat. social_desc = Ang mga social account na ito ay magagamit para mag-sign in sa iyong account. Siguraduhing kilala mo silang lahat.
unbind = I-unlink unbind = I-unlink
unbind_success = Matagumpay na tinanggal ang social account. unbind_success = Matagumpay na tinanggal ang social account.
manage_access_token = Ipamahala ang mga access token manage_access_token = Mga access token
generate_new_token = Gumawa ng bagong token generate_new_token = Gumawa ng bagong token
token_name = Pangalan ng token token_name = Pangalan ng token
generate_token = I-generate ang token generate_token = I-generate ang token
@ -913,10 +913,10 @@ webauthn_nickname = Palayaw
webauthn_delete_key = Tanggalin ang security key webauthn_delete_key = Tanggalin ang security key
webauthn_key_loss_warning = Kung mawala mo ang iyong mga security key, mawawalan ka ng access sa iyong account. webauthn_key_loss_warning = Kung mawala mo ang iyong mga security key, mawawalan ka ng access sa iyong account.
webauthn_alternative_tip = Baka gusto mong mag-configure ng isa pang paraan ng authentikasyon. webauthn_alternative_tip = Baka gusto mong mag-configure ng isa pang paraan ng authentikasyon.
manage_account_links = Ipamahala ang mga Naka-link na Account manage_account_links = Mga naka-link na account
account_links_not_available = Kasalukuyang walang mga naka-link na panlabas na account sa iyong Forgejo account. account_links_not_available = Kasalukuyang walang mga naka-link na panlabas na account sa iyong Forgejo account.
link_account = Mag-link ng Account link_account = Mag-link ng account
remove_account_link = Tanggalin ang Naka-link na Account remove_account_link = Tanggalin ang naka-link na account
visibility.limited = Limitado visibility.limited = Limitado
visibility.private = Pribado visibility.private = Pribado
visibility.private_tooltip = Makikita lang ng mga miyembro ng mga organisasyon na sinali mo visibility.private_tooltip = Makikita lang ng mga miyembro ng mga organisasyon na sinali mo
@ -937,12 +937,13 @@ remove_account_link_desc = Ang pagtanggal ng naka-link na account ay babawiin an
visibility.public_tooltip = Makikita ng lahat visibility.public_tooltip = Makikita ng lahat
hints = Mga Pahiwatig hints = Mga Pahiwatig
additional_repo_units_hint_description = Magpakita ng "Magdagdag pa ng mga unit..." na button para sa mga repositoryo na hindi naka-enable ang lahat ng mga available na unit. additional_repo_units_hint_description = Magpakita ng "Magdagdag pa ng mga unit..." na button para sa mga repositoryo na hindi naka-enable ang lahat ng mga available na unit.
additional_repo_units_hint = Hikayatin ang pag-enable ng karagdagang mga unit ng repositoryo additional_repo_units_hint = Imungkahi na i-enable ng karagdagang mga unit ng repositoryo
update_hints = I-update ang mga pahiwatig update_hints = I-update ang mga pahiwatig
update_hints_success = Na-update na ang mga pahiwatig. update_hints_success = Na-update na ang mga pahiwatig.
pronouns_custom = Pasadya pronouns_custom = Pasadya
pronouns_unspecified = Hindi natakda pronouns_unspecified = Hindi natakda
pronouns = Mga panghalip pronouns = Mga panghalip
language.title = Default na wika
[repo] [repo]
template_description = Ang mga template na repositoryo ay pinapayagan ang mga gumagamit na mag-generate ng mga bagong repositoryo na may magkatulad na istraktura ng direktoryo, mga file, at opsyonal na mga setting. template_description = Ang mga template na repositoryo ay pinapayagan ang mga gumagamit na mag-generate ng mga bagong repositoryo na may magkatulad na istraktura ng direktoryo, mga file, at opsyonal na mga setting.
@ -1393,8 +1394,8 @@ activity.title.prs_opened_by = %s inimungkahi ni/ng %s
pulls.cant_reopen_deleted_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil nabura ang branch. pulls.cant_reopen_deleted_branch = Hindi mabuksang muli ang hiling sa paghatak na ito dahil nabura ang branch.
issues.new = Bagong isyu issues.new = Bagong isyu
issues.commented_at = `iniwan ang komento <a href="#%s">%s</a>` issues.commented_at = `iniwan ang komento <a href="#%s">%s</a>`
editor.patch = Ilapat ang Patch editor.patch = Ilapat ang patch
editor.new_patch = Bagong Patch editor.new_patch = Bagong patch
editor.create_new_branch = Gumawa ng <strong>bagong branch</strong> para sa commit na ito at simulan ang hiling sa paghatak. editor.create_new_branch = Gumawa ng <strong>bagong branch</strong> para sa commit na ito at simulan ang hiling sa paghatak.
editor.create_new_branch_np = Gumawa ng <strong>bagong branch</strong> para sa commit na ito. editor.create_new_branch_np = Gumawa ng <strong>bagong branch</strong> para sa commit na ito.
editor.invalid_commit_mail = Hindi wastong mail para sa paggawa ng commit. editor.invalid_commit_mail = Hindi wastong mail para sa paggawa ng commit.
@ -1473,6 +1474,71 @@ activity.period.semiyearly = 6 na buwan
activity.period.yearly = 1 taon activity.period.yearly = 1 taon
issues.new.title_empty = Hindi maaaring walang laman ang pamagat issues.new.title_empty = Hindi maaaring walang laman ang pamagat
issues.new.projects = Mga proyeko issues.new.projects = Mga proyeko
settings.transfer_perform = Gawin ang paglipat
settings.transfer_abort = Ipagpaliban ang paglipat
settings.transfer_owner = Bagong may-ari
pulls.tab_conversation = Pag-uusap
pulls.tab_files = Nabagong mga file
settings.new_owner_blocked_doer = Hinarang ka ng bagong may-ari.
settings.transfer.rejected = Tinanggihan ang paglipat ng [repository].
settings.transfer.success = Matagumpay na inilipat ang [repository].
settings.transfer.modal.title = Ilipat ang [ownership]
diff.view_file = Tingnan ang file
diff.parent =magulang
diff.stats_desc = <strong>%d nabagong mga file</strong> na may <strong> %d mga pagdagdag</strong> at <strong> %d mga pagtanggal</strong>
commits.commits = Mga commit
commits.ssh_key_fingerprint = Fingerprint ng SSH key
commits.signed_by_untrusted_user_unmatched = Nilagdaan ng hindi pinagkakatiwalaan na user na hindi tumutugma sa taga-commit
commits.view_path = Tignan sa puntong ito sa kasaysayan
commit.operations = Mga operasyon
commit.revert-content = Piliin ang branch na ibabalik sa:
commit.cherry-pick = I-cherry-pick
commit.cherry-pick-header = I-cherry-pick: %s
commit.cherry-pick-content = Piliin ang branch na iche-cherry-pick sa:
editor.fail_to_update_file = Nabigong baguhin/gawin ang file na "%s".
commitstatus.error = Error
projects.deletion_desc = Ang pagbura ng proyekto ay tatanggalin ito sa lahat ng mga kaugnay na isyu. Magpatuloy?
projects.template.desc = Template
projects.template.desc_helper = Pumili ng template ng proyekto para magsimula
editor.cannot_commit_to_protected_branch = Hindi makaka-commit sa naka-protekta na branch na "%s".
editor.add_subdir = Magdagdag ng direktoryo…
editor.unable_to_upload_files = Nabigong i-upload ang mga file sa "%s" na may error: %v
editor.upload_file_is_locked = Ang file na "%s" ay na lock ng %s.
editor.push_rejected = Tinanggihan ng server ang pagbabago. Pakisuri ang mga Git hook.
editor.commit_id_not_matching = Nabago ang file habang ine-edit mo. I-commit sa bagong branch at i-merge.
editor.push_out_of_date = Mukhang luma ang push.
editor.push_rejected_no_message = Hindi tinanggap ng server ang pagbabago nang walang mensahe. Pakisuri ang mga Git hook.
projects.column.new_submit = Gumawa ng column
projects.column.new = Bagong column
projects.column.delete = Burahin ang column
projects.column.deletion_desc = Ang pagbura ng column ng proyekto ay ililipat ang lahat ng mga kaugnay na isyu sa default na column. Magpatuloy?
projects.column.set_default = Itakda bilang default
projects.column.set_default_desc = Itakda ang column na ito bilang default para sa mga hindi nakategorya na isyu at mga pull
editor.commit_empty_file_header = Mag-commit ng walang lamang file
editor.commit_empty_file_text = Walang laman ang file na iko-commit mo. Magpatuloy?
editor.upload_files_to_dir = I-upload ang mga file sa "%s"
commits.no_commits = Walang mga karaniwang commit. Ang "%s" at "%s" ay may ganap na magkakaibang kasaysayan.
editor.fail_to_update_file_summary = Mensahe ng error:
editor.no_commit_to_branch = Hindi direktang maka-commit sa branch dahil:
editor.user_no_push_to_branch = Hindi makaka-push ang user sa branch
editor.require_signed_commit = Nangangailangan ng branch ng naka-sign na commit
editor.cherry_pick = I-cherry-pick ang %s sa:
commits.search_branch = Itong branch
commits.browse_further = Higit pang mag-browse
commits.renamed_from = Na-rename mula sa %s
ext_issues = Access sa mga external na isyu
ext_issues.desc = Mag-link sa external na issue tracker.
projects.new_subheader = I-coordinate, subaybayan, at i-update ang iyong trabaho sa isang lugar, para manatiling transparent at nasa iskedyul ang mga proyekto.
projects.edit_subheader = Inaayos ng mga proyekto ang mga isyu at sinusubaybayan ang pag-unlad.
projects.edit_success = Na-update na ang proyekto na "%s".
projects.type.basic_kanban = Basic na kanban
projects.type.bug_triage = Pag-uuri ng bug
projects.column.edit = I-edit ang column
projects.column.edit_title = Pangalan
projects.column.new_title = Pangalan
projects.card_type.desc = Mga preview ng card
commits.desc = I-browse ang history ng pagbabago ng source code.
commits.search.tooltip = Maari kang mag-prefix ng mga keyword gamit ang "author:", "committer:", "after:", o "before:", hal. "revert author:Nijika before:2022-10-09".
[search] [search]
commit_kind = Maghanap ng mga commit... commit_kind = Maghanap ng mga commit...
@ -1761,7 +1827,7 @@ config.ssh_keygen_path = Path ng keygen ("ssh-keygen")
config.ssh_key_test_path = Path ng key test config.ssh_key_test_path = Path ng key test
[org] [org]
repo_updated = Binago repo_updated = Binago %s
team_access_desc = Access ng repositoryo team_access_desc = Access ng repositoryo
team_permission_desc = Pahintulot team_permission_desc = Pahintulot
org_desc = Deskripsyon org_desc = Deskripsyon

View file

@ -25,7 +25,7 @@ signed_in_as=Connecté en tant que
enable_javascript=Ce site Web nécessite JavaScript. enable_javascript=Ce site Web nécessite JavaScript.
toc=Sommaire toc=Sommaire
licenses=Licences licenses=Licences
return_to_gitea=Revenir à Forgejo return_to_forgejo=Revenir à Forgejo
username=Nom d'utilisateur username=Nom d'utilisateur
email=Courriel email=Courriel
@ -147,7 +147,7 @@ filter.clear = Effacer le filtre
filter.is_archived = Archivé filter.is_archived = Archivé
filter.not_archived = Non archivé filter.not_archived = Non archivé
filter.is_fork = Bifurcations filter.is_fork = Bifurcations
filter.not_fork = Non dupliqué filter.not_fork = Non bifurqué
filter.not_mirror = Non miroirs filter.not_mirror = Non miroirs
filter.is_template = Modèles filter.is_template = Modèles
filter.not_template = Non modèles filter.not_template = Non modèles
@ -479,7 +479,7 @@ activate_email.text=Veuillez cliquer sur le lien suivant pour vérifier votre ad
register_notify=Bienvenue sur Forgejo register_notify=Bienvenue sur Forgejo
register_notify.title=%[1]s, bienvenue à %[2]s register_notify.title=%[1]s, bienvenue à %[2]s
register_notify.text_1=ceci est votre courriel de confirmation d'inscription pour %s! register_notify.text_1=ceci est votre courriel de confirmation d'inscription pour %s!
register_notify.text_2=Vous pouvez maintenant vous connecter avec le nom d'utilisateur : %s. register_notify.text_2=Vous pouvez maintenant vous connecter avec le nom d'utilisateur : %s
register_notify.text_3=Si ce compte a été créé pour vous par une autre personne, veuillez <a href="%s">définir votre mot de passe</a> d'abord. register_notify.text_3=Si ce compte a été créé pour vous par une autre personne, veuillez <a href="%s">définir votre mot de passe</a> d'abord.
reset_password=Récupérer votre compte reset_password=Récupérer votre compte
@ -686,9 +686,9 @@ password=Mot de passe
security=Sécurité security=Sécurité
avatar=Avatar avatar=Avatar
ssh_gpg_keys=Clés SSH / GPG ssh_gpg_keys=Clés SSH / GPG
social=Réseaux Sociaux social=Réseaux sociaux
applications=Applications applications=Applications
orgs=Gérer les organisations orgs=Organisations
repos=Dépôts repos=Dépôts
delete=Supprimer le compte delete=Supprimer le compte
twofa=Authentification à deux facteurs twofa=Authentification à deux facteurs
@ -762,8 +762,8 @@ password_change_disabled=Les mots de passes des comptes utilisateurs externes ne
emails=Adresses courriels emails=Adresses courriels
manage_emails=Gérer les adresses courriels manage_emails=Gérer les adresses courriels
manage_themes=Sélectionner le thème par défaut manage_themes=Thème par défaut
manage_openid=Gérer les adresses OpenID manage_openid=Adresses OpenID
email_desc=Votre adresse courriel principale sera utilisée pour les notifications, la récupération de mot de passe et, à condition qu'elle ne soit pas cachée, les opérations Git basées sur le Web. email_desc=Votre adresse courriel principale sera utilisée pour les notifications, la récupération de mot de passe et, à condition qu'elle ne soit pas cachée, les opérations Git basées sur le Web.
theme_desc=Ce sera votre thème par défaut sur le site. theme_desc=Ce sera votre thème par défaut sur le site.
primary=Principale primary=Principale
@ -874,7 +874,7 @@ social_desc=Ces comptes sociaux peuvent être utilisés pour vous connecter à v
unbind=Dissocier unbind=Dissocier
unbind_success=Le compte social a été supprimé avec succès. unbind_success=Le compte social a été supprimé avec succès.
manage_access_token=Gérer les jetons d'accès manage_access_token=Jetons d'accès
generate_new_token=Générer un nouveau jeton generate_new_token=Générer un nouveau jeton
tokens_desc=Ces jetons permettent l'accès à votre compte à travers l'API Forgejo. tokens_desc=Ces jetons permettent l'accès à votre compte à travers l'API Forgejo.
token_name=Nom du jeton token_name=Nom du jeton
@ -956,10 +956,10 @@ webauthn_delete_key_desc=Si vous retirez une clé de sécurité, vous ne pourrez
webauthn_key_loss_warning=Si vous perdez vos clés de sécurité, vous perdrez laccès à votre compte. webauthn_key_loss_warning=Si vous perdez vos clés de sécurité, vous perdrez laccès à votre compte.
webauthn_alternative_tip=Vous devriez configurer une méthode dauthentification supplémentaire. webauthn_alternative_tip=Vous devriez configurer une méthode dauthentification supplémentaire.
manage_account_links=Gérer les comptes liés manage_account_links=Comptes liés
manage_account_links_desc=Ces comptes externes sont liés à votre compte Forgejo. manage_account_links_desc=Ces comptes externes sont liés à votre compte Forgejo.
account_links_not_available=Il n'y a pour l'instant pas de compte externe connecté à votre compte Forgejo. account_links_not_available=Il n'y a pour l'instant pas de compte externe connecté à votre compte Forgejo.
link_account=Lier un Compte link_account=Lier un compte
remove_account_link=Supprimer un compte lié remove_account_link=Supprimer un compte lié
remove_account_link_desc=La suppression d'un compte lié révoquera son accès à votre compte Forgejo. Continuer ? remove_account_link_desc=La suppression d'un compte lié révoquera son accès à votre compte Forgejo. Continuer ?
remove_account_link_success=Le compte lié a été supprimé. remove_account_link_success=Le compte lié a été supprimé.
@ -1003,6 +1003,7 @@ update_hints_success = Les suggestions ont été mises à jour.
pronouns_custom = Personnalisés pronouns_custom = Personnalisés
pronouns = Pronoms pronouns = Pronoms
pronouns_unspecified = Non spécifié pronouns_unspecified = Non spécifié
language.title = Langue par défaut
[repo] [repo]
new_repo_helper=Un dépôt contient tous les fichiers dun projet, ainsi que lhistorique de leurs modifications. Vous avez déjà ça ailleurs ? <a href="%s">Migrez-le ici.</a> new_repo_helper=Un dépôt contient tous les fichiers dun projet, ainsi que lhistorique de leurs modifications. Vous avez déjà ça ailleurs ? <a href="%s">Migrez-le ici.</a>
@ -1012,7 +1013,7 @@ repo_name=Nom du dépôt
repo_name_helper=Idéalement, le nom d'un dépôt devrait être court, mémorisable et unique. repo_name_helper=Idéalement, le nom d'un dépôt devrait être court, mémorisable et unique.
repo_size=Taille du dépôt repo_size=Taille du dépôt
template=Modèle template=Modèle
template_select=Sélectionner un modèle template_select=Sélectionner un modèle.
template_helper=Faire de ce dépôt un modèle template_helper=Faire de ce dépôt un modèle
template_description=Les référentiels de modèles permettent aux utilisateurs de générer de nouveaux référentiels avec la même structure de répertoire, fichiers et paramètres optionnels. template_description=Les référentiels de modèles permettent aux utilisateurs de générer de nouveaux référentiels avec la même structure de répertoire, fichiers et paramètres optionnels.
visibility=Visibilité visibility=Visibilité
@ -1087,20 +1088,20 @@ language_other=Autre
adopt_search=Entrez un nom dutilisateur pour rechercher les dépôts dépossédés… (laissez vide pour tous trouver) adopt_search=Entrez un nom dutilisateur pour rechercher les dépôts dépossédés… (laissez vide pour tous trouver)
adopt_preexisting_label=Adopter les fichiers adopt_preexisting_label=Adopter les fichiers
adopt_preexisting=Adopter les fichiers préexistants adopt_preexisting=Adopter les fichiers préexistants
adopt_preexisting_content=Créer un dépôt à partir de %s. adopt_preexisting_content=Créer un dépôt à partir de %s
adopt_preexisting_success=Fichiers adoptés et dépôt créé depuis %s adopt_preexisting_success=Fichiers adoptés et dépôt créé depuis %s
delete_preexisting_label=Supprimer delete_preexisting_label=Supprimer
delete_preexisting=Supprimer les fichiers préexistants delete_preexisting=Supprimer les fichiers préexistants
delete_preexisting_content=Supprimer les fichiers dans %s delete_preexisting_content=Supprimer les fichiers dans %s
delete_preexisting_success=Fichiers dépossédés supprimés dans %s. delete_preexisting_success=Fichiers dépossédés supprimés dans %s
blame_prior=Voir le blame avant cette modification blame_prior=Voir le blame avant cette modification
blame.ignore_revs=Les révisions dans <a href="%s">.git-blame-ignore-revs</a> sont ignorées. Vous pouvez quand même <a href="%s">voir ces blâmes</a>. blame.ignore_revs=Les révisions dans <a href="%s">.git-blame-ignore-revs</a> sont ignorées. Vous pouvez quand même <a href="%s">voir ces blâmes</a>.
blame.ignore_revs.failed=Impossible d'ignorer les révisions dans <a href="%s">.git-blame-ignore-revs</a>. blame.ignore_revs.failed=Impossible d'ignorer les révisions dans <a href="%s">.git-blame-ignore-revs</a>.
author_search_tooltip=Affiche un maximum de 30 utilisateurs author_search_tooltip=Affiche un maximum de 30 utilisateurs
tree_path_not_found_commit=Le chemin %[1]s nexiste pas dans la révision %[2]s. tree_path_not_found_commit=Le chemin %[1]s nexiste pas dans la révision %[2]s
tree_path_not_found_branch=Le chemin %[1]s nexiste pas dans la branche %[2]s. tree_path_not_found_branch=Le chemin %[1]s nexiste pas dans la branche %[2]s
tree_path_not_found_tag=Le chemin %[1]s nexiste pas dans létiquette %[2]s. tree_path_not_found_tag=Le chemin %[1]s nexiste pas dans létiquette %[2]s
transfer.accept=Accepter le transfert transfer.accept=Accepter le transfert
transfer.accept_desc=`Transférer à "%s"` transfer.accept_desc=`Transférer à "%s"`
@ -1163,7 +1164,7 @@ migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts lo
migrate.permission_denied_blocked=Vous ne pouvez pas importer depuis des hôtes interdits, veuillez demander à l'administrateur de vérifier les paramètres ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS. migrate.permission_denied_blocked=Vous ne pouvez pas importer depuis des hôtes interdits, veuillez demander à l'administrateur de vérifier les paramètres ALLOWED_DOMAINS/ALLOW_LOCALNETWORKS/BLOCKED_DOMAINS.
migrate.invalid_local_path=Le chemin local nest pas valide, nexiste pas ou nest pas un dossier. migrate.invalid_local_path=Le chemin local nest pas valide, nexiste pas ou nest pas un dossier.
migrate.invalid_lfs_endpoint=Le point d'accès LFS n'est pas valide. migrate.invalid_lfs_endpoint=Le point d'accès LFS n'est pas valide.
migrate.failed=Echec de migration: %v migrate.failed=Échec de migration: %v
migrate.migrate_items_options=Un jeton d'accès est requis pour migrer des éléments supplémentaires migrate.migrate_items_options=Un jeton d'accès est requis pour migrer des éléments supplémentaires
migrated_from=Migré de <a href="%[1]s">%[2]s</a> migrated_from=Migré de <a href="%[1]s">%[2]s</a>
migrated_from_fake=Migré de %[1]s migrated_from_fake=Migré de %[1]s
@ -1184,7 +1185,7 @@ migrate.migrating_git=Migration des données Git
migrate.migrating_topics=Migration des sujets migrate.migrating_topics=Migration des sujets
migrate.migrating_milestones=Migration des jalons migrate.migrating_milestones=Migration des jalons
migrate.migrating_labels=Migration des labels migrate.migrating_labels=Migration des labels
migrate.migrating_releases=Migration des publications. migrate.migrating_releases=Migration des publications
migrate.migrating_issues=Migration des tickets migrate.migrating_issues=Migration des tickets
migrate.migrating_pulls=Migration des demandes d'ajout migrate.migrating_pulls=Migration des demandes d'ajout
migrate.cancel_migrating_title=Annuler la migration migrate.cancel_migrating_title=Annuler la migration
@ -1229,7 +1230,7 @@ project_board=Projets
packages=Paquets packages=Paquets
actions=Actions actions=Actions
labels=Labels labels=Labels
org_labels_desc=Les labels d'une organisation peuvent être utilisés avec <strong>tous les dépôts</strong> de cette organisation. org_labels_desc=Les labels d'une organisation peuvent être utilisés avec <strong>tous les dépôts</strong> de cette organisation
org_labels_desc_manage=gérer org_labels_desc_manage=gérer
milestones=Jalons milestones=Jalons
@ -1307,7 +1308,7 @@ editor.add=Ajouter %s
editor.update=Actualiser %s editor.update=Actualiser %s
editor.delete=Supprimer %s editor.delete=Supprimer %s
editor.patch=Appliquer le correctif editor.patch=Appliquer le correctif
editor.patching=Correction: editor.patching=Correction:
editor.fail_to_apply_patch=`Impossible d'appliquer le correctif "%s"` editor.fail_to_apply_patch=`Impossible d'appliquer le correctif "%s"`
editor.new_patch=Nouveau correctif editor.new_patch=Nouveau correctif
editor.commit_message_desc=Ajouter une description détaillée facultative… editor.commit_message_desc=Ajouter une description détaillée facultative…
@ -1346,15 +1347,15 @@ editor.cannot_commit_to_protected_branch=Impossible de créer une révision sur
editor.no_commit_to_branch=Impossible d'enregistrer la révision directement sur la branche parce que : editor.no_commit_to_branch=Impossible d'enregistrer la révision directement sur la branche parce que :
editor.user_no_push_to_branch=L'utilisateur ne peut pas pousser vers la branche editor.user_no_push_to_branch=L'utilisateur ne peut pas pousser vers la branche
editor.require_signed_commit=Cette branche nécessite une révision signée editor.require_signed_commit=Cette branche nécessite une révision signée
editor.cherry_pick=Picorer %s vers: editor.cherry_pick=Picorer %s vers:
editor.revert=Rétablir %s sur: editor.revert=Rétablir %s sur:
commits.desc=Naviguer dans l'historique des modifications. commits.desc=Naviguer dans l'historique des modifications.
commits.commits=Révisions commits.commits=Révisions
commits.no_commits=Pas de révisions en commun. "%s" et "%s" ont des historiques entièrement différents. commits.no_commits=Pas de révisions en commun. "%s" et "%s" ont des historiques entièrement différents.
commits.nothing_to_compare=Ces branches sont égales. commits.nothing_to_compare=Ces branches sont égales.
commits.search=Rechercher des révisions… commits.search=Rechercher des révisions…
commits.search.tooltip=Vous pouvez utiliser les mots-clés "author:", "committer:", "after:", ou "before:" pour filtrer votre recherche, ex.: "revert author:Alice before:2019-01-13". commits.search.tooltip=Vous pouvez utiliser les mots-clés "author:", "committer:", "after:", ou "before:" pour filtrer votre recherche, ex.: "revert author:Alice before:2019-01-13".
commits.find=Chercher commits.find=Chercher
commits.search_all=Toutes les branches commits.search_all=Toutes les branches
commits.author=Auteur commits.author=Auteur
@ -1395,7 +1396,7 @@ projects.new=Nouveau projet
projects.new_subheader=Coordonnez, surveillez, et mettez à jour votre travail en un seul endroit, afin que les projets restent transparents et dans les délais. projects.new_subheader=Coordonnez, surveillez, et mettez à jour votre travail en un seul endroit, afin que les projets restent transparents et dans les délais.
projects.create_success=Le projet "%s" a été créé. projects.create_success=Le projet "%s" a été créé.
projects.deletion=Supprimer le projet projects.deletion=Supprimer le projet
projects.deletion_desc=Supprimer un projet efface également de tous les tickets liés. Voulez vous continuer? projects.deletion_desc=Supprimer un projet efface également de tous les tickets liés. Voulez vous continuer?
projects.deletion_success=Le projet a été supprimé. projects.deletion_success=Le projet a été supprimé.
projects.edit=Modifier les projets projects.edit=Modifier les projets
projects.edit_subheader=Les projets organisent les tickets et la progression. projects.edit_subheader=Les projets organisent les tickets et la progression.
@ -1413,7 +1414,7 @@ projects.column.new_title=Nom
projects.column.new_submit=Créer une colonne projects.column.new_submit=Créer une colonne
projects.column.new=Nouvelle colonne projects.column.new=Nouvelle colonne
projects.column.set_default=Définir par défaut projects.column.set_default=Définir par défaut
projects.column.set_default_desc=Les tickets et demandes dajout non-catégorisés seront placés dans cette colonne. projects.column.set_default_desc=Les tickets et demandes dajout non-catégorisés seront placés dans cette colonne
projects.column.unset_default=Défaire par défaut projects.column.unset_default=Défaire par défaut
projects.column.unset_default_desc=Les tickets et demandes d'ajouts non-catégorisés seront placés dans une colonne idoine. projects.column.unset_default_desc=Les tickets et demandes d'ajouts non-catégorisés seront placés dans une colonne idoine.
projects.column.delete=Supprimer la colonne projects.column.delete=Supprimer la colonne
@ -1470,15 +1471,15 @@ issues.label_templates.info=Il n'existe pas encore de label. Créez-en un avec
issues.label_templates.helper=Sélectionnez un jeu de label issues.label_templates.helper=Sélectionnez un jeu de label
issues.label_templates.use=Utiliser le jeu de labels issues.label_templates.use=Utiliser le jeu de labels
issues.label_templates.fail_to_load_file=Impossible de charger le fichier de modèle de label « %s » : %v issues.label_templates.fail_to_load_file=Impossible de charger le fichier de modèle de label « %s » : %v
issues.add_label=a ajouté le label %s %s. issues.add_label=a ajouté le label %s %s
issues.add_labels=a ajouté les labels %s %s. issues.add_labels=a ajouté les labels %s %s
issues.remove_label=a retiré le label %s %s. issues.remove_label=a retiré le label %s %s
issues.remove_labels=a supprimé les labels %s %s. issues.remove_labels=a supprimé les labels %s %s
issues.add_remove_labels=a ajouté le label %s et supprimé %s %s. issues.add_remove_labels=a ajouté le label %s et supprimé %s %s
issues.add_milestone_at=`a ajouté ça au jalon <b>%s</b> %s.` issues.add_milestone_at=`a ajouté ça au jalon <b>%s</b> %s.`
issues.add_project_at=`a ajouté ça au projet <b>%s</b> %s.` issues.add_project_at=`a ajouté ça au projet <b>%s</b> %s.`
issues.change_milestone_at=`a remplacé le jalon <b><strike>%s</strike></b> par <b>%s</b> %s.` issues.change_milestone_at=`a remplacé le jalon <b>%s</b> par <b>%s</b> %s`
issues.change_project_at=`a remplacé le projet <b><strike>%s</strike></b> par <b>%s</b> %s.` issues.change_project_at=`a remplacé le projet <b>%s</b> par <b>%s</b> %s`
issues.remove_milestone_at=`a supprimé ça du jalon <b>%s</b> %s.` issues.remove_milestone_at=`a supprimé ça du jalon <b>%s</b> %s.`
issues.remove_project_at=`a supprimé ça du projet <b>%s</b> %s.` issues.remove_project_at=`a supprimé ça du projet <b>%s</b> %s.`
issues.deleted_milestone=`(supprimé)` issues.deleted_milestone=`(supprimé)`
@ -1540,8 +1541,8 @@ issues.action_assignee_no_select=Pas d'assignataire
issues.action_check=Cocher/Décocher issues.action_check=Cocher/Décocher
issues.action_check_all=Cocher/Décocher tous les éléments issues.action_check_all=Cocher/Décocher tous les éléments
issues.opened_by=créé %[1]s par <a href="%[2]s">%[3]s</a> issues.opened_by=créé %[1]s par <a href="%[2]s">%[3]s</a>
pulls.merged_by=par <a href="%[2]s">%[3]s</a> fusionné %[1]s. pulls.merged_by=par <a href="%[2]s">%[3]s</a> fusionné %[1]s
pulls.merged_by_fake=par %[2]s fusionné %[1]s. pulls.merged_by_fake=par %[2]s fusionné %[1]s
issues.closed_by=de <a href="%[2]s">%[3]s</a>, clôt %[1]s issues.closed_by=de <a href="%[2]s">%[3]s</a>, clôt %[1]s
issues.opened_by_fake=%[1]s ouvert par %[2]s issues.opened_by_fake=%[1]s ouvert par %[2]s
issues.closed_by_fake=de %[2]s, clôt %[1]s issues.closed_by_fake=de %[2]s, clôt %[1]s
@ -1553,7 +1554,7 @@ issues.draft_title=Brouillon
issues.num_comments_1=%d commentaire issues.num_comments_1=%d commentaire
issues.num_comments=%d commentaires issues.num_comments=%d commentaires
issues.commented_at=`a commenté <a href="#%s"> %s</a>.` issues.commented_at=`a commenté <a href="#%s"> %s</a>.`
issues.delete_comment_confirm=Êtes-vous certain de vouloir supprimer ce commentaire? issues.delete_comment_confirm=Êtes-vous certain de vouloir supprimer ce commentaire?
issues.context.copy_link=Copier le lien issues.context.copy_link=Copier le lien
issues.context.quote_reply=Citer et répondre issues.context.quote_reply=Citer et répondre
issues.context.reference_issue=Référencer dans un nouveau ticket issues.context.reference_issue=Référencer dans un nouveau ticket
@ -1590,7 +1591,7 @@ issues.role.first_time_contributor_helper=C'est la première contribution de cet
issues.role.contributor=Contributeur issues.role.contributor=Contributeur
issues.role.contributor_helper=Cet utilisateur a déjà des révisions dans le dépôt. issues.role.contributor_helper=Cet utilisateur a déjà des révisions dans le dépôt.
issues.re_request_review=Redemander une évaluation issues.re_request_review=Redemander une évaluation
issues.is_stale=Cette demande dajout a été corrigée depuis sa dernière évaluation. issues.is_stale=Cette demande dajout a été corrigée depuis sa dernière évaluation
issues.remove_request_review=Retirer la demande dévaluation issues.remove_request_review=Retirer la demande dévaluation
issues.remove_request_review_block=Impossible de retirer la demande dévaluation issues.remove_request_review_block=Impossible de retirer la demande dévaluation
issues.dismiss_review=Révoquer lévaluation issues.dismiss_review=Révoquer lévaluation
@ -1655,7 +1656,7 @@ issues.tracker=Minuteur
issues.start_tracking_short=Démarrer le chronomètre issues.start_tracking_short=Démarrer le chronomètre
issues.start_tracking=Démarrer le suivi du temps issues.start_tracking=Démarrer le suivi du temps
issues.start_tracking_history=`a commencé son travail %s.` issues.start_tracking_history=`a commencé son travail %s.`
issues.tracker_auto_close=Le minuteur sera automatiquement arrêté quand le ticket sera fermé. issues.tracker_auto_close=Le minuteur sera automatiquement arrêté quand le ticket sera fermé
issues.tracking_already_started=`Vous avez déjà un minuteur en cours sur <a href="%s">un autre ticket</a> !` issues.tracking_already_started=`Vous avez déjà un minuteur en cours sur <a href="%s">un autre ticket</a> !`
issues.stop_tracking=Arrêter le chronomètre issues.stop_tracking=Arrêter le chronomètre
issues.stop_tracking_history=`a fini de travailler %s.` issues.stop_tracking_history=`a fini de travailler %s.`
@ -1724,23 +1725,23 @@ issues.dependency.add_error_cannot_create_circular=Vous ne pouvez pas créer une
issues.dependency.add_error_dep_not_same_repo=Les deux tickets doivent être dans le même dépôt. issues.dependency.add_error_dep_not_same_repo=Les deux tickets doivent être dans le même dépôt.
issues.review.self.approval=Vous ne pouvez approuver vos propres demandes d'ajout. issues.review.self.approval=Vous ne pouvez approuver vos propres demandes d'ajout.
issues.review.self.rejection=Vous ne pouvez demander de changements sur vos propres demandes de changement. issues.review.self.rejection=Vous ne pouvez demander de changements sur vos propres demandes de changement.
issues.review.approve=a approuvé ces modifications %s. issues.review.approve=a approuvé ces modifications %s
issues.review.comment=a évalué cette demande dajout %s. issues.review.comment=a évalué cette demande dajout %s
issues.review.dismissed=a révoqué lévaluation de %s %s issues.review.dismissed=a révoqué lévaluation de %s %s
issues.review.dismissed_label=Révoquée issues.review.dismissed_label=Révoquée
issues.review.left_comment=laisser un commentaire issues.review.left_comment=laisser un commentaire
issues.review.content.empty=Vous devez laisser un commentaire indiquant le(s) changement(s) demandé(s). issues.review.content.empty=Vous devez laisser un commentaire indiquant le(s) changement(s) demandé(s).
issues.review.reject=a requis les changements %s issues.review.reject=a requis les changements %s
issues.review.wait=a été sollicité pour évaluer cette demande dajout %s. issues.review.wait=a été sollicité pour évaluer cette demande dajout %s
issues.review.add_review_request=a demandé à %s une évaluation %s. issues.review.add_review_request=a demandé à %s une évaluation %s
issues.review.remove_review_request=a retiré la demande dévaluation pour %s %s. issues.review.remove_review_request=a retiré la demande dévaluation pour %s %s
issues.review.remove_review_request_self=a refusé dévaluer cette demande dajout %s. issues.review.remove_review_request_self=a refusé dévaluer cette demande dajout %s
issues.review.pending=En attente issues.review.pending=En attente
issues.review.pending.tooltip=Ce commentaire n'est pas encore visible par les autres utilisateurs. Pour soumettre vos commentaires en attente, sélectionnez "%s" → "%s/%s/%s" en haut de la page. issues.review.pending.tooltip=Ce commentaire n'est pas encore visible par les autres utilisateurs. Pour soumettre vos commentaires en attente, sélectionnez "%s" → "%s/%s/%s" en haut de la page.
issues.review.review=Évaluation issues.review.review=Évaluation
issues.review.reviewers=Évaluateurs issues.review.reviewers=Évaluateurs
issues.review.outdated=Périmé issues.review.outdated=Périmé
issues.review.outdated_description=Le contenu a changé depuis que ce commentaire a été fait. issues.review.outdated_description=Le contenu a changé depuis que ce commentaire a été fait
issues.review.option.show_outdated_comments=Afficher les commentaires obsolètes issues.review.option.show_outdated_comments=Afficher les commentaires obsolètes
issues.review.option.hide_outdated_comments=Masquer les commentaires obsolètes issues.review.option.hide_outdated_comments=Masquer les commentaires obsolètes
issues.review.show_outdated=Afficher les révisions périmées issues.review.show_outdated=Afficher les révisions périmées
@ -1749,7 +1750,7 @@ issues.review.show_resolved=Développer
issues.review.hide_resolved=Réduire issues.review.hide_resolved=Réduire
issues.review.resolve_conversation=Clore la conversation issues.review.resolve_conversation=Clore la conversation
issues.review.un_resolve_conversation=Rouvrir la conversation issues.review.un_resolve_conversation=Rouvrir la conversation
issues.review.resolved_by=a marqué cette conversation comme résolue. issues.review.resolved_by=a marqué cette conversation comme résolue
issues.assignee.error=Tous les assignés n'ont pas été ajoutés en raison d'une erreur inattendue. issues.assignee.error=Tous les assignés n'ont pas été ajoutés en raison d'une erreur inattendue.
issues.reference_issue.body=Corps issues.reference_issue.body=Corps
issues.content_history.deleted=a supprimé issues.content_history.deleted=a supprimé
@ -1783,11 +1784,11 @@ pulls.switch_head_and_base=Passez de head à base
pulls.filter_branch=Filtre de branche pulls.filter_branch=Filtre de branche
pulls.no_results=Aucun résultat trouvé. pulls.no_results=Aucun résultat trouvé.
pulls.show_all_commits=Afficher toutes les révisions pulls.show_all_commits=Afficher toutes les révisions
pulls.show_changes_since_your_last_review=Affiche les modifications depuis votre dernière évaluation. pulls.show_changes_since_your_last_review=Affiche les modifications depuis votre dernière évaluation
pulls.showing_only_single_commit=Affiche uniquement les changements de la révision %[1]s pulls.showing_only_single_commit=Affiche uniquement les changements de la révision %[1]s
pulls.showing_specified_commit_range=Affichage des changements filtré entre %[1]s..%[2]s pulls.showing_specified_commit_range=Affichage des changements filtré entre %[1]s..%[2]s
pulls.select_commit_hold_shift_for_range=Maintenir Maj et cliquer sur des révisions pour faire un intervalle pulls.select_commit_hold_shift_for_range=Maintenir Maj et cliquer sur des révisions pour faire un intervalle
pulls.review_only_possible_for_full_diff=Une évaluation n'est possible que lorsque vous affichez le différentiel complet. pulls.review_only_possible_for_full_diff=Une évaluation n'est possible que lorsque vous affichez le différentiel complet
pulls.filter_changes_by_commit=Filtrer par révision pulls.filter_changes_by_commit=Filtrer par révision
pulls.nothing_to_compare=Ces branches sont identiques. Il ny a pas besoin de créer une demande d'ajout. pulls.nothing_to_compare=Ces branches sont identiques. Il ny a pas besoin de créer une demande d'ajout.
pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide. pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide.
@ -1795,7 +1796,7 @@ pulls.has_pull_request='Il existe déjà une demande d'ajout entre ces deux bran
pulls.create=Créer une demande d'ajout pulls.create=Créer une demande d'ajout
pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code> pulls.title_desc_few=souhaite fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code>
pulls.merged_title_desc_few=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s pulls.merged_title_desc_few=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
pulls.change_target_branch_at=`a remplacée la branche cible <b><strike>%s</strike></b> par <b>%s</b> %s.` pulls.change_target_branch_at=`a remplacée la branche cible <b>%s</b> par <b>%s</b> %s`
pulls.tab_conversation=Discussion pulls.tab_conversation=Discussion
pulls.tab_commits=Révisions pulls.tab_commits=Révisions
pulls.tab_files=Fichiers Modifiés pulls.tab_files=Fichiers Modifiés
@ -1858,8 +1859,8 @@ pulls.merge_conflict=Échec de la fusion : il y a eu un conflit lors de la fusio
pulls.merge_conflict_summary=Message d'erreur pulls.merge_conflict_summary=Message d'erreur
pulls.rebase_conflict=Fusion échouée : il y a eu un conflit lors du rebasage de la révision %[1]s. Astuce : Essayez une stratégie différente pulls.rebase_conflict=Fusion échouée : il y a eu un conflit lors du rebasage de la révision %[1]s. Astuce : Essayez une stratégie différente
pulls.rebase_conflict_summary=Message d'erreur pulls.rebase_conflict_summary=Message d'erreur
pulls.unrelated_histories=Échec de la fusion: La tête de fusion et la base ne partagent pas d'historique commun. Indice : Essayez une stratégie différente pulls.unrelated_histories=Échec de la fusion: La tête de fusion et la base ne partagent pas d'historique commun. Indice: Essayez une stratégie différente
pulls.merge_out_of_date=Échec de la fusion: La base a été mise à jour en cours de fusion. Indice : Réessayez. pulls.merge_out_of_date=Échec de la fusion: La base a été mise à jour en cours de fusion. Indice: Réessayez.
pulls.head_out_of_date=Échec de la fusion : Len-tête a été mis à jour pendant la fusion. Conseil : réessayez. pulls.head_out_of_date=Échec de la fusion : Len-tête a été mis à jour pendant la fusion. Conseil : réessayez.
pulls.has_merged=Échec : La demande dajout est déjà fusionnée, vous ne pouvez plus la fusionner, ni modifier sa branche cible. pulls.has_merged=Échec : La demande dajout est déjà fusionnée, vous ne pouvez plus la fusionner, ni modifier sa branche cible.
pulls.push_rejected=Échec du push : la soumission a été rejetée. Revoyez les Git hook pour ce dépôt. pulls.push_rejected=Échec du push : la soumission a été rejetée. Revoyez les Git hook pour ce dépôt.
@ -1892,7 +1893,7 @@ pulls.clear_merge_message=Effacer le message de fusion
pulls.clear_merge_message_hint=Effacer le message de fusion ne supprimera que le message de la révision, mais pas les pieds de révision générés tels que "Co-Authored-By:". pulls.clear_merge_message_hint=Effacer le message de fusion ne supprimera que le message de la révision, mais pas les pieds de révision générés tels que "Co-Authored-By:".
pulls.auto_merge_button_when_succeed=(Lorsque les vérifications ont réussi) pulls.auto_merge_button_when_succeed=(Lorsque les vérifications ont réussi)
pulls.auto_merge_when_succeed=Fusionner automatiquement si toutes les vérifications passent. pulls.auto_merge_when_succeed=Fusionner automatiquement si toutes les vérifications passent
pulls.auto_merge_newly_scheduled=La demande d'ajout était programmée pour fusionner lorsque toutes les vérifications aurait réussi. pulls.auto_merge_newly_scheduled=La demande d'ajout était programmée pour fusionner lorsque toutes les vérifications aurait réussi.
pulls.auto_merge_has_pending_schedule=%[1]s Ont planifié cette demande d'ajout pour fusionner automatiquement lorsque toutes les vérifications réussissent %[2]s. pulls.auto_merge_has_pending_schedule=%[1]s Ont planifié cette demande d'ajout pour fusionner automatiquement lorsque toutes les vérifications réussissent %[2]s.
@ -1906,7 +1907,7 @@ pulls.auto_merge_canceled_schedule_comment=`a annulé la fusion automatique de c
pulls.delete.title=Supprimer cette demande d'ajout ? pulls.delete.title=Supprimer cette demande d'ajout ?
pulls.delete.text=Voulez-vous vraiment supprimer cet demande d'ajout ? (Cela supprimera définitivement tout le contenu. Envisagez de le fermer à la place, si vous avez l'intention de le garder archivé) pulls.delete.text=Voulez-vous vraiment supprimer cet demande d'ajout ? (Cela supprimera définitivement tout le contenu. Envisagez de le fermer à la place, si vous avez l'intention de le garder archivé)
pulls.recently_pushed_new_branches=Vous avez soumis sur la branche <strong>%[1]s</strong> %[2]s pulls.recently_pushed_new_branches=Vous avez soumis sur la branche <a href="%[3]s"><strong>%[1]s</strong></a> %[2]s
pull.deleted_branch=(supprimé) : %s pull.deleted_branch=(supprimé) : %s
@ -1917,7 +1918,7 @@ milestones.no_due_date=Aucune date d'échéance
milestones.open=Ouvrir milestones.open=Ouvrir
milestones.close=Fermer milestones.close=Fermer
milestones.new_subheader=Les jalons peuvent vous aider à organiser vos tickets et à suivre leurs progrès. milestones.new_subheader=Les jalons peuvent vous aider à organiser vos tickets et à suivre leurs progrès.
milestones.completeness=%d%% complété milestones.completeness=<strong>%d%%</strong> Complété
milestones.create=Créer un Jalon milestones.create=Créer un Jalon
milestones.title=Titre milestones.title=Titre
milestones.desc=Description milestones.desc=Description
@ -1980,7 +1981,7 @@ wiki.delete_page_notice_1=Supprimer la page de wiki "%s" est irréversible. Cont
wiki.page_already_exists=Une page de wiki avec le même nom existe déjà. wiki.page_already_exists=Une page de wiki avec le même nom existe déjà.
wiki.reserved_page=Le nom de page de wiki "%s" est réservé. wiki.reserved_page=Le nom de page de wiki "%s" est réservé.
wiki.pages=Pages wiki.pages=Pages
wiki.last_updated=Dernière mise à jour: %s wiki.last_updated=Dernière mise à jour: %s
wiki.page_name_desc=Entrez un nom pour cette page Wiki. Certains noms spéciaux sont « Home », « _Sidebar » et « _Footer ». wiki.page_name_desc=Entrez un nom pour cette page Wiki. Certains noms spéciaux sont « Home », « _Sidebar » et « _Footer ».
wiki.original_git_entry_tooltip=Voir le fichier Git original au lieu d'utiliser un lien convivial. wiki.original_git_entry_tooltip=Voir le fichier Git original au lieu d'utiliser un lien convivial.
@ -2408,12 +2409,12 @@ settings.ignore_stale_approvals_desc=Ignorer les approbations danciennes rév
settings.require_signed_commits=Exiger des révisions (commits) signées settings.require_signed_commits=Exiger des révisions (commits) signées
settings.require_signed_commits_desc=Rejeter les soumissions sur cette branche lorsqu'ils ne sont pas signés ou vérifiables. settings.require_signed_commits_desc=Rejeter les soumissions sur cette branche lorsqu'ils ne sont pas signés ou vérifiables.
settings.protect_branch_name_pattern=Motif de nom de branche protégé settings.protect_branch_name_pattern=Motif de nom de branche protégé
settings.protect_branch_name_pattern_desc=Motifs de nom de branche protégé. Consultez la <a href="github.com/gobwas/glob">documentation</a> pour la syntaxe du motif. Exemples : <code>main</code>, <code>release/**</code> settings.protect_branch_name_pattern_desc=Motifs de nom de branche protégé. Consultez la <a href="https://github.com/gobwas/glob">documentation</a> pour la syntaxe du motif. Exemples : main, release/**
settings.protect_patterns=Motifs settings.protect_patterns=Motifs
settings.protect_protected_file_patterns=Liste des fichiers et motifs protégés (séparés par un point virgule ";") : settings.protect_protected_file_patterns=Liste des fichiers et motifs protégés (séparés par un point virgule ";") :
settings.protect_protected_file_patterns_desc=Les fichiers protégés ne peuvent être modifiés, même si l'utilisateur a le droit d'ajouter, éditer ou supprimer des fichiers dans cette branche. Plusieurs motifs peuvent être séparés par un point-virgule (;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>. ; », qui ne pourront pas être modifiés même si les utilisateurs disposent des droits sur la branche. Voir la <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>syntaxe glob</a>. Exemples : <code>.drone.yml ; /docs/**/*.txt</code>. settings.protect_protected_file_patterns_desc=Les fichiers protégés ne peuvent être modifiés, même si l'utilisateur a le droit d'ajouter, éditer ou supprimer des fichiers dans cette branche. Plusieurs motifs peuvent être séparés par un point-virgule ( ;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Liste des fichiers et motifs exclus (séparés par un point virgule ";") : settings.protect_unprotected_file_patterns=Liste des fichiers et motifs exclus (séparés par un point virgule ";") :
settings.protect_unprotected_file_patterns_desc=Les fichiers non-protégés qui peuvent être modifiés si l'utilisateur a le droit d'écriture, prenant le pas sur les restrictions de push. Plusieurs motifs peuvent être séparés par un point-virgule (;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>. ; », qui pourront être modifiés malgré la protection de branche, par les utilisateurs autorisés. Voir la <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>syntaxe Glob</a>. Exemples : <code>.drone.yml ; /docs/**/*.txt</code>. settings.protect_unprotected_file_patterns_desc=Les fichiers non-protégés qui peuvent être modifiés si l'utilisateur a le droit d'écriture, prenant le pas sur les restrictions de push. Plusieurs motifs peuvent être séparés par un point-virgule ( ;). Voir la documentation de <a href='https://pkg.go.dev/github.com/gobwas/glob#Compile'>github.com/gobwas/glob</a> pour la syntaxe des motifs. Exemples: <code>.forgejo/workflows/test.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Activer la protection settings.add_protected_branch=Activer la protection
settings.delete_protected_branch=Désactiver la protection settings.delete_protected_branch=Désactiver la protection
settings.update_protect_branch_success=La règle de protection de branche "%s" a été mise à jour. settings.update_protect_branch_success=La règle de protection de branche "%s" a été mise à jour.
@ -2454,7 +2455,7 @@ settings.matrix.room_id=ID de la salle
settings.matrix.message_type=Type de message settings.matrix.message_type=Type de message
settings.archive.button=Archiver ce dépôt settings.archive.button=Archiver ce dépôt
settings.archive.header=Archiver ce dépôt settings.archive.header=Archiver ce dépôt
settings.archive.text=Archiver un dépôt le place en lecture seule et le cache des tableaux de bord. Personne ne pourra faire de nouvelles révisions, d'ouvrir des tickets ou des demandes d'ajouts (pas même vous!). settings.archive.text=Archiver un dépôt le place en lecture seule et le cache des tableaux de bord. Personne ne pourra faire de nouvelles révisions, d'ouvrir des tickets ou des demandes d'ajouts (pas même vous!).
settings.archive.success=Ce dépôt a été archivé avec succès. settings.archive.success=Ce dépôt a été archivé avec succès.
settings.archive.error=Une erreur s'est produite lors de l'archivage du dépôt. Voir le journal pour plus de détails. settings.archive.error=Une erreur s'est produite lors de l'archivage du dépôt. Voir le journal pour plus de détails.
settings.archive.error_ismirror=Vous ne pouvez pas archiver un dépôt en miroir. settings.archive.error_ismirror=Vous ne pouvez pas archiver un dépôt en miroir.
@ -2516,7 +2517,7 @@ diff.whitespace_ignore_all_whitespace=Ignorer les espaces lors de la comparaison
diff.whitespace_ignore_amount_changes=Ignorer les changements quand ce sont des espaces diff.whitespace_ignore_amount_changes=Ignorer les changements quand ce sont des espaces
diff.whitespace_ignore_at_eol=Ignorer les blancs en fin de ligne diff.whitespace_ignore_at_eol=Ignorer les blancs en fin de ligne
diff.stats_desc=<strong> %d fichiers modifiés</strong> avec <strong>%d ajouts</strong> et <strong>%d suppressions</strong> diff.stats_desc=<strong> %d fichiers modifiés</strong> avec <strong>%d ajouts</strong> et <strong>%d suppressions</strong>
diff.stats_desc_file=%d modifications: %d ajouts et %d suppressions diff.stats_desc_file=%d modifications: %d ajouts et %d suppressions
diff.bin=BIN diff.bin=BIN
diff.bin_not_shown=Fichier binaire non affiché. diff.bin_not_shown=Fichier binaire non affiché.
diff.view_file=Voir le fichier diff.view_file=Voir le fichier
@ -2742,7 +2743,7 @@ settings.sourcehut_builds.graphql_url = URL GraphQL (e.g. https://builds.sr.ht/q
release.download_count_one = %s téléchargement release.download_count_one = %s téléchargement
release.download_count_few = %s téléchargements release.download_count_few = %s téléchargements
release.system_generated = Cet attachement a été généré automatiquement. release.system_generated = Cet attachement a été généré automatiquement.
settings.enforce_on_admins_desc = Les administrateurs du dépôt ne peuvent pas passer outre cette règle settings.enforce_on_admins_desc = Les administrateurs du dépôt ne peuvent pas passer outre cette règle.
settings.web_hook_name_sourcehut_builds = Builds SourceHut settings.web_hook_name_sourcehut_builds = Builds SourceHut
settings.enforce_on_admins = Appliquer cette règles aux administrateurs du dépôt settings.enforce_on_admins = Appliquer cette règles aux administrateurs du dépôt
settings.rename_branch_failed_protected = Impossible de renommer la branche %s car il s'agit d'une branche protégée. settings.rename_branch_failed_protected = Impossible de renommer la branche %s car il s'agit d'une branche protégée.
@ -2753,6 +2754,8 @@ settings.sourcehut_builds.access_token_helper = Un jeton d'accès ayant des perm
settings.matrix.access_token_helper = Il est recommandé de créer un compte Matrix dédié pour cela. Le jeton d'accès peut être obtenu depuis le client web Element (dans un onglet privé/incognito). Il faut ensuite fermer l'onglet privé/icognito (se déconnecter invaliderait le jeton). settings.matrix.access_token_helper = Il est recommandé de créer un compte Matrix dédié pour cela. Le jeton d'accès peut être obtenu depuis le client web Element (dans un onglet privé/incognito). Il faut ensuite fermer l'onglet privé/icognito (se déconnecter invaliderait le jeton).
release.hide_archive_links = Masquer les archives générées automatiquement release.hide_archive_links = Masquer les archives générées automatiquement
release.hide_archive_links_helper = Masquer les archives de code source générées automatiquement pour cette publication. Par exemple, si vous téléchargez vos propres archives. release.hide_archive_links_helper = Masquer les archives de code source générées automatiquement pour cette publication. Par exemple, si vous téléchargez vos propres archives.
settings.transfer.button = Changer de propriétaire
settings.transfer.modal.title = Changer de propriétaire
[graphs] [graphs]
component_loading=Chargement de %s… component_loading=Chargement de %s…
@ -2766,7 +2769,7 @@ org_name_holder=Nom de l'organisation
org_full_name_holder=Nom complet de l'organisation org_full_name_holder=Nom complet de l'organisation
org_name_helper=Le nom de l'organisation doit être court et mémorable. org_name_helper=Le nom de l'organisation doit être court et mémorable.
create_org=Créer une organisation create_org=Créer une organisation
repo_updated=Actualisé repo_updated=Actualisé %s
members=Membres members=Membres
teams=Équipes teams=Équipes
code=Code code=Code
@ -2818,7 +2821,7 @@ settings.hooks_desc=Vous pouvez ajouter des webhooks qui seront activés pour <s
settings.labels_desc=Ajoute des labels qui peuvent être utilisés sur les tickets pour <strong>tous les dépôts</strong> de cette organisation. settings.labels_desc=Ajoute des labels qui peuvent être utilisés sur les tickets pour <strong>tous les dépôts</strong> de cette organisation.
members.membership_visibility=Visibilité des membres: members.membership_visibility=Visibilité des membres:
members.public=Visible members.public=Visible
members.public_helper=Rendre caché members.public_helper=Rendre caché
members.private=Caché members.private=Caché
@ -2827,15 +2830,15 @@ members.member_role=Rôle du membre :
members.owner=Propriétaire members.owner=Propriétaire
members.member=Membre members.member=Membre
members.remove=Exclure members.remove=Exclure
members.remove.detail=Supprimer %[1]s de %[2]s? members.remove.detail=Supprimer %[1]s de %[2]s?
members.leave=Quitter members.leave=Quitter
members.leave.detail=Quitter %s? members.leave.detail=Quitter %s?
members.invite_desc=Ajouter un nouveau membre à %s : members.invite_desc=Ajouter un nouveau membre à %s :
members.invite_now=Envoyer une invitation members.invite_now=Envoyer une invitation
teams.join=Rejoindre teams.join=Rejoindre
teams.leave=Quitter teams.leave=Quitter
teams.leave.detail=Quitter %s? teams.leave.detail=Quitter %s?
teams.can_create_org_repo=Créer des dépôts teams.can_create_org_repo=Créer des dépôts
teams.can_create_org_repo_helper=Les membres peuvent créer de nouveaux dépôts dans l'organisation. Le créateur obtiendra l'accès administrateur au nouveau dépôt. teams.can_create_org_repo_helper=Les membres peuvent créer de nouveaux dépôts dans l'organisation. Le créateur obtiendra l'accès administrateur au nouveau dépôt.
teams.none_access=Aucun accès teams.none_access=Aucun accès
@ -2916,12 +2919,12 @@ dashboard.operation_switch=Basculer
dashboard.operation_run=Exécuter dashboard.operation_run=Exécuter
dashboard.clean_unbind_oauth=Effacer les connexions OAuth associées dashboard.clean_unbind_oauth=Effacer les connexions OAuth associées
dashboard.clean_unbind_oauth_success=Toutes les connexions OAuth associées ont été supprimées. dashboard.clean_unbind_oauth_success=Toutes les connexions OAuth associées ont été supprimées.
dashboard.task.started=Tâche démarrée: %[1]s dashboard.task.started=Tâche démarrée: %[1]s
dashboard.task.process=Tâche: %[1]s dashboard.task.process=Tâche: %[1]s
dashboard.task.cancelled=Tâche %[1]s annulée : %[3]s dashboard.task.cancelled=Tâche %[1]s annulée : %[3]s
dashboard.task.error=Erreur dans la tâche: %[1]s: %[3]s dashboard.task.error=Erreur dans la tâche: %[1]s: %[3]s
dashboard.task.finished=Tâche: %[1]s démarrée par %[2]s est terminée dashboard.task.finished=Tâche: %[1]s démarrée par %[2]s est terminée
dashboard.task.unknown=Tâche inconnue: %[1]s dashboard.task.unknown=Tâche inconnue: %[1]s
dashboard.cron.started=Tâche planifiée démarrée : %[1]s dashboard.cron.started=Tâche planifiée démarrée : %[1]s
dashboard.cron.process=Tâche récurrente : %[1]s dashboard.cron.process=Tâche récurrente : %[1]s
dashboard.cron.cancelled=Tâche récurrente %[1]s annulée : %[3]s dashboard.cron.cancelled=Tâche récurrente %[1]s annulée : %[3]s
@ -2934,7 +2937,7 @@ dashboard.delete_repo_archives.started=Tâche de suppression de toutes les archi
dashboard.delete_missing_repos=Supprimer tous les dépôts dont les fichiers Git sont manquants dashboard.delete_missing_repos=Supprimer tous les dépôts dont les fichiers Git sont manquants
dashboard.delete_missing_repos.started=Tâche de suppression de tous les dépôts sans fichiers Git démarrée. dashboard.delete_missing_repos.started=Tâche de suppression de tous les dépôts sans fichiers Git démarrée.
dashboard.delete_generated_repository_avatars=Supprimer les avatars de dépôt générés dashboard.delete_generated_repository_avatars=Supprimer les avatars de dépôt générés
dashboard.sync_repo_branches=Synchroniser les branches manquantes depuis Git vers la base de donnée. dashboard.sync_repo_branches=Synchroniser les branches manquantes depuis Git vers la base de donnée
dashboard.sync_repo_tags=Synchroniser les étiquettes git depuis les dépôts vers la base de données dashboard.sync_repo_tags=Synchroniser les étiquettes git depuis les dépôts vers la base de données
dashboard.update_mirrors=Actualiser les miroirs dashboard.update_mirrors=Actualiser les miroirs
dashboard.repo_health_check=Vérifier l'état de santé de tous les dépôts dashboard.repo_health_check=Vérifier l'état de santé de tous les dépôts
@ -3072,7 +3075,7 @@ orgs.new_orga=Nouvelle organisation
repos.repo_manage_panel=Gestion des dépôts repos.repo_manage_panel=Gestion des dépôts
repos.unadopted=Dépôts non adoptés repos.unadopted=Dépôts non adoptés
repos.unadopted.no_more=Aucun dépôt dépossédé trouvé. repos.unadopted.no_more=Aucun dépôt dépossédé trouvé
repos.owner=Propriétaire repos.owner=Propriétaire
repos.name=Nom repos.name=Nom
repos.private=Privé repos.private=Privé
@ -3177,7 +3180,7 @@ auths.oauth2_scopes=Champs d'application supplémentaires
auths.oauth2_required_claim_name=Nom de réclamation requis auths.oauth2_required_claim_name=Nom de réclamation requis
auths.oauth2_required_claim_name_helper=Définissez ce nom pour restreindre la connexion depuis cette source aux utilisateurs ayant une réclamation avec ce nom auths.oauth2_required_claim_name_helper=Définissez ce nom pour restreindre la connexion depuis cette source aux utilisateurs ayant une réclamation avec ce nom
auths.oauth2_required_claim_value=Valeur de réclamation requise auths.oauth2_required_claim_value=Valeur de réclamation requise
auths.oauth2_required_claim_value_helper=Restreindre la connexion depuis cette source aux utilisateurs ayant réclamé cette valeur. auths.oauth2_required_claim_value_helper=Restreindre la connexion depuis cette source aux utilisateurs ayant réclamé cette valeur
auths.oauth2_group_claim_name=Réclamer le nom fournissant les noms de groupe pour cette source. (facultatif) auths.oauth2_group_claim_name=Réclamer le nom fournissant les noms de groupe pour cette source. (facultatif)
auths.oauth2_admin_group=Valeur de réclamation de groupe pour les administrateurs. (Optionnel, nécessite un nom de réclamation) auths.oauth2_admin_group=Valeur de réclamation de groupe pour les administrateurs. (Optionnel, nécessite un nom de réclamation)
auths.oauth2_restricted_group=Valeur de réclamation de groupe pour les utilisateurs restreints. (Optionnel, nécessite un nom de réclamation) auths.oauth2_restricted_group=Valeur de réclamation de groupe pour les utilisateurs restreints. (Optionnel, nécessite un nom de réclamation)
@ -3312,7 +3315,7 @@ config.mailer_sendmail_path=Chemin daccès à Sendmail
config.mailer_sendmail_args=Arguments supplémentaires pour Sendmail config.mailer_sendmail_args=Arguments supplémentaires pour Sendmail
config.mailer_sendmail_timeout=Délai dattente de Sendmail config.mailer_sendmail_timeout=Délai dattente de Sendmail
config.mailer_use_dummy=Factice config.mailer_use_dummy=Factice
config.test_email_placeholder=E-mail (ex: test@example.com) config.test_email_placeholder=E-mail (ex: test@example.com)
config.send_test_mail=Envoyer un courriel de test config.send_test_mail=Envoyer un courriel de test
config.send_test_mail_submit=Envoyer config.send_test_mail_submit=Envoyer
config.test_mail_failed=Impossible d'envoyer un courriel de test à "%s" : %v config.test_mail_failed=Impossible d'envoyer un courriel de test à "%s" : %v
@ -3354,7 +3357,7 @@ config.git_pull_timeout=Délai imparti pour l'opération "Pull"
config.git_gc_timeout=Délai imparti pour l'opération "GC" config.git_gc_timeout=Délai imparti pour l'opération "GC"
config.log_config=Configuration du journal config.log_config=Configuration du journal
config.logger_name_fmt=Logger: %s config.logger_name_fmt=Logger: %s
config.disabled_logger=Désactivé config.disabled_logger=Désactivé
config.access_log_mode=Mode de journalisation d'accès config.access_log_mode=Mode de journalisation d'accès
config.access_log_template=Modèle de journal d'accès config.access_log_template=Modèle de journal d'accès
@ -3380,7 +3383,7 @@ monitor.execute_time=Heure d'Éxécution
monitor.last_execution_result=Résultat monitor.last_execution_result=Résultat
monitor.process.cancel=Annuler le processus monitor.process.cancel=Annuler le processus
monitor.process.cancel_desc=L'annulation d'un processus peut entraîner une perte de données monitor.process.cancel_desc=L'annulation d'un processus peut entraîner une perte de données
monitor.process.cancel_notices=Annuler : <strong>%s</strong>? monitor.process.cancel_notices=Annuler: <strong>%s</strong>?
monitor.process.children=Enfant monitor.process.children=Enfant
monitor.queues=Files d'attente monitor.queues=Files d'attente
@ -3427,7 +3430,7 @@ self_check.database_inconsistent_collation_columns = La base de donnée utilise
self_check.database_fix_mysql = Les utilisateurs de MySQL/MariaDB peuvent utiliser la commande "forgejo doctor convert" pour corriger les problèmes de collation, ou bien manuellement avec la commande SQL "ALTER ... COLLATE ...". self_check.database_fix_mysql = Les utilisateurs de MySQL/MariaDB peuvent utiliser la commande "forgejo doctor convert" pour corriger les problèmes de collation, ou bien manuellement avec la commande SQL "ALTER ... COLLATE ...".
self_check.no_problem_found=Aucun problème trouvé pour linstant. self_check.no_problem_found=Aucun problème trouvé pour linstant.
self_check.database_collation_mismatch=Exige que la base de données utilise la collation %s. self_check.database_collation_mismatch=Exige que la base de données utilise la collation %s
self_check.database_collation_case_insensitive=La base de données utilise la collation %s, insensible à la casse. Bien que Forgejo soit compatible, il peut y avoir quelques rares cas qui ne fonctionnent pas comme prévu. self_check.database_collation_case_insensitive=La base de données utilise la collation %s, insensible à la casse. Bien que Forgejo soit compatible, il peut y avoir quelques rares cas qui ne fonctionnent pas comme prévu.
self_check.database_inconsistent_collation_columns=La base de données utilise la collation %s, mais ces colonnes utilisent des collations différentes. Cela peut causer des problèmes imprévus. self_check.database_inconsistent_collation_columns=La base de données utilise la collation %s, mais ces colonnes utilisent des collations différentes. Cela peut causer des problèmes imprévus.
self_check.database_fix_mysql=Pour les utilisateurs de MySQL ou MariaDB, vous pouvez utiliser la commande « forgejo doctor convert » dans un terminal ou exécuter une requête du type « ALTER … COLLATE ... » pour résoudre les problèmes de collation. self_check.database_fix_mysql=Pour les utilisateurs de MySQL ou MariaDB, vous pouvez utiliser la commande « forgejo doctor convert » dans un terminal ou exécuter une requête du type « ALTER … COLLATE ... » pour résoudre les problèmes de collation.
@ -3440,7 +3443,7 @@ config.open_with_editor_app_help = Les éditeurs du menu "Ouvrir avec". Si laiss
[action] [action]
create_repo=a créé le dépôt <a href="%s">%s</a> create_repo=a créé le dépôt <a href="%s">%s</a>
rename_repo=a rebaptisé le dépôt <s><code>%[1]s</code></s> en <a href="%[2]s">%[3]s</a> rename_repo=a rebaptisé le dépôt <code>%[1]s</code> en <a href="%[2]s">%[3]s</a>
commit_repo=a soumis sur <a href="%[2]s">%[3]s</a> dans <a href="%[1]s">%[4]s</a> commit_repo=a soumis sur <a href="%[2]s">%[3]s</a> dans <a href="%[1]s">%[4]s</a>
create_issue=`a ouvert le ticket <a href="%[1]s">%[3]s#%[2]s</a>` create_issue=`a ouvert le ticket <a href="%[1]s">%[3]s#%[2]s</a>`
close_issue=`a fermé le ticket <a href="%[1]s">%[3]s#%[2]s</a>` close_issue=`a fermé le ticket <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3459,8 +3462,8 @@ delete_branch=a supprimée la branche %[2]s de <a href="%[1]s">%[3]s</a>
compare_branch=Comparer compare_branch=Comparer
compare_commits=Comparer %d révisions compare_commits=Comparer %d révisions
compare_commits_general=Comparer les révisions compare_commits_general=Comparer les révisions
mirror_sync_push=a synchronisé les révisions de <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a>. mirror_sync_push=a synchronisé les révisions de <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a>
mirror_sync_create=a synchronisé la nouvelle référence <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a>. mirror_sync_create=a synchronisé la nouvelle référence <a href="%[2]s">%[3]s</a> dun miroir vers <a href="%[1]s">%[4]s</a>
mirror_sync_delete=a synchronisé puis supprimé la nouvelle référence <code>%[2]s</code> vers <a href="%[1]s">%[3]s</a> depuis le miroir mirror_sync_delete=a synchronisé puis supprimé la nouvelle référence <code>%[2]s</code> vers <a href="%[1]s">%[3]s</a> depuis le miroir
approve_pull_request=`a approuvé <a href="%[1]s">%[3]s#%[2]s</a>` approve_pull_request=`a approuvé <a href="%[1]s">%[3]s#%[2]s</a>`
reject_pull_request=`a suggérés des changements pour <a href="%[1]s">%[3]s#%[2]s</a>` reject_pull_request=`a suggérés des changements pour <a href="%[1]s">%[3]s#%[2]s</a>`
@ -3532,7 +3535,7 @@ title=Paquets
desc=Gérer les paquets du dépôt. desc=Gérer les paquets du dépôt.
empty=Il n'y pas de paquet pour le moment. empty=Il n'y pas de paquet pour le moment.
empty.documentation=Pour plus d'informations sur le registre de paquets, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>. empty.documentation=Pour plus d'informations sur le registre de paquets, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>.
empty.repo=Avez-vous téléchargé un paquet, mais il n'est pas affiché ici? Allez dans les <a href="%[1]s">paramètres du paquet</a> et liez le à ce dépôt. empty.repo=Avez-vous téléchargé un paquet, mais il n'est pas affiché ici? Allez dans les <a href="%[1]s">paramètres du paquet</a> et liez le à ce dépôt.
registry.documentation=Pour plus dinformations sur le registre %s, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>. registry.documentation=Pour plus dinformations sur le registre %s, voir <a target="_blank" rel="noopener noreferrer" href="%s">la documentation</a>.
filter.type=Type filter.type=Type
filter.type.all=Tous filter.type.all=Tous
@ -3567,7 +3570,7 @@ alpine.repository.repositories=Dépôts
alpine.repository.architectures=Architectures alpine.repository.architectures=Architectures
cargo.registry=Configurez ce registre dans le fichier de configuration Cargo (par exemple <code>~/.cargo/config.toml</code>) : cargo.registry=Configurez ce registre dans le fichier de configuration Cargo (par exemple <code>~/.cargo/config.toml</code>) :
cargo.install=Pour installer le paquet en utilisant Cargo, exécutez la commande suivante : cargo.install=Pour installer le paquet en utilisant Cargo, exécutez la commande suivante :
chef.registry=Configurer ce registre dans votre fichier <code>~/.chef/config.rb</code>: chef.registry=Configurer ce registre dans votre fichier <code>~/.chef/config.rb</code>:
chef.install=Pour installer le paquet, exécutez la commande suivante : chef.install=Pour installer le paquet, exécutez la commande suivante :
composer.registry=Configurez ce registre dans votre fichier <code>~/.composer/config.json</code> : composer.registry=Configurez ce registre dans votre fichier <code>~/.composer/config.json</code> :
composer.install=Pour installer le paquet en utilisant Composer, exécutez la commande suivante : composer.install=Pour installer le paquet en utilisant Composer, exécutez la commande suivante :
@ -3632,7 +3635,7 @@ rubygems.dependencies.development=Dépendances de développement
rubygems.required.ruby=Nécessite Ruby en version rubygems.required.ruby=Nécessite Ruby en version
rubygems.required.rubygems=Nécessite RubyGem en version rubygems.required.rubygems=Nécessite RubyGem en version
swift.registry=Configurez ce registre à partir d'un terminal : swift.registry=Configurez ce registre à partir d'un terminal :
swift.install=Ajoutez le paquet dans votre fichier <code>Package.swift</code>: swift.install=Ajoutez le paquet dans votre fichier <code>Package.swift</code>:
swift.install2=et exécutez la commande suivante : swift.install2=et exécutez la commande suivante :
vagrant.install=Pour ajouter une machine Vagrant, exécutez la commande suivante : vagrant.install=Pour ajouter une machine Vagrant, exécutez la commande suivante :
settings.link=Lier ce paquet à un dépôt settings.link=Lier ce paquet à un dépôt
@ -3655,7 +3658,7 @@ owner.settings.cargo.rebuild=Reconstruire l'index
owner.settings.cargo.rebuild.description=La reconstruction peut être utile si l'index n'est pas synchronisé avec les paquets Cargo stockés. owner.settings.cargo.rebuild.description=La reconstruction peut être utile si l'index n'est pas synchronisé avec les paquets Cargo stockés.
owner.settings.cargo.rebuild.error=Impossible de reconstruire l'index Cargo : %v owner.settings.cargo.rebuild.error=Impossible de reconstruire l'index Cargo : %v
owner.settings.cargo.rebuild.success=L'index Cargo a été reconstruit avec succès. owner.settings.cargo.rebuild.success=L'index Cargo a été reconstruit avec succès.
owner.settings.cleanuprules.title=Gérer les règles de nettoyage owner.settings.cleanuprules.title=Règles de nettoyage
owner.settings.cleanuprules.add=Ajouter une règle de nettoyage owner.settings.cleanuprules.add=Ajouter une règle de nettoyage
owner.settings.cleanuprules.edit=Modifier la règle de nettoyage owner.settings.cleanuprules.edit=Modifier la règle de nettoyage
owner.settings.cleanuprules.none=Aucune règle de nettoyage disponible. Veuillez consulter la documentation. owner.settings.cleanuprules.none=Aucune règle de nettoyage disponible. Veuillez consulter la documentation.
@ -3689,7 +3692,7 @@ secrets=Secrets
description=Les secrets seront transmis à certaines actions et ne pourront pas être lus autrement. description=Les secrets seront transmis à certaines actions et ne pourront pas être lus autrement.
none=Il n'y a pas encore de secrets. none=Il n'y a pas encore de secrets.
creation=Ajouter un secret creation=Ajouter un secret
creation.name_placeholder=Caractères alphanumériques ou tirets bas uniquement, insensibles à la casse, ne peut commencer par GITEA_ ou GITHUB_. creation.name_placeholder=Caractères alphanumériques ou tirets bas uniquement, insensibles à la casse, ne peut commencer par FORGEJO_, GITEA_ ou GITHUB_
creation.value_placeholder=Entrez nimporte quoi. Les blancs cernant seront taillés. creation.value_placeholder=Entrez nimporte quoi. Les blancs cernant seront taillés.
creation.success=Le secret "%s" a été ajouté. creation.success=Le secret "%s" a été ajouté.
creation.failed=Impossible d'ajouter le secret. creation.failed=Impossible d'ajouter le secret.
@ -3739,7 +3742,7 @@ runners.update_runner_failed=Impossible d'actualiser l'Exécuteur
runners.delete_runner=Supprimer cet exécuteur runners.delete_runner=Supprimer cet exécuteur
runners.delete_runner_success=Exécuteur supprimé avec succès runners.delete_runner_success=Exécuteur supprimé avec succès
runners.delete_runner_failed=Impossible de supprimer l'Exécuteur runners.delete_runner_failed=Impossible de supprimer l'Exécuteur
runners.delete_runner_header=Êtes-vous sûr de vouloir supprimer cet exécuteur ? runners.delete_runner_header=Confirmer la suppression de cet exécuteur
runners.delete_runner_notice=Si une tâche est en cours sur cet exécuteur, elle sera terminée et marquée comme échouée. Cela risque dinterrompre le flux de travail. runners.delete_runner_notice=Si une tâche est en cours sur cet exécuteur, elle sera terminée et marquée comme échouée. Cela risque dinterrompre le flux de travail.
runners.none=Aucun exécuteur disponible runners.none=Aucun exécuteur disponible
runners.status.unspecified=Inconnu runners.status.unspecified=Inconnu
@ -3754,7 +3757,7 @@ runs.all_workflows=Tous les workflows
runs.commit=Révision runs.commit=Révision
runs.scheduled=Planifié runs.scheduled=Planifié
runs.pushed_by=soumis par runs.pushed_by=soumis par
runs.invalid_workflow_helper=La configuration du flux de travail est invalide. Veuillez vérifier votre fichier %s. runs.invalid_workflow_helper=La configuration du flux de travail est invalide. Veuillez vérifier votre fichier %s
runs.no_matching_online_runner_helper=Aucun exécuteur en ligne correspondant au libellé %s runs.no_matching_online_runner_helper=Aucun exécuteur en ligne correspondant au libellé %s
runs.actor=Acteur runs.actor=Acteur
runs.status=Statut runs.status=Statut
@ -3848,12 +3851,12 @@ commit_kind = Chercher les commits...
[munits.data] [munits.data]
b = o b = o
mib = Mo mib = Mio
kib = ko kib = Kio
gib = Go gib = Gio
tib = To tib = Tio
pib = Po pib = Pio
eib = Eo eib = Eio
[markup] [markup]
filepreview.line = Ligne %[1]d dans %[2]s filepreview.line = Ligne %[1]d dans %[2]s

View file

@ -26,14 +26,14 @@ signed_in_as = Inicia Sesión como
enable_javascript = Este sitio web require JavaScript. enable_javascript = Este sitio web require JavaScript.
toc = Táboa de Contidos toc = Táboa de Contidos
licenses = Licenzas licenses = Licenzas
return_to_gitea = Regreso a Forgejo return_to_forgejo = Regreso a Forgejo
username = Nome de Usuario username = Nome de Usuario
email = Enderezo Electrónico email = Enderezo Electrónico
password = Contrasinal password = Contrasinal
re_type = Confirme o Contrasinal re_type = Confirme o contrasinal
captcha = CAPTCHA captcha = CAPTCHA
twofa = Autenticación de Dous Factores twofa = Autenticación de Dous Factores
passcode = Código passcode = Código de Acceso
webauthn_insert_key = Insira a súa Chave de Seguranza webauthn_insert_key = Insira a súa Chave de Seguranza
webauthn_press_button = Preme o botón da súa Chave de Seguranza… webauthn_press_button = Preme o botón da súa Chave de Seguranza…
webauthn_use_twofa = Use o Código de Dous Factores do seu Teléfono webauthn_use_twofa = Use o Código de Dous Factores do seu Teléfono
@ -104,7 +104,7 @@ save = Gardar
copy_content = Copiar Contido copy_content = Copiar Contido
language = Linguaxe language = Linguaxe
copy_hash = Copiar hash copy_hash = Copiar hash
twofa_scratch = Código Scratch de Dous Facetores twofa_scratch = Código Scratch de Dous Factores
webauthn_sign_in = Preme o botón da súa Chave de Seguranza. Se a súa Chave de Seguranza non ten ningún botón, insírela de novo. webauthn_sign_in = Preme o botón da súa Chave de Seguranza. Se a súa Chave de Seguranza non ten ningún botón, insírela de novo.
issues = Problemas issues = Problemas
disabled = Desactivado disabled = Desactivado
@ -123,6 +123,8 @@ name = Nome
value = Valor value = Valor
confirm_delete_selected = Confirmar a eliminación de todos os elementos seleccionados? confirm_delete_selected = Confirmar a eliminación de todos os elementos seleccionados?
show_full_screen = Mostrar Pantalla Completa show_full_screen = Mostrar Pantalla Completa
more_items = Máis items
toggle_menu = Alternar Menú
[aria] [aria]
navbar = Barra de Navegación navbar = Barra de Navegación

View file

@ -20,7 +20,7 @@ user_profile_and_more=Profil és beállítások...
signed_in_as=Bejelentkezve mint signed_in_as=Bejelentkezve mint
toc=Tartalomjegyzék toc=Tartalomjegyzék
licenses=Licencek licenses=Licencek
return_to_gitea=Vissza a Forgejo-hoz return_to_forgejo=Vissza a Forgejo-hoz
username=Felhasználónév username=Felhasználónév
email=E-mail cím email=E-mail cím
@ -1179,7 +1179,7 @@ org_name_holder=Szervezet neve
org_full_name_holder=Szervezet teljes neve org_full_name_holder=Szervezet teljes neve
org_name_helper=A szervezetek nevének rövidnek és megjegyezhetőnek kell lennie. org_name_helper=A szervezetek nevének rövidnek és megjegyezhetőnek kell lennie.
create_org=Szervezet létrehozása create_org=Szervezet létrehozása
repo_updated=Frissítve repo_updated=Frissítve %s
members=Tagok members=Tagok
teams=Csoportok teams=Csoportok
lower_members=tagok lower_members=tagok

View file

@ -963,7 +963,7 @@ branch.deleted_by=Dihapus oleh %s
org_name_holder=Nama Organisasi org_name_holder=Nama Organisasi
org_full_name_holder=Organisasi Nama Lengkap org_full_name_holder=Organisasi Nama Lengkap
create_org=Buat Organisasi create_org=Buat Organisasi
repo_updated=Diperbarui repo_updated=Diperbarui %s
members=Anggota members=Anggota
teams=Tim teams=Tim
lower_members=anggota lower_members=anggota

View file

@ -21,7 +21,7 @@ user_profile_and_more=Notandasíða og Stillingar…
signed_in_as=Skráð(ur) inn sem signed_in_as=Skráð(ur) inn sem
toc=Efnisyfirlit toc=Efnisyfirlit
licenses=Hugbúnaðarleyfi licenses=Hugbúnaðarleyfi
return_to_gitea=Til baka að Forgejo return_to_forgejo=Til baka að Forgejo
username=Notandanafn username=Notandanafn
email=Netfang email=Netfang
@ -1120,7 +1120,7 @@ topic.done=Í lagi
[graphs] [graphs]
[org] [org]
repo_updated=Uppfært repo_updated=Uppfært %s
members=Meðlimar members=Meðlimar
teams=Lið teams=Lið
lower_members=meðlimar lower_members=meðlimar

View file

@ -22,7 +22,7 @@ user_profile_and_more=Profilo ed Impostazioni…
signed_in_as=Accesso effettuato come signed_in_as=Accesso effettuato come
toc=Indice dei contenuti toc=Indice dei contenuti
licenses=Licenze licenses=Licenze
return_to_gitea=Ritorna a Forgejo return_to_forgejo=Ritorna a Forgejo
username=Nome utente username=Nome utente
email=Indirizzo email email=Indirizzo email
@ -2748,7 +2748,7 @@ org_name_holder=Nome dell'organizzazione
org_full_name_holder=Nome completo dell'organizzazione org_full_name_holder=Nome completo dell'organizzazione
org_name_helper=I nomi delle organizzazioni devono essere brevi e semplici da ricordare. org_name_helper=I nomi delle organizzazioni devono essere brevi e semplici da ricordare.
create_org=Crea organizzazione create_org=Crea organizzazione
repo_updated=Aggiornato repo_updated=Aggiornato %s
members=Membri members=Membri
teams=Team teams=Team
lower_members=membri lower_members=membri

View file

@ -25,7 +25,7 @@ signed_in_as=サインイン済み
enable_javascript=このウェブサイトにはJavaScriptが必要です。 enable_javascript=このウェブサイトにはJavaScriptが必要です。
toc=目次 toc=目次
licenses=ライセンス licenses=ライセンス
return_to_gitea=Forgejoに戻る return_to_forgejo=Forgejoに戻る
username=ユーザー名 username=ユーザー名
email=メールアドレス email=メールアドレス
@ -2745,7 +2745,7 @@ org_name_holder=組織名
org_full_name_holder=組織のフルネーム org_full_name_holder=組織のフルネーム
org_name_helper=組織名は短く覚えやすいものにしましょう。 org_name_helper=組織名は短く覚えやすいものにしましょう。
create_org=組織を作成 create_org=組織を作成
repo_updated=最終更新 repo_updated=最終更新 %s
members=メンバー members=メンバー
teams=チーム teams=チーム
code=コード code=コード

View file

@ -16,7 +16,7 @@ template=템플릿
language=언어 language=언어
notifications=알림 notifications=알림
create_new=생성하기 create_new=생성하기
user_profile_and_more=프로파일 및 설정 user_profile_and_more=프로파일 및 설정
signed_in_as=다음 사용자로 로그인됨 signed_in_as=다음 사용자로 로그인됨
username=사용자명 username=사용자명
@ -70,7 +70,7 @@ enabled=활성화됨
write=쓰기 write=쓰기
preview=미리보기 preview=미리보기
loading=불러오는 중... loading=불러오는 중
@ -91,7 +91,7 @@ tracked_time_summary = 추적된 이슈 목록 필터 기반 시간 요약
enable_javascript = 이 웹사이트는 자바스크립트가 필요합니다. enable_javascript = 이 웹사이트는 자바스크립트가 필요합니다.
toc = 목차 toc = 목차
licenses = 라이센스 licenses = 라이센스
return_to_gitea = Forgejo로 돌아가기 return_to_forgejo = Forgejo로 돌아가기
access_token = 액세스 토큰 access_token = 액세스 토큰
webauthn_error_unable_to_process = 서버가 귀하의 요청을 처리할 수 없습니다. webauthn_error_unable_to_process = 서버가 귀하의 요청을 처리할 수 없습니다.
webauthn_error_duplicated = 이 요청에는 보안 키가 허용되지 않습니다. 키가 이미 등록되어 있는지 확인하세요. webauthn_error_duplicated = 이 요청에는 보안 키가 허용되지 않습니다. 키가 이미 등록되어 있는지 확인하세요.
@ -157,6 +157,8 @@ artifacts = Artifacts
[aria] [aria]
navbar = 네비게이션 바 navbar = 네비게이션 바
footer.links = 링크 footer.links = 링크
footer = 꼬릿말
footer.software = 소프트웨어에 대하여
[heatmap] [heatmap]
number_of_contributions_in_the_last_12_months = 지난 12달간 %s 명의 기여자 number_of_contributions_in_the_last_12_months = 지난 12달간 %s 명의 기여자
@ -183,7 +185,7 @@ license=오픈 소스
[install] [install]
install=설치 install=설치
title=초기 설정 title=초기 설정
docker_helper="Forgejo를 Docker에서 실행하려면 설정 전에 이 <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"%s\">문서</a>를 읽어보세요." docker_helper=Forgejo를 Docker에서 실행하려면 설정 전에 이 <a target="_blank" rel="noopener noreferrer" href="%s">문서</a>를 읽어보세요.
db_title=데이터베이스 설정 db_title=데이터베이스 설정
db_type=데이터베이스 유형 db_type=데이터베이스 유형
host=호스트 host=호스트
@ -214,7 +216,7 @@ ssh_port_helper=SSH 서버가 실행되고 있는 포트를 입력하세요. 비
http_port=Forgejo HTTP 수신 포트 http_port=Forgejo HTTP 수신 포트
http_port_helper=Forgejo 웹서버가 수신할 포트 번호입니다. http_port_helper=Forgejo 웹서버가 수신할 포트 번호입니다.
app_url=Forgejo 기본 URL app_url=Forgejo 기본 URL
app_url_helper=HTTP(S) clone URL 및 이메일 알림 기본 주소 app_url_helper=HTTP(S) clone URL 및 이메일 알림 기본 주소입니다.
log_root_path=로그 경로 log_root_path=로그 경로
log_root_path_helper=로그파일은 이 디렉토리에 저장됩니다. log_root_path_helper=로그파일은 이 디렉토리에 저장됩니다.
@ -234,15 +236,15 @@ offline_mode_popup=타사 콘텐츠 전송 네트워크를 사용하지 않도
disable_gravatar=Gravatar 사용안함 disable_gravatar=Gravatar 사용안함
disable_gravatar_popup=Gravatar 및 타사 아바타 소스를 사용하지 않도록 설정합니다. 사용자가 로컬로 아바타를 업로드하지 않는 한 기본 아바타가 사용됩니다. disable_gravatar_popup=Gravatar 및 타사 아바타 소스를 사용하지 않도록 설정합니다. 사용자가 로컬로 아바타를 업로드하지 않는 한 기본 아바타가 사용됩니다.
federated_avatar_lookup=아바타 연동 사용여부 federated_avatar_lookup=아바타 연동 사용여부
federated_avatar_lookup_popup=libravatar 기반 오픈소스 서비스 사용 목적으로 연합 아바타 조회를 허용하기 federated_avatar_lookup_popup=libravatar 기반 오픈소스 연합 아바타 조회를 허용합니다.
disable_registration=사용자 등록 비활성화 disable_registration=사용자 등록 비활성화
disable_registration_popup=사용자가 직접 등록할 수 없게 합니다. 관리자만이 추가할 수 있습니다. disable_registration_popup=사용자가 직접 등록할 수 없게 합니다. 관리자만이 추가할 수 있습니다.
allow_only_external_registration_popup=외부 서비스를 통한 등록을 허용여부 allow_only_external_registration_popup=외부 서비스를 통한 등록을 허용여부
openid_signin=OpenID 로그인 사용 openid_signin=OpenID 로그인 사용
openid_signin_popup=OpenID 를 이용한 로그인 가능여부 openid_signin_popup=OpenID 를 이용한 로그인을 허용합니다.
openid_signup=OpenID 가입 가능여부 openid_signup=OpenID 가입 가능여부
openid_signup_popup=OpenID를 통한 가입 가능여부 openid_signup_popup=OpenID를 통한 가입을 허용합니다.
enable_captcha_popup=사용자 등록시 캡차 요구 enable_captcha_popup=사용자 등록시 캡차 요구합니다.
require_sign_in_view=페이지를 보기 위해 로그인 하기 require_sign_in_view=페이지를 보기 위해 로그인 하기
admin_setting_desc=관리자 계정을 만드는 것은 선택사항입니다. 첫번째로 등록된 사용자는 자동적으로 관리자로 지정됩니다. admin_setting_desc=관리자 계정을 만드는 것은 선택사항입니다. 첫번째로 등록된 사용자는 자동적으로 관리자로 지정됩니다.
admin_title=관리자 계정 설정 admin_title=관리자 계정 설정
@ -287,7 +289,7 @@ issues.in_your_repos=당신의 저장소에
[explore] [explore]
repos=저장소 repos=저장소
users=유저 users=사용자
organizations=조직 organizations=조직
search=검색 search=검색
code=코드 code=코드
@ -306,7 +308,7 @@ forgot_password_title=비밀번호 찾기
forgot_password=비밀번호를 잊으셨나요? forgot_password=비밀번호를 잊으셨나요?
sign_up_now=계정이 필요하신가요? 지금 가입하세요. sign_up_now=계정이 필요하신가요? 지금 가입하세요.
confirmation_mail_sent_prompt=새로운 확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 등록 절차를 완료하십시오. confirmation_mail_sent_prompt=새로운 확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 등록 절차를 완료하십시오.
must_change_password=비밀번호를 변경하세요. must_change_password=비밀번호를 변경하세요
allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨) allow_password_change=사용자에게 비밀번호 변경을 요청 (권장됨)
reset_password_mail_sent_prompt=확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오. reset_password_mail_sent_prompt=확인 메일이 <b>%s</b>로 전송되었습니다. 받은 편지함으로 도착한 메일을 %s 안에 확인해서 비밀번호 찾기 절차를 완료하십시오.
active_your_account=계정 활성화 active_your_account=계정 활성화
@ -322,7 +324,7 @@ invalid_code=검증 코드가 유효하지 않거나 만료되었습니다.
reset_password_helper=계정 복구 reset_password_helper=계정 복구
password_too_short=비밀번호의 길이는 최소 %d 자가 되어야 합니다. password_too_short=비밀번호의 길이는 최소 %d 자가 되어야 합니다.
non_local_account=로컬 유저가 아닌 경우 Forgejo 웹 인터페이스를 통해 비밀번호를 변경할 수 없습니다. non_local_account=로컬 유저가 아닌 경우 Forgejo 웹 인터페이스를 통해 비밀번호를 변경할 수 없습니다.
verify=확인 verify=검증
scratch_code=스크래치 코드 scratch_code=스크래치 코드
use_scratch_code=스크래치 코드 사용 use_scratch_code=스크래치 코드 사용
twofa_scratch_used=스크래치 코드를 사용하셨습니다. 이중인증 설정 페이지로 리다이렉트 되었고 기기 등록을 제거하거나 새로운 스크래치 코드를 생성하십시오. twofa_scratch_used=스크래치 코드를 사용하셨습니다. 이중인증 설정 페이지로 리다이렉트 되었고 기기 등록을 제거하거나 새로운 스크래치 코드를 생성하십시오.
@ -504,7 +506,7 @@ email_deletion_desc=계정의 이메일 주소와 관련된 정보가 삭제됩
email_deletion_success=이메일 주소가 삭제되었습니다. email_deletion_success=이메일 주소가 삭제되었습니다.
theme_update_success=테마가 갱신되었습니다. theme_update_success=테마가 갱신되었습니다.
theme_update_error=선택한 테마가 존재하지 않습니다. theme_update_error=선택한 테마가 존재하지 않습니다.
openid_deletion=OpenID 주소가 삭제되었습니다. openid_deletion=OpenID 주소 삭제됨
openid_deletion_desc=OpenID 주소를 삭제하면 이것을 이용하여 로그인할 수 없습니다. 계속 진행하시겠습니까? openid_deletion_desc=OpenID 주소를 삭제하면 이것을 이용하여 로그인할 수 없습니다. 계속 진행하시겠습니까?
openid_deletion_success=OpenID가 삭제되었습니다. openid_deletion_success=OpenID가 삭제되었습니다.
add_new_email=새 이메일 주소 추가 add_new_email=새 이메일 주소 추가
@ -521,8 +523,8 @@ manage_gpg_keys=GPG 키 관리
add_key=키 추가 add_key=키 추가
ssh_desc=이러한 SSH 공용 키는 귀하의 계정과 연결되어 있습니다. 해당 개인 키는 당신의 저장소에 대한 전체 액세스를 가능하게 합니다. ssh_desc=이러한 SSH 공용 키는 귀하의 계정과 연결되어 있습니다. 해당 개인 키는 당신의 저장소에 대한 전체 액세스를 가능하게 합니다.
gpg_desc=이러한 GPG 공개키는 당신의 계정과 연결되어있습니다. 커밋이 검증될 수 있도록 당신의 개인 키를 안전하게 유지하십시오. gpg_desc=이러한 GPG 공개키는 당신의 계정과 연결되어있습니다. 커밋이 검증될 수 있도록 당신의 개인 키를 안전하게 유지하십시오.
ssh_helper="<strong>도움이 필요하세요?</strong> GitHub의 설명서를 참조하시기 바랍니다: <a href=\"%s\">SSH 키 생성하기</a> 또는 SSH를 사용할 때 <a href=\"%s\">일반적인 문제</a>" ssh_helper=<strong>도움이 필요하세요?</strong> <a href="%s">SSH 키 생성하기</a> 또는 <a href="%s">SSH를 사용할 때의 일반적인 문제</a>에 관한 GitHub의 설명서를 참조하시기 바랍니다.
gpg_helper="<strong>도움이 필요하세요?</strong> GitHub의 설명서를 참조하시기 바랍니다: <a href=\"%s\">GPG키에 대하여</a>." gpg_helper=<strong>도움이 필요하세요?</strong> <a href="%s">GPG키에 대한 GitHub 문서</a>를 참조하시기 바랍니다.
add_new_key=SSH 키 추가 add_new_key=SSH 키 추가
add_new_gpg_key=GPG 키 추가 add_new_gpg_key=GPG 키 추가
gpg_key_id_used=같은 ID의 GPG 공개키가 이미 존재합니다. gpg_key_id_used=같은 ID의 GPG 공개키가 이미 존재합니다.
@ -543,12 +545,12 @@ gpg_key_deletion_desc=GPG 키를 삭제하면 해당 키로 서명 한 커밋은
ssh_key_deletion_success=SSH 키가 삭제되었습니다. ssh_key_deletion_success=SSH 키가 삭제되었습니다.
gpg_key_deletion_success=GPG 키가 삭제되었습니다. gpg_key_deletion_success=GPG 키가 삭제되었습니다.
valid_forever=영원히 유효 valid_forever=영원히 유효
last_used=마지막 사용 : last_used=마지막 사용
no_activity=최근 활동 없음 no_activity=최근 활동 없음
can_read_info=읽기 can_read_info=읽기
can_write_info=쓰기 can_write_info=쓰기
key_state_desc=이 키는 최근 1주일 동안 사용된 적이 있습니다. key_state_desc=최근 1주일 동안 사용된 적 있는 키
token_state_desc=이 토큰은 최근 1주일 동안 사용된 적이 있습니다. token_state_desc=최근 1주일 동안 사용된 적 있는 토큰
show_openid=프로필에 표시 show_openid=프로필에 표시
hide_openid=프로필에서 숨기기 hide_openid=프로필에서 숨기기
ssh_disabled=SSH 사용불가 ssh_disabled=SSH 사용불가
@ -592,7 +594,7 @@ scan_this_image=이 이미지를 당신의 인증 애플리케이션에서 스
or_enter_secret=또는 이 비밀키를 입력하세요: %s or_enter_secret=또는 이 비밀키를 입력하세요: %s
then_enter_passcode=어플리케이션에 표시된 인증코드를 입력하여 주십시오: then_enter_passcode=어플리케이션에 표시된 인증코드를 입력하여 주십시오:
passcode_invalid=인증코드가 올바르지 않습니다. 재시도해주십시오. passcode_invalid=인증코드가 올바르지 않습니다. 재시도해주십시오.
twofa_enrolled=당신의 계정에 2단계 인증이 설정되었습니다. 스크래치 토큰 (%s) 은 한 번만 표시되므로 안전한 장소에 보관하십시오! twofa_enrolled=당신의 계정에 2단계 인증이 설정되었습니다. 스크래치 토큰 (%s) 은 한 번만 표시되므로 안전한 장소에 보관하십시오.
manage_account_links=연결된 계정 관리 manage_account_links=연결된 계정 관리
@ -622,19 +624,19 @@ repo_name=저장소 이름
repo_name_helper=좋은 저장소 이름은 보통 짧고 기억하기 좋은 특별한 키워드로 이루어 집니다. repo_name_helper=좋은 저장소 이름은 보통 짧고 기억하기 좋은 특별한 키워드로 이루어 집니다.
repo_size=저장소 용량 repo_size=저장소 용량
template=템플릿 template=템플릿
template_select=템플릿 고르기 template_select=템플릿을 선택합니다.
template_helper=템플릿으로 저장소 만들기 template_helper=저장소 템플릿으로 만들기
visibility=가시성 visibility=가시성
visibility_helper_forced=사이트 관리자가 새 레포지토리에 대해 비공개로만 생성되도록 하였습니다. visibility_helper_forced=사이트 관리자가 새 레포지토리에 대해 비공개로만 생성되도록 하였습니다.
visibility_fork_helper=(변경사항을 적용하는 경우 모든 포크가 영향을 받게 됩니다.) visibility_fork_helper=(변경사항을 적용하는 경우 모든 포크가 영향을 받게 됩니다.)
clone_helper="클론하는데에 도움이 필요하면 <a target=\"_blank\" href=\"%s\">Help</a>에 방문하세요." clone_helper=클론하는데에 도움이 필요하신가요? <a target="_blank" rel="noopener noreferrer" href="%s">Help</a>에 방문하세요.
fork_repo=저장소 포크 fork_repo=저장소 포크
fork_from=원본 프로젝트 : fork_from=원본 프로젝트
fork_visibility_helper=포크된 저장소의 가시성은 변경하실 수 없습니다. fork_visibility_helper=포크된 저장소의 가시성은 변경하실 수 없습니다.
use_template=이 템플릿을 사용 use_template=이 템플릿을 사용
repo_desc=설명 repo_desc=설명
repo_lang=언어 repo_lang=언어
repo_gitignore_helper=.gitignore 템플릿 선택 repo_gitignore_helper=.gitignore 템플릿 선택합니다.
license=라이센스 license=라이센스
license_helper=라이센스 파일을 선택해주세요. license_helper=라이센스 파일을 선택해주세요.
readme=README readme=README
@ -676,7 +678,7 @@ migrate.permission_denied=로컬 저장소는 가져오기를 할 수 없습니
migrate.failed=마이그레이션 실패: %v migrate.failed=마이그레이션 실패: %v
mirror_from=의 미러 mirror_from=의 미러
forked_from=원본 프로젝트 : forked_from=원본 프로젝트
fork_from_self=자신의 저장소를 포크 할 수 없습니다. fork_from_self=자신의 저장소를 포크 할 수 없습니다.
fork_guest_user=로그인하고 Fork 이 창고. fork_guest_user=로그인하고 Fork 이 창고.
unwatch=보지않기 unwatch=보지않기
@ -694,7 +696,7 @@ push_exist_repo=커맨드라인에서 기존 레포지터리 푸시
empty_message=이 저장소는 아무런 내용을 가지고 있지 않습니다. empty_message=이 저장소는 아무런 내용을 가지고 있지 않습니다.
code=코드 code=코드
code.desc=소스 코드 접근, 파일, 커밋 그리고 브랜치 code.desc=소스 코드, 파일, 커밋과 브랜치에 접근합니다.
branch=브렌치 branch=브렌치
tree=트리 tree=트리
filter_branch_and_tag=브랜치나 태그로 필터 filter_branch_and_tag=브랜치나 태그로 필터
@ -726,20 +728,20 @@ editor.preview_changes=변경내용 미리보기
editor.cannot_edit_non_text_files=바이너리 파일을 웹 인터페이스에서 편집하실 수 없습니다. editor.cannot_edit_non_text_files=바이너리 파일을 웹 인터페이스에서 편집하실 수 없습니다.
editor.edit_this_file=파일 편집 editor.edit_this_file=파일 편집
editor.delete_this_file=파일 삭제 editor.delete_this_file=파일 삭제
editor.name_your_file=파일명을 입력하세요... editor.name_your_file=파일명 입력…
editor.or=혹은 editor.or=혹은
editor.cancel_lower=취소 editor.cancel_lower=취소
editor.commit_changes=변경 내용을 커밋 editor.commit_changes=변경 내용을 커밋
editor.commit_message_desc=선택적 확장 설명을 추가... editor.commit_message_desc=선택적 확장 설명 추가…
editor.commit_directly_to_this_branch="<strong class=\"branch-name\">%s</strong> 브랜치에서 직접 커밋해주세요." editor.commit_directly_to_this_branch=<strong class="branch-name">%s</strong> 브랜치에서 직접 커밋해주세요.
editor.create_new_branch=이 커밋에 대한 <strong>새로운 브랜치</strong>를 만들고 끌어오기 요청을 시작합니다. editor.create_new_branch=이 커밋에 대한 <strong>새로운 브랜치</strong>를 만들고 끌어오기 요청을 시작합니다.
editor.new_branch_name_desc=새로운 브랜치 명... editor.new_branch_name_desc=새로운 브랜치 이름…
editor.cancel=취소 editor.cancel=취소
editor.filename_cannot_be_empty=파일명이 빈칸입니다. editor.filename_cannot_be_empty=파일명이 빈칸입니다.
editor.no_changes_to_show=표시할 변경사항이 없습니다. editor.no_changes_to_show=표시할 변경사항이 없습니다.
editor.add_subdir=경로 추가... editor.add_subdir=경로 추가
commits.desc=소스 코드 변경 내역 탐색 commits.desc=소스 코드 변경 내역 탐색합니다.
commits.commits=커밋 commits.commits=커밋
commits.search=커밋 찾기... commits.search=커밋 찾기...
commits.find=검색 commits.find=검색
@ -765,7 +767,7 @@ projects.column.edit_title=이름
projects.column.new_title=이름 projects.column.new_title=이름
issues.new=새로운 이슈 issues.new=새로운 이슈
issues.new.title_empty=제목은 비워둘 수 없습니다. issues.new.title_empty=제목은 비워둘 수 없
issues.new.labels=레이블 issues.new.labels=레이블
issues.new.no_label=레이블 없음 issues.new.no_label=레이블 없음
issues.new.clear_labels=레이블 초기화 issues.new.clear_labels=레이블 초기화
@ -777,7 +779,7 @@ issues.new.closed_milestone=마일스톤 닫기
issues.new.assignees=담당자 issues.new.assignees=담당자
issues.new.clear_assignees=담당자 초기화 issues.new.clear_assignees=담당자 초기화
issues.new.no_assignees=담당자 없음 issues.new.no_assignees=담당자 없음
issues.no_ref=Branch/Tag 가 지정되어 있지 않습니다. issues.no_ref=Branch/Tag 가 지정되어 있지 않
issues.create=이슈 생성 issues.create=이슈 생성
issues.new_label=새로운 레이블 issues.new_label=새로운 레이블
issues.new_label_placeholder=레이블 이름 issues.new_label_placeholder=레이블 이름
@ -844,7 +846,7 @@ issues.create_comment=코멘트
issues.commit_ref_at=` 커밋 <a id="%[1]s" href="#%[1]s">%[2]s</a>에서 이 이슈 언급` issues.commit_ref_at=` 커밋 <a id="%[1]s" href="#%[1]s">%[2]s</a>에서 이 이슈 언급`
issues.role.owner=소유자 issues.role.owner=소유자
issues.role.member=멤버 issues.role.member=멤버
issues.sign_in_require_desc="<a href=\"%s\">로그인</a>하여 이 대화에 참여" issues.sign_in_require_desc=<a href="%s">로그인</a>하여 이 대화에 참여하세요.
issues.edit=수정 issues.edit=수정
issues.cancel=취소 issues.cancel=취소
issues.save=저장 issues.save=저장
@ -881,20 +883,20 @@ issues.add_time_sum_to_small=시간이 입력되지 않았습니다.
issues.time_spent_total=총 경과된 시간 issues.time_spent_total=총 경과된 시간
issues.time_spent_from_all_authors=`총 경과된 시간: %s` issues.time_spent_from_all_authors=`총 경과된 시간: %s`
issues.due_date=마감일 issues.due_date=마감일
issues.invalid_due_date_format="마감일은 반드시 'yyyy-mm-dd' 형식이어야 합니다." issues.invalid_due_date_format=마감일은 반드시 "yyyy-mm-dd" 형식이어야 합니다.
issues.error_modifying_due_date="마감일 수정을 실패하였습니다." issues.error_modifying_due_date=마감일 수정을 실패하였습니다.
issues.error_removing_due_date="마감일 삭제를 실패하였습니다." issues.error_removing_due_date=마감일 삭제를 실패하였습니다.
issues.due_date_form=yyyy-mm-dd issues.due_date_form=yyyy-mm-dd
issues.due_date_form_add=마감일 추가 issues.due_date_form_add=마감일 추가
issues.due_date_form_edit=편집 issues.due_date_form_edit=편집
issues.due_date_form_remove=삭제 issues.due_date_form_remove=삭제
issues.due_date_not_set=마감일이 설정되지 않았습니다. issues.due_date_not_set=마감일이 설정되지 않았습니다.
issues.due_date_added=마감일 %s 를 추가 %s issues.due_date_added=마감일 %s 를 추가 %s
issues.due_date_remove=%s %s 마감일이 삭제되었습니다. issues.due_date_remove=%s %s 마감일이 삭제
issues.due_date_overdue="기한 초과" issues.due_date_overdue="기한 초과"
issues.due_date_invalid="기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오." issues.due_date_invalid=기한이 올바르지 않거나 범위를 벗어났습니다. "yyyy-mm-dd"형식을 사용해주십시오.
issues.dependency.title=의존성 issues.dependency.title=의존성
issues.dependency.add=의존성 추가... issues.dependency.add=의존성 추가
issues.dependency.cancel=취소 issues.dependency.cancel=취소
issues.dependency.remove=제거 issues.dependency.remove=제거
issues.dependency.remove_info=이 의존성 제거 issues.dependency.remove_info=이 의존성 제거
@ -924,9 +926,9 @@ pulls.compare_changes=새 풀 리퀘스트
pulls.compare_base=병합하기 pulls.compare_base=병합하기
pulls.compare_compare=다음으로부터 풀 pulls.compare_compare=다음으로부터 풀
pulls.filter_branch=Filter Branch pulls.filter_branch=Filter Branch
pulls.no_results=결과 없음 pulls.no_results=결과를 찾을 수 없습니다.
pulls.create=풀 리퀘스트 생성 pulls.create=풀 리퀘스트 생성
pulls.title_desc_few="<code>%[2]s</code> 에서 <code id=\"branch_target\">%[3]s</code> 로 %[1]d commits 를 머지하려 합니다" pulls.title_desc_few=<code>%[2]s</code> 에서 <code id="branch_target">%[3]s</code> 로 %[1]d개의 커밋들을 머지하려 합니다
pulls.merged_title_desc_few=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지했습니다 %[4]s pulls.merged_title_desc_few=<code>%[2]s</code> 에서 <code>%[3]s</code> 로 %[1]d commits 를 머지했습니다 %[4]s
pulls.tab_conversation=대화 pulls.tab_conversation=대화
pulls.tab_commits=커밋 pulls.tab_commits=커밋
@ -951,13 +953,13 @@ milestones.closed=닫힘 %s
milestones.no_due_date=기한 없음 milestones.no_due_date=기한 없음
milestones.open=열기 milestones.open=열기
milestones.close=닫기 milestones.close=닫기
milestones.completeness=%d%% 완료됨 milestones.completeness=<strong>%d%%</strong> 완료됨
milestones.create=마일스톤 생성 milestones.create=마일스톤 생성
milestones.title=타이틀 milestones.title=타이틀
milestones.desc=설명 milestones.desc=설명
milestones.due_date=기한 (선택 사항) milestones.due_date=기한 (선택 사항)
milestones.clear=지우기 milestones.clear=지우기
milestones.invalid_due_date_format="마감일은 반드시 'yyyy-mm-dd' 형식이어야 합니다." milestones.invalid_due_date_format=마감일은 반드시 "yyyy-mm-dd" 형식이어야 합니다.
milestones.edit=마일스톤 편집 milestones.edit=마일스톤 편집
milestones.cancel=취소 milestones.cancel=취소
milestones.modify=마일스톤 갱신 milestones.modify=마일스톤 갱신
@ -973,14 +975,14 @@ milestones.filter_sort.least_issues=이슈 적은 순
ext_wiki.desc=외부 위키에 연결하기. ext_wiki.desc=외부 위키에 연결하기.
wiki=위키 wiki=위키
wiki.welcome=위키에 오신것을 환영합니다! wiki.welcome=위키에 오신것을 환영합니다.
wiki.welcome_desc=Wiki를 사용하여 공동 작업자들과 문서를 작성 하고 공유 할 수 있습니다. wiki.welcome_desc=Wiki를 사용하여 업자들과 문서를 작성 하고 공유 할 수 있습니다.
wiki.desc=공동 작업자들과 문서 작성 및 공유. wiki.desc=업자들과 문서 작성 및 공유.
wiki.create_first_page=첫 페이지 작성 wiki.create_first_page=첫 페이지 작성
wiki.page=페이지 wiki.page=페이지
wiki.filter_page=페이지 필터링 wiki.filter_page=페이지 필터링
wiki.new_page=페이지 wiki.new_page=페이지
wiki.default_commit_message=이 페이지에 대한 메모를 작성하세요.(선택사항) wiki.default_commit_message=이 페이지 수정에 대한 메모를 작성하세요.(선택사항)
wiki.save_page=페이지 저장하기 wiki.save_page=페이지 저장하기
wiki.last_commit_info=%s이(가) %s에 이 페이지를 수정함 wiki.last_commit_info=%s이(가) %s에 이 페이지를 수정함
wiki.edit_page_button=수정하기 wiki.edit_page_button=수정하기
@ -1006,8 +1008,8 @@ activity.title.user_1=%d 사용자
activity.title.user_n=%d 사용자 activity.title.user_n=%d 사용자
activity.title.prs_1=풀 리퀘스트 %d개 activity.title.prs_1=풀 리퀘스트 %d개
activity.title.prs_n=풀 리퀘스트 %d개 activity.title.prs_n=풀 리퀘스트 %d개
activity.title.prs_merged_by=%s 가 %s 로부터 머지 되었습니다. activity.title.prs_merged_by=%s 가 %s 로부터 머지 되었
activity.title.prs_opened_by=%s 가 %s 로 부터 제안 되었습니다. activity.title.prs_opened_by=%s 가 %s 로 부터 제안
activity.merged_prs_label=병합됨 activity.merged_prs_label=병합됨
activity.opened_prs_label=제안중 activity.opened_prs_label=제안중
activity.active_issues_count_1=<strong>%d</strong> 개의 활성화된 이슈 activity.active_issues_count_1=<strong>%d</strong> 개의 활성화된 이슈
@ -1016,7 +1018,7 @@ activity.closed_issues_count_1=클로즈된 이슈
activity.closed_issues_count_n=클로즈된 이슈 activity.closed_issues_count_n=클로즈된 이슈
activity.title.issues_1=이슈 %d개 activity.title.issues_1=이슈 %d개
activity.title.issues_n=이슈 %d개 activity.title.issues_n=이슈 %d개
activity.title.issues_created_by=%s 가 %s 에 의해 생성되었습니다. activity.title.issues_created_by=%s 가 %s 에 의해 생성
activity.closed_issue_label=닫힘 activity.closed_issue_label=닫힘
activity.new_issues_count_1=새로운 이슈 activity.new_issues_count_1=새로운 이슈
activity.new_issues_count_n=새로운 이슈 activity.new_issues_count_n=새로운 이슈
@ -1027,7 +1029,7 @@ activity.unresolved_conv_desc=최근 변경된 이슈나 풀 리퀘스트들이
activity.unresolved_conv_label=열기 activity.unresolved_conv_label=열기
activity.title.releases_1=%d 개의 릴리즈 activity.title.releases_1=%d 개의 릴리즈
activity.title.releases_n=%d 개의 릴리즈 activity.title.releases_n=%d 개의 릴리즈
activity.title.releases_published_by=%s 가 %s 에 의하여 배포되었습니다. activity.title.releases_published_by=%s 가 %s 에 의하여 배포
activity.published_release_label=배포됨 activity.published_release_label=배포됨
contributors.contribution_type.commits=커밋 contributors.contribution_type.commits=커밋
@ -1038,9 +1040,9 @@ search.results="<a href=\"%s\">%s</a> 에서 \"%s\" 에 대한 검색 결과"
search.code_no_results=검색어와 일치하는 소스코드가 없습니다. search.code_no_results=검색어와 일치하는 소스코드가 없습니다.
settings=설정 settings=설정
settings.desc=설정은 저장소 설정을 관리할 수 있습니다. settings.desc=설정에서 저장소 설정을 관리할 수 있음
settings.options=저장소 settings.options=저장소
settings.collaboration=공동작업자 settings.collaboration=업자
settings.collaboration.admin=관리자 settings.collaboration.admin=관리자
settings.collaboration.write=쓰기 settings.collaboration.write=쓰기
settings.collaboration.read=읽기 settings.collaboration.read=읽기
@ -1088,21 +1090,21 @@ settings.trust_model.collaborator=협업자
settings.wiki_delete=위키 데이터 삭제 settings.wiki_delete=위키 데이터 삭제
settings.confirm_wiki_delete=위키 데이터 삭제 settings.confirm_wiki_delete=위키 데이터 삭제
settings.delete=이 저장소 삭제 settings.delete=이 저장소 삭제
settings.delete_notices_1=- 이 작업은 취소할 수 <strong>없습니다.</strong> settings.delete_notices_1=- 이 작업은 <strong>취소할 수 없습니다</strong>.
settings.deletion_success=저장소가 삭제되었습니다. settings.deletion_success=저장소가 삭제되었습니다.
settings.update_settings_success=저장소 설정이 갱신되었습니다. settings.update_settings_success=저장소 설정이 갱신되었습니다.
settings.confirm_delete=저장소 삭제 settings.confirm_delete=저장소 삭제
settings.add_collaborator=새 협업자 추가 settings.add_collaborator=새 협업자 추가
settings.add_collaborator_success=공동작업자가 추가 되었습니다. settings.add_collaborator_success=업자가 추가 되었습니다.
settings.delete_collaborator=제거 settings.delete_collaborator=제거
settings.collaborator_deletion=공동작업자 삭제 settings.collaborator_deletion=업자 삭제
settings.search_user_placeholder=사용자 검색... settings.search_user_placeholder=사용자 검색...
settings.teams= settings.teams=
settings.add_webhook=Webhook 추가 settings.add_webhook=Webhook 추가
settings.webhook_deletion=Webhook 삭제 settings.webhook_deletion=Webhook 삭제
settings.webhook_deletion_success=Webhook을 삭제했습니다. settings.webhook_deletion_success=Webhook을 삭제했습니다.
settings.webhook.test_delivery=전달 시험 settings.webhook.test_delivery=전달 시험
settings.webhook.test_delivery_desc=이 웹훅을 가상 이벤트로 테스트 settings.webhook.test_delivery_desc=이 웹훅을 가상 이벤트로 테스트합니다.
settings.webhook.request=요청 settings.webhook.request=요청
settings.webhook.response=응답 settings.webhook.response=응답
settings.webhook.headers=제목 settings.webhook.headers=제목
@ -1122,7 +1124,7 @@ settings.discord_icon_url=아이콘 URL
settings.event_desc=트리거: settings.event_desc=트리거:
settings.event_push_only=푸시 이벤트 settings.event_push_only=푸시 이벤트
settings.event_send_everything=모든 이벤트 settings.event_send_everything=모든 이벤트
settings.event_choose=사용자 정의 이벤트... settings.event_choose=사용자 정의 이벤트
settings.event_create=생성 settings.event_create=생성
settings.event_create_desc=브랜치 또는 태그가 생성되었습니다. settings.event_create_desc=브랜치 또는 태그가 생성되었습니다.
settings.event_delete=삭제 settings.event_delete=삭제
@ -1131,7 +1133,7 @@ settings.event_wiki=위키
settings.event_release=릴리즈 settings.event_release=릴리즈
settings.event_release_desc=릴리즈가 저장소에서 배포, 갱신 또는 제거되었습니다. settings.event_release_desc=릴리즈가 저장소에서 배포, 갱신 또는 제거되었습니다.
settings.event_push=푸시 settings.event_push=푸시
settings.event_push_desc=저장소로 푸시 settings.event_push_desc=저장소로 푸시합니다.
settings.event_repository=저장소 settings.event_repository=저장소
settings.event_repository_desc=저장소가 생성되거나 삭제됩니다. settings.event_repository_desc=저장소가 생성되거나 삭제됩니다.
settings.event_issues=이슈 settings.event_issues=이슈
@ -1267,6 +1269,11 @@ projects.deletion_desc = 프로젝트를 삭제하면 관련된 모든 이슈에
projects.deletion_success = 프로젝트가 삭제되었습니다. projects.deletion_success = 프로젝트가 삭제되었습니다.
projects.edit = 프로젝트 수정 projects.edit = 프로젝트 수정
projects.new_subheader = 한 곳에서 당신의 작업을 조정, 추적, 업데이트해 프로젝트를 일정대로 투명하게 유지하세요. projects.new_subheader = 한 곳에서 당신의 작업을 조정, 추적, 업데이트해 프로젝트를 일정대로 투명하게 유지하세요.
pulls.approve_count_n = %명의 승인
pulls.approve_count_1 = %d명의 승인
pulls.blocked_by_approvals = 이 풀 리퀘스트는 충분히 승인되지 않았습니다. %d/%d 승인됨.
settings.event_pull_request_approvals = 풀 리퀘스트 승인
pulls.blocked_by_official_review_requests = 이 풀 리퀘스트는 공식 검토자에 의한 승인이 부족하여 차단되었습니다.
@ -1276,7 +1283,7 @@ projects.new_subheader = 한 곳에서 당신의 작업을 조정, 추적, 업
org_name_holder=조직 이름 org_name_holder=조직 이름
org_full_name_holder=조직 전체 이름 org_full_name_holder=조직 전체 이름
create_org=새로운 조직 create_org=새로운 조직
repo_updated=업데이트됨 repo_updated=업데이트됨 %s
members=멤버 members=멤버
teams= teams=
lower_members=회원 lower_members=회원
@ -1639,6 +1646,7 @@ create_repo=저장소를 만들었습니다. <a href="%s">%s</a>
rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다. rename_repo=<code>%[1]s에서</code>에서 <a href="%[2]s"> %[3]s</a>으로 저장소 이름을 바꾸었습니다.
transfer_repo=<code>%s</code>에서 <a href="%s">%s</a>로 저장소가 전송되었습니다. transfer_repo=<code>%s</code>에서 <a href="%s">%s</a>로 저장소가 전송되었습니다.
compare_commits=%d 커밋들 비교 compare_commits=%d 커밋들 비교
watched_repo = <a href="%[1]s">%[2]s</a>에대한 감시를 시작합니다
[tool] [tool]
now=현재 now=현재
@ -1675,6 +1683,9 @@ pin=알림 고정
mark_as_read=읽음으로 표시 mark_as_read=읽음으로 표시
mark_as_unread=읽지 않음으로 표시 mark_as_unread=읽지 않음으로 표시
mark_all_as_read=모두 읽음으로 표시 mark_all_as_read=모두 읽음으로 표시
subscriptions = 구독된 알림
no_subscriptions = 알림이 없음
watching = 감시
[gpg] [gpg]
error.extract_sign=서명 추출에 실패 error.extract_sign=서명 추출에 실패

View file

@ -25,7 +25,7 @@ signed_in_as=Pieteicies kā
enable_javascript=Šai tīmekļvietnei ir nepieciešams JavaScript. enable_javascript=Šai tīmekļvietnei ir nepieciešams JavaScript.
toc=Satura rādītājs toc=Satura rādītājs
licenses=Licences licenses=Licences
return_to_gitea=Atgriezties Forgejo return_to_forgejo=Atgriezties Forgejo
username=Lietotājvārds username=Lietotājvārds
email=E-pasta adrese email=E-pasta adrese
@ -2581,7 +2581,7 @@ org_name_holder=Organizācijas nosaukums
org_full_name_holder=Organizācijas pilnais nosaukums org_full_name_holder=Organizācijas pilnais nosaukums
org_name_helper=Organizāciju nosaukumiem vēlams būt īsiem un tādiem, ko viegli atcerēties. org_name_helper=Organizāciju nosaukumiem vēlams būt īsiem un tādiem, ko viegli atcerēties.
create_org=Izveidot organizāciju create_org=Izveidot organizāciju
repo_updated=Atjaunināts repo_updated=Atjaunināts %s
members=Dalībnieki members=Dalībnieki
teams=Komandas teams=Komandas
code=Kods code=Kods

View file

@ -22,7 +22,7 @@ user_profile_and_more=Profiel en instellingen…
signed_in_as=Aangemeld als signed_in_as=Aangemeld als
toc=Inhoudsopgave toc=Inhoudsopgave
licenses=Licenties licenses=Licenties
return_to_gitea=Terug naar Forgejo return_to_forgejo=Terug naar Forgejo
username=Gebruikersnaam username=Gebruikersnaam
email=E-mailadres email=E-mailadres
@ -2731,7 +2731,7 @@ org_name_holder=Organisatienaam
org_full_name_holder=Volledige naam organisatie org_full_name_holder=Volledige naam organisatie
org_name_helper=Organisatienamen horen kort en memorabel zijn. org_name_helper=Organisatienamen horen kort en memorabel zijn.
create_org=Nieuwe organisatie aanmaken create_org=Nieuwe organisatie aanmaken
repo_updated=Geupdate repo_updated=Geupdate %s
members=Leden members=Leden
teams=Teams teams=Teams
lower_members=leden lower_members=leden

View file

@ -21,7 +21,7 @@ user_profile_and_more=Profil i ustawienia…
signed_in_as=Zalogowany jako signed_in_as=Zalogowany jako
toc=Spis treści toc=Spis treści
licenses=Licencje licenses=Licencje
return_to_gitea=Wróć do Forgejo return_to_forgejo=Wróć do Forgejo
username=Nazwa użytkownika username=Nazwa użytkownika
email=Adres e-mail email=Adres e-mail
@ -2033,7 +2033,7 @@ org_name_holder=Nazwa organizacji
org_full_name_holder=Pełna nazwa organizacji org_full_name_holder=Pełna nazwa organizacji
org_name_helper=Nazwa organizacji powinna być krótka i łatwa do zapamiętania. org_name_helper=Nazwa organizacji powinna być krótka i łatwa do zapamiętania.
create_org=Utwórz organizację create_org=Utwórz organizację
repo_updated=Zaktualizowano repo_updated=Zaktualizowano %s
members=Członkowie members=Członkowie
teams=Zespoły teams=Zespoły
lower_members=członkowie lower_members=członkowie

View file

@ -24,7 +24,7 @@ signed_in_as=Sessão iniciada como
enable_javascript=Este site requer JavaScript. enable_javascript=Este site requer JavaScript.
toc=Índice toc=Índice
licenses=Licenças licenses=Licenças
return_to_gitea=Volte para Forgejo return_to_forgejo=Volte para Forgejo
username=Nome de usuário username=Nome de usuário
email=Endereço de e-mail email=Endereço de e-mail
@ -2610,7 +2610,7 @@ org_name_holder=Nome da organização
org_full_name_holder=Nome completo da organização org_full_name_holder=Nome completo da organização
org_name_helper=Nomes de organização devem ser curtos e memoráveis. org_name_helper=Nomes de organização devem ser curtos e memoráveis.
create_org=Criar organização create_org=Criar organização
repo_updated=Atualizado repo_updated=Atualizado %s
members=Membros members=Membros
teams=Equipes teams=Equipes
code=Código code=Código

View file

@ -25,7 +25,7 @@ signed_in_as=Sessão iniciada como
enable_javascript=Este sítio Web requer JavaScript. enable_javascript=Este sítio Web requer JavaScript.
toc=Índice toc=Índice
licenses=Licenças licenses=Licenças
return_to_gitea=Retornar ao Forgejo return_to_forgejo=Retornar ao Forgejo
username=Nome de utilizador username=Nome de utilizador
email=Endereço de email email=Endereço de email
@ -2750,7 +2750,7 @@ org_name_holder=Nome da organização
org_full_name_holder=Nome completo da organização org_full_name_holder=Nome completo da organização
org_name_helper=Nomes das organizações devem ser curtos e memoráveis. org_name_helper=Nomes das organizações devem ser curtos e memoráveis.
create_org=Criar organização create_org=Criar organização
repo_updated=Modificado repo_updated=Modificado %s
members=Membros members=Membros
teams=Equipas teams=Equipas
code=Código code=Código

View file

@ -24,7 +24,7 @@ signed_in_as=Вы вошли как
enable_javascript=Для этого сайта требуется поддержка JavaScript. enable_javascript=Для этого сайта требуется поддержка JavaScript.
toc=Содержание toc=Содержание
licenses=Лицензии licenses=Лицензии
return_to_gitea=Вернуться к Forgejo return_to_forgejo=Вернуться к Forgejo
username=Имя пользователя username=Имя пользователя
email=Адрес эл. почты email=Адрес эл. почты
@ -1000,6 +1000,7 @@ additional_repo_units_hint_description = Показывать кнопку "До
pronouns_custom = Другие pronouns_custom = Другие
pronouns = Местоимения pronouns = Местоимения
pronouns_unspecified = Не указаны pronouns_unspecified = Не указаны
language.title = Язык по умолчанию
[repo] [repo]
owner=Владелец owner=Владелец
@ -1834,22 +1835,22 @@ pulls.unrelated_histories=Слияние не удалось: у источни
pulls.merge_out_of_date=Слияние не удалось: при создании слияния база данных была обновлена. Подсказка: попробуйте ещё раз. pulls.merge_out_of_date=Слияние не удалось: при создании слияния база данных была обновлена. Подсказка: попробуйте ещё раз.
pulls.head_out_of_date=Слияние не удалось: во время слияния головной коммит был обновлён. Попробуйте ещё раз. pulls.head_out_of_date=Слияние не удалось: во время слияния головной коммит был обновлён. Попробуйте ещё раз.
pulls.push_rejected=Отправка была отклонена. Проверьте Git-хуки этого репозитория. pulls.push_rejected=Отправка была отклонена. Проверьте Git-хуки этого репозитория.
pulls.push_rejected_summary=Полная ошибка отклонения pulls.push_rejected_summary=Полная причина отклонения
pulls.push_rejected_no_message=Отправка была отклонена и удалённый сервер не указал причину. Проверьте Git-хуки этого репозитория pulls.push_rejected_no_message=Отправка была отклонена и удалённый сервер не указал причину. Проверьте Git-хуки этого репозитория
pulls.open_unmerged_pull_exists=`Вы не можете снова открыть, поскольку уже существует запрос на слияние (#%d) из того же репозитория с той же информацией о слиянии и ожидающий слияния.` pulls.open_unmerged_pull_exists=`Нельзя открыть снова, поскольку существует другой открытый запрос на слияние (#%d) с такими же свойствами.`
pulls.status_checking=Выполняются некоторые проверки pulls.status_checking=Выполняются проверки
pulls.status_checks_success=Все проверки выполнены успешно pulls.status_checks_success=Все проверки успешно пройдены
pulls.status_checks_warning=Некоторые проверки сообщили о предупреждениях pulls.status_checks_warning=Некоторые проверки имеют предупреждения
pulls.status_checks_failure=Некоторые проверки не удались pulls.status_checks_failure=Некоторые проверки провалились
pulls.status_checks_error=Некоторые проверки сообщили об ошибках pulls.status_checks_error=Некоторые проверки сообщили об ошибках
pulls.status_checks_requested=Требуется pulls.status_checks_requested=Требуется
pulls.status_checks_details=Информация pulls.status_checks_details=Информация
pulls.status_checks_hide_all=Скрыть все проверки pulls.status_checks_hide_all=Скрыть все проверки
pulls.status_checks_show_all=Показать все проверки pulls.status_checks_show_all=Показать все проверки
pulls.update_branch=Обновить ветку посредством слияния pulls.update_branch=Обновить ветку слиянием
pulls.update_branch_rebase=Обновить ветку через rebase pulls.update_branch_rebase=Обновить ветку перебазированием
pulls.update_branch_success=Обновление ветки выполнено успешно pulls.update_branch_success=Ветка успешно обновлена
pulls.update_not_allowed=У вас недостаточно прав для обновления ветки pulls.update_not_allowed=Недостаточно прав для обновления ветки
pulls.outdated_with_base_branch=Эта ветка отстает от базовой ветки pulls.outdated_with_base_branch=Эта ветка отстает от базовой ветки
pulls.close=Закрыть запрос на слияние pulls.close=Закрыть запрос на слияние
pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
@ -2124,7 +2125,7 @@ settings.convert_fork_desc=Вы можете преобразовать это
settings.convert_fork_notices_1=Эта операция преобразует этот ответвление в обычный репозиторий, и не может быть отменена. settings.convert_fork_notices_1=Эта операция преобразует этот ответвление в обычный репозиторий, и не может быть отменена.
settings.convert_fork_confirm=Преобразовать репозиторий settings.convert_fork_confirm=Преобразовать репозиторий
settings.convert_fork_succeed=Ответвление преобразовано в обычный репозиторий. settings.convert_fork_succeed=Ответвление преобразовано в обычный репозиторий.
settings.transfer.title=Передать права собственности settings.transfer.title=Передать репозиторий
settings.transfer.rejected=Передача репозитория отменена. settings.transfer.rejected=Передача репозитория отменена.
settings.transfer.success=Передача репозитория выполнена успешно. settings.transfer.success=Передача репозитория выполнена успешно.
settings.transfer_abort=Отменить передачу settings.transfer_abort=Отменить передачу
@ -2738,6 +2739,8 @@ settings.matrix.access_token_helper = Рекомендуется создать
settings.mirror_settings.pushed_repository = Удалённый репозиторий settings.mirror_settings.pushed_repository = Удалённый репозиторий
release.hide_archive_links = Скрыть автоматически генерируемые архивы release.hide_archive_links = Скрыть автоматически генерируемые архивы
release.hide_archive_links_helper = Скрыть автоматически добавляемые архивы исходного кода для этого релиза. Например, если вы загружаете свои архивы. release.hide_archive_links_helper = Скрыть автоматически добавляемые архивы исходного кода для этого релиза. Например, если вы загружаете свои архивы.
settings.transfer.button = Передать репозиторий
settings.transfer.modal.title = Передача репозитория
[graphs] [graphs]
@ -2746,7 +2749,7 @@ org_name_holder=Название организации
org_full_name_holder=Полное название org_full_name_holder=Полное название
org_name_helper=Лучшие названия организаций коротки и запоминаемы. org_name_helper=Лучшие названия организаций коротки и запоминаемы.
create_org=Создать организацию create_org=Создать организацию
repo_updated=Обновлено repo_updated=Обновлено %s
members=Участники members=Участники
teams=Команды teams=Команды
code=Код code=Код
@ -2978,7 +2981,7 @@ users.repos=Репозитории
users.created=Создано users.created=Создано
users.last_login=Последний вход users.last_login=Последний вход
users.never_login=Никогда не входил users.never_login=Никогда не входил
users.send_register_notify=Отправить пользователю уведомление о регистрации users.send_register_notify=Уведомить о регистрации по эл. почте
users.new_success=Учётная запись «%s» создана. users.new_success=Учётная запись «%s» создана.
users.edit=Редактировать users.edit=Редактировать
users.auth_source=Источник аутентификации users.auth_source=Источник аутентификации
@ -2987,12 +2990,12 @@ users.auth_login_name=Имя для входа
users.password_helper=Оставьте пустым, чтобы оставить без изменений. users.password_helper=Оставьте пустым, чтобы оставить без изменений.
users.update_profile_success=Профиль учётной записи обновлён успешно. users.update_profile_success=Профиль учётной записи обновлён успешно.
users.edit_account=Изменение учётной записи users.edit_account=Изменение учётной записи
users.max_repo_creation=Максимальное количество репозиториев users.max_repo_creation=Ограничение количества репозиториев
users.max_repo_creation_desc=(Установите -1 для использования стандартного глобального значения предела) users.max_repo_creation_desc=(Установите -1 для использования стандартного глобального значения предела)
users.is_activated=Эта учётная запись активирована users.is_activated=Эта учётная запись активирована
users.prohibit_login=Запретить вход в учётную запись users.prohibit_login=Вход запрещён
users.is_admin=У этой учётной записи есть права администратора users.is_admin=Является администратором
users.is_restricted=Ограничен users.is_restricted=Ограниченная
users.allow_git_hook=Может создавать Git-хуки users.allow_git_hook=Может создавать Git-хуки
users.allow_git_hook_tooltip=Git hooks выполняются от пользователя ОС, под которым работает Forgejo. Они будут иметь такой же доступ к хосту. Из-за этого пользователи с правами на Git hook будут иметь возможность получать доступ и модифицировать все репозитории в Forgejo, а также базу данных Forgejo. Следовательно, они также могут получить права администратора Forgejo. users.allow_git_hook_tooltip=Git hooks выполняются от пользователя ОС, под которым работает Forgejo. Они будут иметь такой же доступ к хосту. Из-за этого пользователи с правами на Git hook будут иметь возможность получать доступ и модифицировать все репозитории в Forgejo, а также базу данных Forgejo. Следовательно, они также могут получить права администратора Forgejo.
users.allow_import_local=Может импортировать локальные репозитории users.allow_import_local=Может импортировать локальные репозитории
@ -3470,7 +3473,7 @@ mib = МиБ
gib = ГиБ gib = ГиБ
tib = ТиБ tib = ТиБ
pib = ПиБ pib = ПиБ
eib = ЕиБ eib = ЭиБ
[dropzone] [dropzone]
default_message=Перетащите файл или кликните сюда для загрузки. default_message=Перетащите файл или кликните сюда для загрузки.

View file

@ -21,7 +21,7 @@ user_profile_and_more=පැතිකඩ සහ සැකසුම්…
signed_in_as=ලෙස පිවිසී ඇත signed_in_as=ලෙස පිවිසී ඇත
toc=පටුන toc=පටුන
licenses=බලපත්‍ර licenses=බලපත්‍ර
return_to_gitea=ගිටියා වෙත ආපසු return_to_forgejo=ගිටියා වෙත ආපසු
username=පරිශීලක නාමය username=පරිශීලක නාමය
email=වි-තැපැල් ලිපිනය email=වි-තැපැල් ලිපිනය
@ -1921,7 +1921,7 @@ org_name_holder=සංවිධානයේ නම
org_full_name_holder=සංවිධානයේ සම්පූර්ණ නම org_full_name_holder=සංවිධානයේ සම්පූර්ණ නම
org_name_helper=සංවිධාන නම් කෙටි හා අමතක නොවන විය යුතුය. org_name_helper=සංවිධාන නම් කෙටි හා අමතක නොවන විය යුතුය.
create_org=සංවිධානය සාදන්න create_org=සංවිධානය සාදන්න
repo_updated=යාවත්කාල කෙරිණි repo_updated=යාවත්කාල කෙරිණි %s
members=සාමාජිකයින් members=සාමාජිකයින්
teams=කණ්ඩායම් teams=කණ්ඩායම්
lower_members=සාමාජිකයින් lower_members=සාමාජිකයින්

View file

@ -25,7 +25,7 @@ signed_in_as=Prihlásený ako
enable_javascript=Táto stránka vyžaduje JavaScript. enable_javascript=Táto stránka vyžaduje JavaScript.
toc=Obsah toc=Obsah
licenses=Licencie licenses=Licencie
return_to_gitea=Naspäť do Forgejo return_to_forgejo=Naspäť do Forgejo
username=Používateľské meno username=Používateľské meno
email=Emailová adresa email=Emailová adresa

View file

@ -20,7 +20,7 @@ user_profile_and_more = Profil in nastavitve…
view = Ogled view = Ogled
your_settings = Nastavitve your_settings = Nastavitve
explore = Raziščite explore = Raziščite
return_to_gitea = Vrnitev v Forgejo return_to_forgejo = Vrnitev v Forgejo
write = Napišite write = Napišite
webauthn_error_unknown = Zgodila se je neznana napaka. Prosimo, poskusite znova. webauthn_error_unknown = Zgodila se je neznana napaka. Prosimo, poskusite znova.
webauthn_reload = Ponovno polnjenje webauthn_reload = Ponovno polnjenje

View file

@ -20,7 +20,7 @@ user_profile_and_more=Profil och Inställningar…
signed_in_as=Inloggad som signed_in_as=Inloggad som
toc=Innehållsförteckning toc=Innehållsförteckning
licenses=Licenser licenses=Licenser
return_to_gitea=Återgå till Forgejo return_to_forgejo=Återgå till Forgejo
username=Användarnamn username=Användarnamn
email=E-postadress email=E-postadress
@ -1546,7 +1546,7 @@ org_name_holder=Organisationsnamn
org_full_name_holder=Organisationens Fullständiga Namn org_full_name_holder=Organisationens Fullständiga Namn
org_name_helper=Organisationsnamn bör vara korta och enkla att komma ihåg. org_name_helper=Organisationsnamn bör vara korta och enkla att komma ihåg.
create_org=Skapa organisation create_org=Skapa organisation
repo_updated=Uppdaterad repo_updated=Uppdaterad %s
members=Medlemmar members=Medlemmar
teams=Grupper teams=Grupper
lower_members=medlemmar lower_members=medlemmar

View file

@ -25,7 +25,7 @@ signed_in_as=Giriş yapan:
enable_javascript=Bu web sitesinin çalışması için JavaScript gereklidir. enable_javascript=Bu web sitesinin çalışması için JavaScript gereklidir.
toc=İçindekiler Tablosu toc=İçindekiler Tablosu
licenses=Lisanslar licenses=Lisanslar
return_to_gitea=Forgejo'ya Dön return_to_forgejo=Forgejo'ya Dön
username=Kullanıcı Adı username=Kullanıcı Adı
email=E-posta Adresi email=E-posta Adresi
@ -2591,7 +2591,7 @@ org_name_holder=Organizasyon Adı
org_full_name_holder=Organizasyon Tam Adı org_full_name_holder=Organizasyon Tam Adı
org_name_helper=Organizasyon adları kısa ve hatırlanabilir olmalıdır. org_name_helper=Organizasyon adları kısa ve hatırlanabilir olmalıdır.
create_org=Organizasyon Oluştur create_org=Organizasyon Oluştur
repo_updated=Güncellendi repo_updated=Güncellendi %s
members=Üyeler members=Üyeler
teams=Takımlar teams=Takımlar
code=Kod code=Kod

View file

@ -21,7 +21,7 @@ user_profile_and_more=Профіль і налаштування…
signed_in_as=Увійшов як signed_in_as=Увійшов як
toc=Зміст toc=Зміст
licenses=Ліцензії licenses=Ліцензії
return_to_gitea=Повернутися до Forgejo return_to_forgejo=Повернутися до Forgejo
username=Ім'я кристувача username=Ім'я кристувача
email=Адреса електронної пошти email=Адреса електронної пошти
@ -2078,7 +2078,7 @@ org_name_holder=Назва організації
org_full_name_holder=Повна назва організації org_full_name_holder=Повна назва організації
org_name_helper=Назва організації має бути простою та зрозумілою. org_name_helper=Назва організації має бути простою та зрозумілою.
create_org=Створити організацію create_org=Створити організацію
repo_updated=Оновлено repo_updated=Оновлено %s
members=Учасники members=Учасники
teams=Команди teams=Команди
lower_members=учасники lower_members=учасники

View file

@ -25,7 +25,7 @@ signed_in_as=已登录用户
enable_javascript=此网站需要 JavaScript。 enable_javascript=此网站需要 JavaScript。
toc=目录 toc=目录
licenses=许可证 licenses=许可证
return_to_gitea=返回 Forgejo return_to_forgejo=返回 Forgejo
username=用户名 username=用户名
email=电子邮件地址 email=电子邮件地址
@ -1001,6 +1001,7 @@ update_hints_success = 提示更改成功。
pronouns_custom = 自定义 pronouns_custom = 自定义
pronouns = 代词 pronouns = 代词
pronouns_unspecified = 不指定 pronouns_unspecified = 不指定
language.title = 默认语言
[repo] [repo]
new_repo_helper=代码仓库包含了所有的项目文件,包括版本历史记录。已经在其他地方托管了?<a href="%s">迁移仓库。</a> new_repo_helper=代码仓库包含了所有的项目文件,包括版本历史记录。已经在其他地方托管了?<a href="%s">迁移仓库。</a>
@ -1099,7 +1100,7 @@ blame.ignore_revs.failed=忽略 <a href="%s">.git-blame-ignore-revs</a> 版本
author_search_tooltip=最多显示30个用户 author_search_tooltip=最多显示30个用户
tree_path_not_found_commit=路径%[1]s 在提交 %[2]s 中不存在 tree_path_not_found_commit=路径%[1]s 在提交 %[2]s 中不存在
tree_path_not_found_branch=路径 %[1]s 不存在于分支 %[2]s 中 tree_path_not_found_branch=路径 %[1]s 不存在于分支 %[2]s 中
tree_path_not_found_tag=路径 %[1]s 不存在于标签 %[2]s 中 tree_path_not_found_tag=路径 %[1]s 不存在于标签 %[2]s 中
transfer.accept=接受转移 transfer.accept=接受转移
@ -2749,6 +2750,8 @@ settings.sourcehut_builds.visibility = 作业可见性
settings.matrix.room_id_helper = 房间 ID 可从 Element Web 客户端 > 房间设置 > 高级 > 内部房间 ID 获得。例如:%s。 settings.matrix.room_id_helper = 房间 ID 可从 Element Web 客户端 > 房间设置 > 高级 > 内部房间 ID 获得。例如:%s。
release.hide_archive_links_helper = 为此版本发布隐藏自动生成的源代码存档。例如,如果您准备自行上传。 release.hide_archive_links_helper = 为此版本发布隐藏自动生成的源代码存档。例如,如果您准备自行上传。
release.hide_archive_links = 隐藏自动生成的存档 release.hide_archive_links = 隐藏自动生成的存档
settings.transfer.modal.title = 转移所有权
settings.transfer.button = 转移所有权
[graphs] [graphs]
component_loading=正在加载 %s... component_loading=正在加载 %s...
@ -2764,7 +2767,7 @@ org_name_holder=组织名称
org_full_name_holder=组织全名 org_full_name_holder=组织全名
org_name_helper=组织名字应该简单明了。 org_name_helper=组织名字应该简单明了。
create_org=创建组织 create_org=创建组织
repo_updated=最后更新于 repo_updated=于 %s 更新
members=成员 members=成员
teams=团队 teams=团队
code=代码 code=代码

View file

@ -71,7 +71,7 @@ user_profile_and_more = 個人資料同埋設定…
signed_in_as = 已經登入 signed_in_as = 已經登入
toc = 目錄 toc = 目錄
licenses = 軟件授權 licenses = 軟件授權
return_to_gitea = 返來 Forgejo return_to_forgejo = 返來 Forgejo
username = 用戶名 username = 用戶名
captcha = 驗證碼 captcha = 驗證碼
toggle_menu = 切換選單 toggle_menu = 切換選單
@ -676,7 +676,7 @@ release.downloads=下載附件
org_name_holder=組織名稱 org_name_holder=組織名稱
org_full_name_holder=組織全名 org_full_name_holder=組織全名
create_org=建立組織 create_org=建立組織
repo_updated=最後更新於 repo_updated=最後更新於 %s
members=成員數 members=成員數
teams=組織團隊 teams=組織團隊
lower_members=名成員 lower_members=名成員

View file

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

8
poetry.lock generated
View file

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. # This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
[[package]] [[package]]
name = "click" name = "click"
@ -336,13 +336,13 @@ files = [
[[package]] [[package]]
name = "tqdm" name = "tqdm"
version = "4.66.2" version = "4.66.4"
description = "Fast, Extensible Progress Meter" description = "Fast, Extensible Progress Meter"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
{file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, {file = "tqdm-4.66.4-py3-none-any.whl", hash = "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644"},
{file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, {file = "tqdm-4.66.4.tar.gz", hash = "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"},
] ]
[package.dependencies] [package.dependencies]

View file

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

View file

@ -1 +0,0 @@
Settings: OAuth2 applications: Consistently check input on client side

View file

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

View file

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

View file

@ -0,0 +1 @@
Implement a non-caching version of the [RubyGems compact API](https://guides.rubygems.org/rubygems-org-compact-index-api/) for bundler dependency resolution.

View file

@ -0,0 +1 @@
Neutralize delete runners' UUID to prevent collisions with new records

View file

@ -0,0 +1 @@
Parse prefix parameter from redis URI for queues and use that as prefix to keys

View file

@ -0,0 +1,3 @@
Basic wiki content search using git-grep
- The search results include the first ten matched files
- Only the first three matches per file are displayed

View file

@ -1 +0,0 @@
Fixed a bug where API endpoints that return a `Repository` did not properly include the repository's object format.

View file

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

View file

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

View file

@ -1,2 +1 @@
- [PR](https://github.com/go-gitea/gitea/pull/30912): when adopting a repository, the default branch is not taken into account
- [PR](https://github.com/go-gitea/gitea/pull/30715): pull request search shows closed pull requests in the open tab - [PR](https://github.com/go-gitea/gitea/pull/30715): pull request search shows closed pull requests in the open tab

View file

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

View file

@ -1 +0,0 @@
- backticks in [mermaid](https://mermaid.js.org/) block diagram labels [are not sanitized properly](https://github.com/mermaid-js/mermaid/commit/c7fe9a646574597adefe3e6fb2b3707112a151aa)

View file

@ -586,6 +586,8 @@ func CommonRoutes() *web.Route {
r.Get("/specs.4.8.gz", rubygems.EnumeratePackages) r.Get("/specs.4.8.gz", rubygems.EnumeratePackages)
r.Get("/latest_specs.4.8.gz", rubygems.EnumeratePackagesLatest) r.Get("/latest_specs.4.8.gz", rubygems.EnumeratePackagesLatest)
r.Get("/prerelease_specs.4.8.gz", rubygems.EnumeratePackagesPreRelease) r.Get("/prerelease_specs.4.8.gz", rubygems.EnumeratePackagesPreRelease)
r.Get("/info/{package}", rubygems.ServePackageInfo)
r.Get("/versions", rubygems.ServeVersionsFile)
r.Get("/quick/Marshal.4.8/{filename}", rubygems.ServePackageSpecification) r.Get("/quick/Marshal.4.8/{filename}", rubygems.ServePackageSpecification)
r.Get("/gems/{filename}", rubygems.DownloadPackageFile) r.Get("/gems/{filename}", rubygems.DownloadPackageFile)
r.Group("/api/v1/gems", func() { r.Group("/api/v1/gems", func() {

View file

@ -6,6 +6,7 @@ package rubygems
import ( import (
"compress/gzip" "compress/gzip"
"compress/zlib" "compress/zlib"
"crypto/md5"
"errors" "errors"
"fmt" "fmt"
"io" "io"
@ -22,6 +23,10 @@ import (
packages_service "code.gitea.io/gitea/services/packages" packages_service "code.gitea.io/gitea/services/packages"
) )
const (
Sep = "---\n"
)
func apiError(ctx *context.Context, status int, obj any) { func apiError(ctx *context.Context, status int, obj any) {
helper.LogAndProcessError(ctx, status, obj, func(message string) { helper.LogAndProcessError(ctx, status, obj, func(message string) {
ctx.PlainText(status, message) ctx.PlainText(status, message)
@ -92,6 +97,69 @@ func enumeratePackages(ctx *context.Context, filename string, pvs []*packages_mo
} }
} }
// Serves info file for rubygems.org compatible /info/{gem} file.
// See also https://guides.rubygems.org/rubygems-org-compact-index-api/.
func ServePackageInfo(ctx *context.Context) {
packageName := ctx.Params("package")
versions, err := packages_model.GetVersionsByPackageName(
ctx, ctx.Package.Owner.ID, packages_model.TypeRubyGems, packageName)
if err != nil {
apiError(ctx, http.StatusInternalServerError, err)
}
if len(versions) == 0 {
apiError(ctx, http.StatusNotFound, fmt.Sprintf("Could not find package %s", packageName))
}
result, err := buildInfoFileForPackage(ctx, versions)
if err != nil {
apiError(ctx, http.StatusInternalServerError, err)
return
}
ctx.PlainText(http.StatusOK, *result)
}
// ServeVersionsFile creates rubygems.org compatible /versions file.
// See also https://guides.rubygems.org/rubygems-org-compact-index-api/.
func ServeVersionsFile(ctx *context.Context) {
packages, err := packages_model.GetPackagesByType(
ctx, ctx.Package.Owner.ID, packages_model.TypeRubyGems)
if err != nil {
apiError(ctx, http.StatusInternalServerError, err)
return
}
result := new(strings.Builder)
result.WriteString(Sep)
for _, pack := range packages {
versions, err := packages_model.GetVersionsByPackageName(
ctx, ctx.Package.Owner.ID, packages_model.TypeRubyGems, pack.Name)
if err != nil {
apiError(ctx, http.StatusInternalServerError, err)
}
if len(versions) == 0 {
// No versions left for this package, we should continue.
continue
}
fmt.Fprintf(result, "%s ", pack.Name)
for i, v := range versions {
result.WriteString(v.Version)
if i != len(versions)-1 {
result.WriteString(",")
}
}
info, err := buildInfoFileForPackage(ctx, versions)
if err != nil {
apiError(ctx, http.StatusInternalServerError, err)
}
checksum := md5.Sum([]byte(*info))
fmt.Fprintf(result, " %x\n", checksum)
}
ctx.PlainText(http.StatusOK, result.String())
}
// ServePackageSpecification serves the compressed Gemspec file of a package // ServePackageSpecification serves the compressed Gemspec file of a package
func ServePackageSpecification(ctx *context.Context) { func ServePackageSpecification(ctx *context.Context) {
filename := ctx.Params("filename") filename := ctx.Params("filename")
@ -227,12 +295,7 @@ func UploadPackageFile(ctx *context.Context) {
return return
} }
var filename string filename := getFullFilename(rp.Name, rp.Version, rp.Metadata.Platform)
if rp.Metadata.Platform == "" || rp.Metadata.Platform == "ruby" {
filename = strings.ToLower(fmt.Sprintf("%s-%s.gem", rp.Name, rp.Version))
} else {
filename = strings.ToLower(fmt.Sprintf("%s-%s-%s.gem", rp.Name, rp.Version, rp.Metadata.Platform))
}
_, _, err = packages_service.CreatePackageAndAddFile( _, _, err = packages_service.CreatePackageAndAddFile(
ctx, ctx,
@ -300,6 +363,83 @@ func DeletePackage(ctx *context.Context) {
} }
} }
func writeRequirements(reqs []rubygems_module.VersionRequirement, result *strings.Builder) {
if len(reqs) == 0 {
reqs = []rubygems_module.VersionRequirement{{Restriction: ">=", Version: "0"}}
}
for i, req := range reqs {
if i != 0 {
result.WriteString("&")
}
result.WriteString(req.Restriction)
result.WriteString(" ")
result.WriteString(req.Version)
}
}
func buildRequirementStringFromVersion(ctx *context.Context, version *packages_model.PackageVersion) (string, error) {
pd, err := packages_model.GetPackageDescriptor(ctx, version)
if err != nil {
return "", err
}
metadata := pd.Metadata.(*rubygems_module.Metadata)
dependencyRequirements := new(strings.Builder)
for i, dep := range metadata.RuntimeDependencies {
if i != 0 {
dependencyRequirements.WriteString(",")
}
dependencyRequirements.WriteString(dep.Name)
dependencyRequirements.WriteString(":")
reqs := dep.Version
writeRequirements(reqs, dependencyRequirements)
}
fullname := getFullFilename(pd.Package.Name, version.Version, metadata.Platform)
file, err := packages_model.GetFileForVersionByName(ctx, version.ID, fullname, "")
if err != nil {
return "", err
}
blob, err := packages_model.GetBlobByID(ctx, file.BlobID)
if err != nil {
return "", err
}
additionalRequirements := new(strings.Builder)
fmt.Fprintf(additionalRequirements, "checksum:%s", blob.HashSHA256)
if len(metadata.RequiredRubyVersion) != 0 {
additionalRequirements.WriteString(",ruby:")
writeRequirements(metadata.RequiredRubyVersion, additionalRequirements)
}
if len(metadata.RequiredRubygemsVersion) != 0 {
additionalRequirements.WriteString(",rubygems:")
writeRequirements(metadata.RequiredRubygemsVersion, additionalRequirements)
}
return fmt.Sprintf("%s %s|%s", version.Version, dependencyRequirements, additionalRequirements), nil
}
func buildInfoFileForPackage(ctx *context.Context, versions []*packages_model.PackageVersion) (*string, error) {
result := "---\n"
for _, v := range versions {
str, err := buildRequirementStringFromVersion(ctx, v)
if err != nil {
return nil, err
}
result += str
result += "\n"
}
return &result, nil
}
func getFullFilename(gemName, version, platform string) string {
return strings.ToLower(getFullName(gemName, version, platform)) + ".gem"
}
func getFullName(gemName, version, platform string) string {
if platform == "" || platform == "ruby" {
return fmt.Sprintf("%s-%s", gemName, version)
}
return fmt.Sprintf("%s-%s-%s", gemName, version, platform)
}
func getVersionsByFilename(ctx *context.Context, filename string) ([]*packages_model.PackageVersion, error) { func getVersionsByFilename(ctx *context.Context, filename string) ([]*packages_model.PackageVersion, error) {
pvs, _, err := packages_model.SearchVersions(ctx, &packages_model.PackageSearchOptions{ pvs, _, err := packages_model.SearchVersions(ctx, &packages_model.PackageSearchOptions{
OwnerID: ctx.Package.Owner.ID, OwnerID: ctx.Package.Owner.ID,

View file

@ -46,6 +46,7 @@ func UpdateAvatar(ctx *context.APIContext) {
err = user_service.UploadAvatar(ctx, ctx.Org.Organization.AsUser(), content) err = user_service.UploadAvatar(ctx, ctx.Org.Organization.AsUser(), content)
if err != nil { if err != nil {
ctx.Error(http.StatusInternalServerError, "UploadAvatar", err) ctx.Error(http.StatusInternalServerError, "UploadAvatar", err)
return
} }
ctx.Status(http.StatusNoContent) ctx.Status(http.StatusNoContent)
@ -72,6 +73,7 @@ func DeleteAvatar(ctx *context.APIContext) {
err := user_service.DeleteAvatar(ctx, ctx.Org.Organization.AsUser()) err := user_service.DeleteAvatar(ctx, ctx.Org.Organization.AsUser())
if err != nil { if err != nil {
ctx.Error(http.StatusInternalServerError, "DeleteAvatar", err) ctx.Error(http.StatusInternalServerError, "DeleteAvatar", err)
return
} }
ctx.Status(http.StatusNoContent) ctx.Status(http.StatusNoContent)

View file

@ -5,7 +5,9 @@
package repo package repo
import ( import (
"fmt"
"net/http" "net/http"
"reflect"
issues_model "code.gitea.io/gitea/models/issues" issues_model "code.gitea.io/gitea/models/issues"
api "code.gitea.io/gitea/modules/structs" api "code.gitea.io/gitea/modules/structs"
@ -337,7 +339,32 @@ func prepareForReplaceOrAdd(ctx *context.APIContext, form api.IssueLabelsOption)
return nil, nil, err return nil, nil, err
} }
labels, err := issues_model.GetLabelsByIDs(ctx, form.Labels, "id", "repo_id", "org_id", "name", "exclusive") var (
labelIDs []int64
labelNames []string
)
for _, label := range form.Labels {
rv := reflect.ValueOf(label)
switch rv.Kind() {
case reflect.Float64:
labelIDs = append(labelIDs, int64(rv.Float()))
case reflect.String:
labelNames = append(labelNames, rv.String())
}
}
if len(labelIDs) > 0 && len(labelNames) > 0 {
ctx.Error(http.StatusBadRequest, "InvalidLabels", "labels should be an array of strings or integers")
return nil, nil, fmt.Errorf("invalid labels")
}
if len(labelNames) > 0 {
labelIDs, err = issues_model.GetLabelIDsInRepoByNames(ctx, ctx.Repo.Repository.ID, labelNames)
if err != nil {
ctx.Error(http.StatusInternalServerError, "GetLabelIDsInRepoByNames", err)
return nil, nil, err
}
}
labels, err := issues_model.GetLabelsByIDs(ctx, labelIDs, "id", "repo_id", "org_id", "name", "exclusive")
if err != nil { if err != nil {
ctx.Error(http.StatusInternalServerError, "GetLabelsByIDs", err) ctx.Error(http.StatusInternalServerError, "GetLabelsByIDs", err)
return nil, nil, err return nil, nil, err

View file

@ -215,6 +215,9 @@ func CreateRelease(ctx *context.APIContext) {
// "$ref": "#/responses/notFound" // "$ref": "#/responses/notFound"
// "409": // "409":
// "$ref": "#/responses/error" // "$ref": "#/responses/error"
// "422":
// "$ref": "#/responses/validationError"
form := web.GetForm(ctx).(*api.CreateReleaseOption) form := web.GetForm(ctx).(*api.CreateReleaseOption)
if ctx.Repo.Repository.IsEmpty { if ctx.Repo.Repository.IsEmpty {
ctx.Error(http.StatusUnprocessableEntity, "RepoIsEmpty", fmt.Errorf("repo is empty")) ctx.Error(http.StatusUnprocessableEntity, "RepoIsEmpty", fmt.Errorf("repo is empty"))
@ -247,6 +250,8 @@ func CreateRelease(ctx *context.APIContext) {
if err := release_service.CreateRelease(ctx.Repo.GitRepo, rel, nil, ""); err != nil { if err := release_service.CreateRelease(ctx.Repo.GitRepo, rel, nil, ""); err != nil {
if repo_model.IsErrReleaseAlreadyExist(err) { if repo_model.IsErrReleaseAlreadyExist(err) {
ctx.Error(http.StatusConflict, "ReleaseAlreadyExist", err) ctx.Error(http.StatusConflict, "ReleaseAlreadyExist", err)
} else if models.IsErrProtectedTagName(err) {
ctx.Error(http.StatusUnprocessableEntity, "ProtectedTagName", err)
} else { } else {
ctx.Error(http.StatusInternalServerError, "CreateRelease", err) ctx.Error(http.StatusInternalServerError, "CreateRelease", err)
} }
@ -391,8 +396,8 @@ func DeleteRelease(ctx *context.APIContext) {
// "$ref": "#/responses/empty" // "$ref": "#/responses/empty"
// "404": // "404":
// "$ref": "#/responses/notFound" // "$ref": "#/responses/notFound"
// "405": // "422":
// "$ref": "#/responses/empty" // "$ref": "#/responses/validationError"
id := ctx.ParamsInt64(":id") id := ctx.ParamsInt64(":id")
rel, err := repo_model.GetReleaseForRepoByID(ctx, ctx.Repo.Repository.ID, id) rel, err := repo_model.GetReleaseForRepoByID(ctx, ctx.Repo.Repository.ID, id)
@ -406,7 +411,7 @@ func DeleteRelease(ctx *context.APIContext) {
} }
if err := release_service.DeleteReleaseByID(ctx, ctx.Repo.Repository, rel, ctx.Doer, false); err != nil { if err := release_service.DeleteReleaseByID(ctx, ctx.Repo.Repository, rel, ctx.Doer, false); err != nil {
if models.IsErrProtectedTagName(err) { if models.IsErrProtectedTagName(err) {
ctx.Error(http.StatusMethodNotAllowed, "delTag", "user not allowed to delete protected tag") ctx.Error(http.StatusUnprocessableEntity, "delTag", "user not allowed to delete protected tag")
return return
} }
ctx.Error(http.StatusInternalServerError, "DeleteReleaseByID", err) ctx.Error(http.StatusInternalServerError, "DeleteReleaseByID", err)

View file

@ -92,8 +92,8 @@ func DeleteReleaseByTag(ctx *context.APIContext) {
// "$ref": "#/responses/empty" // "$ref": "#/responses/empty"
// "404": // "404":
// "$ref": "#/responses/notFound" // "$ref": "#/responses/notFound"
// "405": // "422":
// "$ref": "#/responses/empty" // "$ref": "#/responses/validationError"
tag := ctx.Params(":tag") tag := ctx.Params(":tag")
@ -114,7 +114,7 @@ func DeleteReleaseByTag(ctx *context.APIContext) {
if err = releaseservice.DeleteReleaseByID(ctx, ctx.Repo.Repository, release, ctx.Doer, false); err != nil { if err = releaseservice.DeleteReleaseByID(ctx, ctx.Repo.Repository, release, ctx.Doer, false); err != nil {
if models.IsErrProtectedTagName(err) { if models.IsErrProtectedTagName(err) {
ctx.Error(http.StatusMethodNotAllowed, "delTag", "user not allowed to delete protected tag") ctx.Error(http.StatusUnprocessableEntity, "delTag", "user not allowed to delete protected tag")
return return
} }
ctx.Error(http.StatusInternalServerError, "DeleteReleaseByID", err) ctx.Error(http.StatusInternalServerError, "DeleteReleaseByID", err)

View file

@ -1072,16 +1072,10 @@ func updateRepoArchivedState(ctx *context.APIContext, opts api.EditRepoOption) e
func updateMirror(ctx *context.APIContext, opts api.EditRepoOption) error { func updateMirror(ctx *context.APIContext, opts api.EditRepoOption) error {
repo := ctx.Repo.Repository repo := ctx.Repo.Repository
// only update mirror if interval or enable prune are provided // Skip this update if the repo is not a mirror, do not return error.
if opts.MirrorInterval == nil && opts.EnablePrune == nil { // Because reporting errors only makes the logic more complex&fragile, it doesn't really help end users.
return nil
}
// these values only make sense if the repo is a mirror
if !repo.IsMirror { if !repo.IsMirror {
err := fmt.Errorf("repo is not a mirror, can not change mirror interval") return nil
ctx.Error(http.StatusUnprocessableEntity, err.Error(), err)
return err
} }
// get the mirror from the repo // get the mirror from the repo

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