Compare commits

...

95 Commits

Author SHA1 Message Date
yystopf c04df49a78 Merge branch 'develop' 2024-03-05 14:41:24 +08:00
songjc 56ce54cb33 refactor: delete .devops/脚本执行器.yml 2023-11-10 09:54:25 +08:00
songjc 56e8423365 feat: .devops/脚本执行器.yml 2023-11-10 09:54:05 +08:00
xxq250 de2fd01271 fixed 当目录中有子模块子代码且找不到commitid的情况下报错处理 2023-10-12 10:24:45 +08:00
xxq250 749066ec62 禁止个人修改用户名 2023-10-10 16:01:51 +08:00
xxq250 18d8bddc8b Merge remote-tracking branch 'origin/develop' into develop 2023-10-10 14:00:15 +08:00
xxq250 5fc9cd0e50 获取文件内容增加文件是否文本标识 2023-10-10 14:00:09 +08:00
xxq250 60664dab9e refactor: .devops/gitlink正式环境.yml 2023-07-18 17:05:16 +08:00
xxq250 ad83be94bc Update README.md 2023-07-18 16:25:31 +08:00
xxq250 c50e8fb43e Update README.md 2023-07-18 16:21:17 +08:00
xxq250 f608d1e5fc Merge pull request '20230218版本' (#6) from develop into master 2023-07-18 16:19:19 +08:00
xxq250 2e99c5cd31 Update README.md 2023-07-18 16:14:40 +08:00
xxq250 555994308b Update README.md 2023-07-18 16:13:31 +08:00
xxq250 f6ce389d6c gitea admin cmd 2023-06-14 09:43:39 +08:00
xxqfamous 6ceb249c13 Dockerfile GOPROXY 2023-05-24 09:29:32 +08:00
xxqfamous 102cf582f0 Dockerfile wget 2023-05-23 18:29:59 +08:00
xxqfamous 93e71d7800 Dockerfile 2023-05-23 18:26:04 +08:00
xxqfamous ebf898c297 Dockerfile 2023-05-23 18:17:57 +08:00
xxqfamous bffe0ca1b7 重新梳理打包,加入options,public,templates 2023-05-23 16:26:28 +08:00
xxqfamous 49efd7598a 贡献者仅匹配邮箱计算 2023-05-18 17:49:18 +08:00
xxq250 18d236f50f 国际化reset 2023-05-12 17:58:01 +08:00
xxq250 a868cce758 国际化 2023-05-12 17:25:36 +08:00
xxq250 b593911114 国际化 2023-05-12 16:27:25 +08:00
xxq250 3872146a9d commit增加参数stat提高性能 2023-05-05 14:52:20 +08:00
yystopf d70d74a2ae 更改:使用gitcmd保证不会broken 2023-04-17 11:11:59 +08:00
yystopf f513d462e5 新增:贡献者代码行接口 2023-04-17 10:38:18 +08:00
yystopf be7299a09d refactor: .devops/gitlink正式环境.yml 2023-04-17 10:08:13 +08:00
yystopf c1d4bdbab0 refactor: .devops/testgitea环境.yml 2023-04-11 18:03:29 +08:00
yystopf 9614d81c9a refactor: .devops/testgitea环境.yml 2023-04-11 16:58:54 +08:00
yystopf 357d28a2c9 更改:testgitea更新流水线文件 2023-04-11 09:47:23 +08:00
yystopf 3e2d43ab77 更改:testgitea更新流水线文件 2023-04-11 09:42:44 +08:00
yystopf 0828f86077 refactor: .devops/gitlink正式环境.yml 2023-04-11 09:26:24 +08:00
yystopf cf1341d559 feat: .devops/gitlink正式环境.yml 2023-04-08 13:15:03 +08:00
yystopf a350f16c89 Merge pull request 'v1.18.5版本更新' (#5) from develop into master 2023-03-30 14:47:59 +08:00
yystopf 552ea3e101 新增: webhook类型softbot 2023-03-30 11:45:30 +08:00
yystopf 7968d1ad46 更改:readme显示顺序 2023-03-30 11:26:20 +08:00
yystopf 36b8cb828c 修复:files特殊符号无法正常加载 2023-03-29 09:55:57 +08:00
yystopf e1d71eeea2 修复:contents 特殊符号加载失败 2023-03-28 17:31:33 +08:00
yystopf 5ead9a2271 新增:readme中文增加一条规则以及用户贡献占比 2023-03-28 14:14:49 +08:00
yystopf d101c834d8 修复:标签为空返回空数组,以及分支查询参数 2023-03-21 18:16:52 +08:00
yystopf ef95802907 修复:files接口无法正确加载 2023-03-20 10:01:03 +08:00
yystopf a8c396aef6 修复:shortlog 使用all 2023-03-17 11:01:53 +08:00
yystopf bc2c836cf1 新增:submodule为nil判断 2023-03-17 10:27:46 +08:00
yystopf 4f2b053d16 修改 2023-03-17 10:09:58 +08:00
yystopf d7bd567e6e 新增:testgitea2流水线 2023-03-17 10:05:39 +08:00
yystopf a1ebd11fc8 feat: .devops/testgitea2.yml 2023-03-17 09:54:35 +08:00
yystopf 3e0ac8ad78 修复 2023-03-15 18:09:42 +08:00
yystopf 65171d0bf7 更改:readme无后缀也显示 2023-03-15 17:59:02 +08:00
yystopf 12416d75df 更改:底层gitea版本为v1.18.5以及web页面更新 2023-03-14 17:43:19 +08:00
yystopf a03b918c78 Merge pull request '1.19.0-dev版本' (#4) from develop into master 2023-03-14 16:38:42 +08:00
yystopf 439626df6f Merge branch 'develop' of https://gitlink.org.cn/Gitlink/gitea_hat into develop 2023-03-07 15:21:12 +08:00
yystopf 89651b74ca 修复:合并请求指派人员无法正常更新 2023-03-07 15:20:46 +08:00
yystopf 4631a393bd Merge pull request '更改贡献者效率以及webhook更新http_method支持' (#3) from yystopf/gitea_hat:develop into develop 2023-02-28 14:19:14 +08:00
yystopf 3cbba6e36f 新增:webhook编辑支持http_method 2023-02-28 14:16:46 +08:00
yystopf dc9cd9e168 新增:贡献者新方案解决效率 2023-02-28 10:48:49 +08:00
yystopf 3925862c78 Merge pull request '修复gitRepo为nil报错的问题' (#2) from yystopf/gitea_hat:develop into develop 2023-02-23 13:59:04 +08:00
yystopf ab66f7a4de 修复:gitrepo nil 问题 2023-02-23 13:57:38 +08:00
yystopf 9189a65bea Merge pull request '仓库详情页测试及修改' (#1) from yystopf/gitea_hat:develop into develop 2023-02-23 11:36:42 +08:00
yystopf 4df80116dc 更改:贡献者获取规则 2023-02-23 11:31:57 +08:00
yystopf a1099096cb 新增:分支列表接口支持搜索参数 2023-02-23 09:47:54 +08:00
yystopf b83c3eabc9 新增:木兰协议 2023-02-22 17:44:38 +08:00
yystopf ac55b051f8 修复 2023-02-03 16:10:58 +08:00
yystopf 544386cbb4 修复:contributors接口数据为空返回空数组 2023-02-02 15:25:31 +08:00
yystopf 9033d59c99 修复:branch slice接口无法正常访问 2023-02-02 15:19:17 +08:00
yystopf a032635665 修复:邮箱匹配规则更改 2023-02-02 14:48:46 +08:00
yystopf 98d687ab3f 更新:流水线配置文件 2023-02-02 11:52:49 +08:00
yystopf 40141b10f6 更新:流水线配置文件 2023-02-02 11:33:51 +08:00
yystopf c22f20cc89 feat: .devops/testgitea环境.yml 2023-02-02 11:28:44 +08:00
yystopf 162ed35ac4 新增:仓库代码贡献情况接口 2023-02-02 10:56:41 +08:00
yystopf c556386422 修复 2023-01-12 17:20:45 +08:00
yystopf 1983c14386 修复:空指针异常以及diff信息返回 2023-01-12 17:10:48 +08:00
yystopf 6fe8614ffe 新增:组织团队新增全部项目和移除全部项目接口 2023-01-12 15:37:32 +08:00
yystopf b578e5b990 新增:创建版本逻辑 2023-01-11 16:38:59 +08:00
yystopf dc6b0413da 新增:系统钩子来捕捉pr提交 2023-01-11 15:37:25 +08:00
yystopf 7ebd069424 新增:合并请求版本管理任务 2023-01-10 19:05:35 +08:00
yystopf a129d256ea 新增:合并请求版本相关接口 2023-01-09 11:51:32 +08:00
yystopf 647d775a0b 新增:合并请求版本模型 2023-01-06 18:37:33 +08:00
yystopf 0883f29c1c 新增:搜索文件接口 2023-01-04 17:52:48 +08:00
yystopf 53a2245a73 新增:批量更改文件接口 2023-01-04 16:27:22 +08:00
yystopf a6a662c6e3 更改:blame接口响应结构体 2023-01-03 11:43:37 +08:00
yystopf 484a4ce01a 新增:获取仓库blame内容接口 2023-01-03 11:41:57 +08:00
yystopf 64352810b1 更改:wiki名称不使用normalizeWikiName 2022-12-29 16:51:41 +08:00
yystopf 2fb40f7877 新增:获取分支、标签数量接口 2022-12-29 15:52:38 +08:00
yystopf f625463cf9 更改:获取wiki详情内容实用blackfriday 2022-12-29 15:34:54 +08:00
yystopf 15018595fe 新增:直接迁移项目接口 2022-12-28 15:35:23 +08:00
yystopf 6973f230e6 新增:获取webhook推送历史接口 2022-12-27 16:54:49 +08:00
yystopf be7e6c1551 新增:创建webhook接口 2022-12-27 14:49:16 +08:00
yystopf 966797489d 新增:获取commit下diff内容 2022-12-26 14:48:17 +08:00
yystopf f1088ea158 新增:commit详情加载分支信息 2022-12-26 10:10:06 +08:00
yystopf 5fa04a24db 新增:获取仓库下所有文件文件夹内容(包含最后一次commit信息) 2022-12-23 17:57:04 +08:00
yystopf 7cadb49770 新增:更新用户接口 2022-12-22 14:28:33 +08:00
yystopf 34f7949c09 新增:更新组织接口 2022-12-22 10:37:37 +08:00
yystopf 5924aa5c45 新增:发行版返回sha 2022-12-21 17:18:56 +08:00
yystopf b18906605a 新增:用户提交次数分布api(按时间) 2022-12-20 18:16:44 +08:00
yystopf 2f56447e7a 更改:底层gitea版本为v1.19.0-dev 2022-12-14 15:46:15 +08:00
546 changed files with 36787 additions and 8691 deletions

View File

@ -0,0 +1,68 @@
version: 2
name: gitlink正式环境
description: ""
global:
concurrent: 1
workflow:
- ref: start
name: 开始
task: start
- ref: git_clone_0
name: git clone
on-failure: ignore
task: git_clone@1.2.6
input:
remote_url: '"https://gitlink.org.cn/Gitlink/gitea_hat.git"'
ref: '"refs/heads/master"'
commit_id: '""'
depth: 1
needs:
- start
- ref: end
name: 结束
task: end
needs:
- gitlink_ssh_cmd_0
- ref: gitlink_scp_resource_0
name: scp复制文件支持跳板机
on-failure: ignore
task: yystopf/gitlink_scp_resource@0.0.7
input:
ssh_private_key: ((ssh.siyao))
remote_host: '"10.9.117.109"'
remote_port: '"22"'
remote_user: '"root"'
remote_file: '"/root/gitea"'
local_file: golang_build_node_0.bin_dir
gateway_host: '"123.59.135.93"'
gateway_port: '"51123"'
gateway_user: '"pdl"'
temp_file: '"/home/pdl/gitea"'
needs:
- golang_build_node_0
- ref: golang_build_node_0
name: golang_build_node
on-failure: ignore
task: yystopf/golang_build_node@0.0.2
input:
workspace: git_clone_0.git_path
out_bin_name: '"gitea"'
goos: '"linux"'
goarch: '"amd64"'
needs:
- git_clone_0
- ref: gitlink_ssh_cmd_0
name: ssh执行命令支持跳板机
task: yystopf/gitlink_ssh_cmd@0.0.6
input:
ssh_private_key: ((ssh.siyao))
remote_host: '"10.9.117.109"'
remote_port: '"22"'
remote_user: '"root"'
gateway_host: '"123.59.135.93"'
gateway_port: '"51123"'
gateway_user: '"pdl"'
ssh_cmd: '"sh update.sh"'
needs:
- gitlink_scp_resource_0

40
.devops/testgitea2.yml Normal file
View File

@ -0,0 +1,40 @@
version: 2
name: testgitea2
description: ""
global:
concurrent: 1
trigger:
webhook: gitlink@1.0.0
event:
- ref: push
ruleset:
- param-ref: branch
operator: EQ
value: '"develop"'
ruleset-operator: AND
workflow:
- ref: start
name: 开始
task: start
- ref: ssh_cmd_0
name: ssh执行命令
task: ssh_cmd@1.1.0
input:
ssh_private_key: ((ssh.siyao))
ssh_ip: '"123.59.135.93"'
ssh_port: '"51123"'
ssh_user: '"pdl"'
ssh_cmd: '"ssh root@10.9.101.74 -p22 \"
cd /root
&&
sh ./update.sh
&&
echo done \""'
needs:
- start
- ref: end
name: 结束
task: end
needs:
- ssh_cmd_0

View File

@ -0,0 +1,77 @@
version: 2
name: testgitea环境
description: ""
global:
concurrent: 1
trigger:
webhook: gitlink@1.0.0
event:
- ref: push
ruleset:
- param-ref: branch
operator: EQ
value: '"feature"'
ruleset-operator: AND
workflow:
- ref: start
name: 开始
task: start
- ref: git_clone_0
name: git clone
on-failure: ignore
task: git_clone@1.2.6
input:
remote_url: '"https://gitlink.org.cn/Gitlink/gitea_hat.git"'
ref: '"refs/heads/feature"'
commit_id: '""'
depth: 1
needs:
- start
- ref: golang_build_node_0
name: golang_build_node
on-failure: ignore
task: yystopf/golang_build_node@0.0.2
input:
workspace: git_clone_0.git_path
out_bin_name: '"gitea"'
goos: '"linux"'
goarch: '"amd64"'
needs:
- git_clone_0
- ref: gitlink_scp_resource_0
name: scp复制文件支持跳板机
on-failure: ignore
task: yystopf/gitlink_scp_resource@0.0.7
input:
ssh_private_key: ((ssh.siyao))
remote_host: '"10.9.69.134"'
remote_port: '"30122"'
remote_user: '"root"'
remote_file: '"/root/gitea"'
local_file: golang_build_node_0.bin_dir
gateway_host: '"123.59.135.93"'
gateway_port: '"51123"'
gateway_user: '"pdl"'
temp_file: '"/home/pdl/gitea"'
needs:
- golang_build_node_0
- ref: gitlink_ssh_cmd_0
name: ssh执行命令支持跳板机
task: yystopf/gitlink_ssh_cmd@0.0.6
input:
ssh_private_key: ((ssh.siyao))
remote_host: '"10.9.69.134"'
remote_port: '"30122"'
remote_user: '"root"'
gateway_host: '"123.59.135.93"'
gateway_port: '"51123"'
gateway_user: '"pdl"'
ssh_cmd: '"sh update.sh"'
needs:
- gitlink_scp_resource_0
- ref: end
name: 结束
task: end
needs:
- gitlink_ssh_cmd_0

13
Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM bitnami/git:latest
RUN sed -i 's/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
RUN apt update
RUN apt install -y vim nano curl wget
RUN wget --no-check-certificate https://go.dev/dl/go1.20.4.linux-amd64.tar.gz
RUN tar -C /usr/local -xzf go1.20.4.linux-amd64.tar.gz
ENV PATH=$PATH:/usr/local/go/bin
RUN go version
RUN go env -w GOPROXY=https://goproxy.cn
ADD ./ /gitea_hat/
RUN cd /gitea_hat/ && ls -lh && sh build.sh
#/gitea_hat/gitea_hat admin user create --username root --password 123456 --email root@forge.com --admin

161
README.md
View File

@ -1,77 +1,84 @@
<p align="center">
<a href="" rel="noopener">
<img
width=360px
height=62px
src="https://forum.trustie.net/api/attachments/373016"
alt="Project logo"
style="background-color: #1b2440">
</a>
</p>
<h3 align="center">Gitea GitLink版本</h3>
<div align="center">
[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![GitLink Issues](https://img.shields.io/github/issues/kylelobo/The-Documentation-Compendium.svg)](https://www.gitlink.org.cn/Gitlink/gitea_hat/issues)
[![GitLink Pull Requests](https://img.shields.io/github/issues-pr/kylelobo/The-Documentation-Compendium.svg)](https://www.gitlink.org.cn/Gitlink/gitea_hat/pulls)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)
</div>
---
<p align="center"> 此版本为GitLink平台使用的Git服务该服务基于Gitea进行开发。
<br>
</p>
- [🧐 关于](#-关于)
- [编译](#编译)
- [运行](#运行)
- [接口文档](#接口文档)
- [⛏️ 使用](#-使用)
## 🧐 关于
该项目是为了方便平台后续Gitea版本的升级将个性化接口部分从Gitea中抽离出来的项目模块定义遵循Gitea规则目前基于Gitea v1.17.3版本。
## 编译
类Linux平台在项目根目录运行
```shell
# 编译Linux 64位可执行程序
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o gitea main.go
# 编译Windows 64位可执行程序
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o gitea main.go
# 编译mac 64位可执行程序
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o gitea main.go
```
Win平台在项目根目录运行:
```shell
# 编译Linux 64位可执行程序
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build -o gitea main.go
...
```
## 运行
在项目根目录下运行:
```
./gitea -p 10082
```
## 接口文档
- [ApiDoc](https://www.apifox.cn/apidoc/project-1809666) - 接口文档
## ⛏️ 使用
- [Gitea](https://gitea.io/zh-cn/) - Gitea
<p align="center">
<a href="" rel="noopener">
<img
width=360px
height=62px
src="https://forum.trustie.net/api/attachments/373016"
alt="Project logo"
style="background-color: #1b2440">
</a>
</p>
<h3 align="center">Gitea GitLink版本</h3>
<div align="center">
[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![GitLink Issues](https://img.shields.io/github/issues/kylelobo/The-Documentation-Compendium.svg)](https://www.gitlink.org.cn/Gitlink/gitea_hat/issues)
[![GitLink Pull Requests](https://img.shields.io/github/issues-pr/kylelobo/The-Documentation-Compendium.svg)](https://www.gitlink.org.cn/Gitlink/gitea_hat/pulls)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)
</div>
---
<p align="center"> 此版本为GitLink平台使用的Git服务该服务基于Gitea进行开发。
<br>
</p>
- [🧐 关于](#-关于)
- [编译](#编译)
- [运行](#运行)
- [接口文档](#接口文档)
- [⛏️ 使用](#-使用)
## 🧐 关于
该项目是为了方便平台后续Gitea版本的升级将个性化接口部分从Gitea中抽离出来的项目模块定义遵循Gitea规则目前基于Gitea v1.18.5版本。
## Go环境安装
推荐1.20.x以上版本下载https://go.dev/dl/
## 编译
```
sh build.sh
```
类Linux平台在项目根目录运行
```shell
# 编译Linux 64位可执行程序
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o gitea main.go
# 编译Windows 64位可执行程序
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o gitea main.go
# 编译mac 64位可执行程序
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o gitea main.go
```
Win平台在项目根目录运行:
```shell
# 编译Linux 64位可执行程序
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build -o gitea main.go
...
```
## 运行
在项目根目录下运行:
```
./gitea -p 10082
```
## 接口文档
- [ApiDoc](https://www.apifox.cn/apidoc/project-1809666) - 接口文档
## ⛏️ 使用
- [Gitea](https://gitea.io/zh-cn/) - Gitea

14
build.go Normal file
View File

@ -0,0 +1,14 @@
// Copyright 2020 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
//go:build vendor
package main
// Libraries that are included to vendor utilities used during build.
// These libraries will not be included in a normal compilation.
import (
// for embed
_ "github.com/shurcooL/vfsgen"
)

15
build.sh Normal file
View File

@ -0,0 +1,15 @@
#!/bin/bash
echo "go mod tidy..."
go mod tidy
echo "go mod vendor..."
go mod vendor
echo "go generate bindata.go for migration,options,public,templates..."
go run build/generate-bindata.go modules/schemas migration vendor/code.gitea.io/gitea/modules/migration/bindata.go
go run build/generate-bindata.go options options vendor/code.gitea.io/gitea/modules/options/bindata.go
go run build/generate-bindata.go public public vendor/code.gitea.io/gitea/modules/public/bindata.go
go run build/generate-bindata.go templates templates vendor/code.gitea.io/gitea/modules/templates/bindata.go
echo "go build -tags 'bindata' -o gitea_hat main.go..."
go build -tags 'bindata' -o gitea_hat main.go

87
build/generate-bindata.go Normal file
View File

@ -0,0 +1,87 @@
// Copyright 2020 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
//go:build ignore
// +build ignore
package main
import (
"bytes"
"crypto/sha1"
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
"path/filepath"
"strconv"
"github.com/shurcooL/vfsgen"
)
func needsUpdate(dir string, filename string) (bool, []byte) {
needRegen := false
_, err := os.Stat(filename)
if err != nil {
needRegen = true
}
oldHash, err := ioutil.ReadFile(filename + ".hash")
if err != nil {
oldHash = []byte{}
}
hasher := sha1.New()
err = filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
_, _ = hasher.Write([]byte(info.Name()))
_, _ = hasher.Write([]byte(info.ModTime().String()))
_, _ = hasher.Write([]byte(strconv.FormatInt(info.Size(), 16)))
return nil
})
if err != nil {
return true, oldHash
}
newHash := hasher.Sum([]byte{})
if bytes.Compare(oldHash, newHash) != 0 {
return true, newHash
}
return needRegen, newHash
}
func main() {
if len(os.Args) != 4 {
log.Fatal("Insufficient number of arguments. Need: directory packageName filename")
}
dir, packageName, filename := os.Args[1], os.Args[2], os.Args[3]
update, newHash := needsUpdate(dir, filename)
if !update {
fmt.Printf("bindata for %s already up-to-date\n", packageName)
return
}
fmt.Printf("generating bindata for %s\n", packageName)
var fsTemplates http.FileSystem = http.Dir(dir)
err := vfsgen.Generate(fsTemplates, vfsgen.Options{
PackageName: packageName,
BuildTags: "bindata",
VariableName: "Assets",
Filename: filename,
})
if err != nil {
log.Fatalf("%v\n", err)
}
_ = ioutil.WriteFile(filename+".hash", newHash, 0666)
}

225
build/generate-emoji.go Normal file
View File

@ -0,0 +1,225 @@
// Copyright 2020 The Gitea Authors. All rights reserved.
// Copyright 2015 Kenneth Shaw
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
//go:build ignore
// +build ignore
package main
import (
"flag"
"fmt"
"go/format"
"io/ioutil"
"log"
"net/http"
"regexp"
"sort"
"strconv"
"strings"
"unicode/utf8"
jsoniter "github.com/json-iterator/go"
)
const (
gemojiURL = "https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json"
maxUnicodeVersion = 12
)
var (
flagOut = flag.String("o", "modules/emoji/emoji_data.go", "out")
)
// Gemoji is a set of emoji data.
type Gemoji []Emoji
// Emoji represents a single emoji and associated data.
type Emoji struct {
Emoji string `json:"emoji"`
Description string `json:"description,omitempty"`
Aliases []string `json:"aliases"`
UnicodeVersion string `json:"unicode_version,omitempty"`
SkinTones bool `json:"skin_tones,omitempty"`
}
// Don't include some fields in JSON
func (e Emoji) MarshalJSON() ([]byte, error) {
type emoji Emoji
x := emoji(e)
x.UnicodeVersion = ""
x.Description = ""
x.SkinTones = false
json := jsoniter.ConfigCompatibleWithStandardLibrary
return json.Marshal(x)
}
func main() {
var err error
flag.Parse()
// generate data
buf, err := generate()
if err != nil {
log.Fatal(err)
}
// write
err = ioutil.WriteFile(*flagOut, buf, 0644)
if err != nil {
log.Fatal(err)
}
}
var replacer = strings.NewReplacer(
"main.Gemoji", "Gemoji",
"main.Emoji", "\n",
"}}", "},\n}",
", Description:", ", ",
", Aliases:", ", ",
", UnicodeVersion:", ", ",
", SkinTones:", ", ",
)
var emojiRE = regexp.MustCompile(`\{Emoji:"([^"]*)"`)
func generate() ([]byte, error) {
var err error
// load gemoji data
res, err := http.Get(gemojiURL)
if err != nil {
return nil, err
}
defer res.Body.Close()
// read all
body, err := ioutil.ReadAll(res.Body)
if err != nil {
return nil, err
}
// unmarshal
var data Gemoji
json := jsoniter.ConfigCompatibleWithStandardLibrary
err = json.Unmarshal(body, &data)
if err != nil {
return nil, err
}
var skinTones = make(map[string]string)
skinTones["\U0001f3fb"] = "Light Skin Tone"
skinTones["\U0001f3fc"] = "Medium-Light Skin Tone"
skinTones["\U0001f3fd"] = "Medium Skin Tone"
skinTones["\U0001f3fe"] = "Medium-Dark Skin Tone"
skinTones["\U0001f3ff"] = "Dark Skin Tone"
var tmp Gemoji
//filter out emoji that require greater than max unicode version
for i := range data {
val, _ := strconv.ParseFloat(data[i].UnicodeVersion, 64)
if int(val) <= maxUnicodeVersion {
tmp = append(tmp, data[i])
}
}
data = tmp
sort.Slice(data, func(i, j int) bool {
return data[i].Aliases[0] < data[j].Aliases[0]
})
aliasMap := make(map[string]int, len(data))
for i, e := range data {
if e.Emoji == "" || len(e.Aliases) == 0 {
continue
}
for _, a := range e.Aliases {
if a == "" {
continue
}
aliasMap[a] = i
}
}
// gitea customizations
i, ok := aliasMap["tada"]
if ok {
data[i].Aliases = append(data[i].Aliases, "hooray")
}
i, ok = aliasMap["laughing"]
if ok {
data[i].Aliases = append(data[i].Aliases, "laugh")
}
// write a JSON file to use with tribute (write before adding skin tones since we can't support them there yet)
file, _ := json.Marshal(data)
_ = ioutil.WriteFile("assets/emoji.json", file, 0644)
// Add skin tones to emoji that support it
var (
s []string
newEmoji string
newDescription string
newData Emoji
)
for i := range data {
if data[i].SkinTones {
for k, v := range skinTones {
s = strings.Split(data[i].Emoji, "")
if utf8.RuneCountInString(data[i].Emoji) == 1 {
s = append(s, k)
} else {
// insert into slice after first element because all emoji that support skin tones
// have that modifier placed at this spot
s = append(s, "")
copy(s[2:], s[1:])
s[1] = k
}
newEmoji = strings.Join(s, "")
newDescription = data[i].Description + ": " + v
newAlias := data[i].Aliases[0] + "_" + strings.ReplaceAll(v, " ", "_")
newData = Emoji{newEmoji, newDescription, []string{newAlias}, "12.0", false}
data = append(data, newData)
}
}
}
// add header
str := replacer.Replace(fmt.Sprintf(hdr, gemojiURL, data))
// change the format of the unicode string
str = emojiRE.ReplaceAllStringFunc(str, func(s string) string {
var err error
s, err = strconv.Unquote(s[len("{Emoji:"):])
if err != nil {
panic(err)
}
return "{" + strconv.QuoteToASCII(s)
})
// format
return format.Source([]byte(str))
}
const hdr = `
// Copyright 2020 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package emoji
// Code generated by gen.go. DO NOT EDIT.
// Sourced from %s
//
var GemojiData = %#v
`

View File

@ -0,0 +1,131 @@
//go:build ignore
// +build ignore
package main
import (
"archive/tar"
"compress/gzip"
"flag"
"fmt"
"io"
"io/ioutil"
"log"
"net/http"
"os"
"path"
"path/filepath"
"strings"
"code.gitea.io/gitea/modules/util"
)
func main() {
var (
prefix = "gitea-gitignore"
url = "https://api.github.com/repos/github/gitignore/tarball"
githubApiToken = ""
githubUsername = ""
destination = ""
)
flag.StringVar(&destination, "dest", "options/gitignore/", "destination for the gitignores")
flag.StringVar(&githubUsername, "username", "", "github username")
flag.StringVar(&githubApiToken, "token", "", "github api token")
flag.Parse()
file, err := ioutil.TempFile(os.TempDir(), prefix)
if err != nil {
log.Fatalf("Failed to create temp file. %s", err)
}
defer util.Remove(file.Name())
req, err := http.NewRequest("GET", url, nil)
if err != nil {
log.Fatalf("Failed to download archive. %s", err)
}
if len(githubApiToken) > 0 && len(githubUsername) > 0 {
req.SetBasicAuth(githubUsername, githubApiToken)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatalf("Failed to download archive. %s", err)
}
defer resp.Body.Close()
if _, err := io.Copy(file, resp.Body); err != nil {
log.Fatalf("Failed to copy archive to file. %s", err)
}
if _, err := file.Seek(0, 0); err != nil {
log.Fatalf("Failed to reset seek on archive. %s", err)
}
gz, err := gzip.NewReader(file)
if err != nil {
log.Fatalf("Failed to gunzip the archive. %s", err)
}
tr := tar.NewReader(gz)
filesToCopy := make(map[string]string, 0)
for {
hdr, err := tr.Next()
if err == io.EOF {
break
}
if err != nil {
log.Fatalf("Failed to iterate archive. %s", err)
}
if filepath.Ext(hdr.Name) != ".gitignore" {
continue
}
if hdr.Typeflag == tar.TypeSymlink {
fmt.Printf("Found symlink %s -> %s\n", hdr.Name, hdr.Linkname)
filesToCopy[strings.TrimSuffix(filepath.Base(hdr.Name), ".gitignore")] = strings.TrimSuffix(filepath.Base(hdr.Linkname), ".gitignore")
continue
}
out, err := os.Create(path.Join(destination, strings.TrimSuffix(filepath.Base(hdr.Name), ".gitignore")))
if err != nil {
log.Fatalf("Failed to create new file. %s", err)
}
defer out.Close()
if _, err := io.Copy(out, tr); err != nil {
log.Fatalf("Failed to write new file. %s", err)
} else {
fmt.Printf("Written %s\n", out.Name())
}
}
for dst, src := range filesToCopy {
// Read all content of src to data
src = path.Join(destination, src)
data, err := ioutil.ReadFile(src)
if err != nil {
log.Fatalf("Failed to read src file. %s", err)
}
// Write data to dst
dst = path.Join(destination, dst)
err = ioutil.WriteFile(dst, data, 0644)
if err != nil {
log.Fatalf("Failed to write new file. %s", err)
}
fmt.Printf("Written (copy of %s) %s\n", src, dst)
}
fmt.Println("Done")
}

83
build/generate-images.js Executable file
View File

@ -0,0 +1,83 @@
import imageminZopfli from 'imagemin-zopfli';
import {optimize, extendDefaultPlugins} from 'svgo';
import {fabric} from 'fabric';
import fs from 'fs';
import {resolve, dirname} from 'path';
import {fileURLToPath} from 'url';
const {readFile, writeFile} = fs.promises;
const __dirname = dirname(fileURLToPath(import.meta.url));
const logoFile = resolve(__dirname, '../assets/logo.svg');
function exit(err) {
if (err) console.error(err);
process.exit(err ? 1 : 0);
}
function loadSvg(svg) {
return new Promise((resolve) => {
fabric.loadSVGFromString(svg, (objects, options) => {
resolve({objects, options});
});
});
}
async function generate(svg, outputFile, {size, bg}) {
if (outputFile.endsWith('.svg')) {
const {data} = optimize(svg, {
plugins: extendDefaultPlugins([
'removeDimensions',
{
name: 'addAttributesToSVGElement',
params: {attributes: [{width: size}, {height: size}]}
},
]),
});
await writeFile(outputFile, data);
return;
}
const {objects, options} = await loadSvg(svg);
const canvas = new fabric.Canvas();
canvas.setDimensions({width: size, height: size});
const ctx = canvas.getContext('2d');
ctx.scale(options.width ? (size / options.width) : 1, options.height ? (size / options.height) : 1);
if (bg) {
canvas.add(new fabric.Rect({
left: 0,
top: 0,
height: size * (1 / (size / options.height)),
width: size * (1 / (size / options.width)),
fill: 'white',
}));
}
canvas.add(fabric.util.groupSVGElements(objects, options));
canvas.renderAll();
let png = Buffer.from([]);
for await (const chunk of canvas.createPNGStream()) {
png = Buffer.concat([png, chunk]);
}
png = await imageminZopfli({more: true})(png);
await writeFile(outputFile, png);
}
async function main() {
const gitea = process.argv.slice(2).includes('gitea');
const svg = await readFile(logoFile, 'utf8');
await Promise.all([
generate(svg, resolve(__dirname, '../public/img/logo.svg'), {size: 32}),
generate(svg, resolve(__dirname, '../public/img/logo.png'), {size: 512}),
generate(svg, resolve(__dirname, '../public/img/favicon.png'), {size: 180}),
generate(svg, resolve(__dirname, '../public/img/avatar_default.png'), {size: 200}),
generate(svg, resolve(__dirname, '../public/img/apple-touch-icon.png'), {size: 180, bg: true}),
gitea && generate(svg, resolve(__dirname, '../public/img/gitea.svg'), {size: 32}),
]);
}
main().then(exit).catch(exit);

119
build/generate-licenses.go Normal file
View File

@ -0,0 +1,119 @@
//go:build ignore
// +build ignore
package main
import (
"archive/tar"
"compress/gzip"
"flag"
"fmt"
"io"
"io/ioutil"
"log"
"net/http"
"os"
"path"
"path/filepath"
"strings"
"code.gitea.io/gitea/modules/util"
)
func main() {
var (
prefix = "gitea-licenses"
url = "https://api.github.com/repos/spdx/license-list-data/tarball"
githubApiToken = ""
githubUsername = ""
destination = ""
)
flag.StringVar(&destination, "dest", "options/license/", "destination for the licenses")
flag.StringVar(&githubUsername, "username", "", "github username")
flag.StringVar(&githubApiToken, "token", "", "github api token")
flag.Parse()
file, err := ioutil.TempFile(os.TempDir(), prefix)
if err != nil {
log.Fatalf("Failed to create temp file. %s", err)
}
defer util.Remove(file.Name())
req, err := http.NewRequest("GET", url, nil)
if err != nil {
log.Fatalf("Failed to download archive. %s", err)
}
if len(githubApiToken) > 0 && len(githubUsername) > 0 {
req.SetBasicAuth(githubUsername, githubApiToken)
}
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatalf("Failed to download archive. %s", err)
}
defer resp.Body.Close()
if _, err := io.Copy(file, resp.Body); err != nil {
log.Fatalf("Failed to copy archive to file. %s", err)
}
if _, err := file.Seek(0, 0); err != nil {
log.Fatalf("Failed to reset seek on archive. %s", err)
}
gz, err := gzip.NewReader(file)
if err != nil {
log.Fatalf("Failed to gunzip the archive. %s", err)
}
tr := tar.NewReader(gz)
for {
hdr, err := tr.Next()
if err == io.EOF {
break
}
if err != nil {
log.Fatalf("Failed to iterate archive. %s", err)
}
if !strings.Contains(hdr.Name, "/text/") {
continue
}
if filepath.Ext(hdr.Name) != ".txt" {
continue
}
if strings.HasPrefix(filepath.Base(hdr.Name), "README") {
continue
}
if strings.HasPrefix(filepath.Base(hdr.Name), "deprecated_") {
continue
}
out, err := os.Create(path.Join(destination, strings.TrimSuffix(filepath.Base(hdr.Name), ".txt")))
if err != nil {
log.Fatalf("Failed to create new file. %s", err)
}
defer out.Close()
if _, err := io.Copy(out, tr); err != nil {
log.Fatalf("Failed to write new file. %s", err)
} else {
fmt.Printf("Written %s\n", out.Name())
}
}
fmt.Println("Done")
}

63
build/generate-svg.js Executable file
View File

@ -0,0 +1,63 @@
import fastGlob from 'fast-glob';
import {optimize, extendDefaultPlugins} from 'svgo';
import {resolve, parse, dirname} from 'path';
import fs from 'fs';
import {fileURLToPath} from 'url';
const {readFile, writeFile, mkdir} = fs.promises;
const __dirname = dirname(fileURLToPath(import.meta.url));
const glob = (pattern) => fastGlob.sync(pattern, {cwd: resolve(__dirname), absolute: true});
const outputDir = resolve(__dirname, '../public/img/svg');
function exit(err) {
if (err) console.error(err);
process.exit(err ? 1 : 0);
}
async function processFile(file, {prefix, fullName} = {}) {
let name;
if (fullName) {
name = fullName;
} else {
name = parse(file).name;
if (prefix) name = `${prefix}-${name}`;
if (prefix === 'octicon') name = name.replace(/-[0-9]+$/, ''); // chop of '-16' on octicons
}
const {data} = optimize(await readFile(file, 'utf8'), {
plugins: extendDefaultPlugins([
'removeXMLNS',
'removeDimensions',
{name: 'prefixIds', params: {prefix: () => name}},
{
name: 'addClassesToSVGElement',
params: {classNames: ['svg', name]},
},
{
name: 'addAttributesToSVGElement',
params: {attributes: [{'width': '16'}, {'height': '16'}, {'aria-hidden': 'true'}]},
},
]),
});
await writeFile(resolve(outputDir, `${name}.svg`), data);
}
function processFiles(pattern, opts) {
return glob(pattern).map((file) => processFile(file, opts));
}
async function main() {
try {
await mkdir(outputDir);
} catch {}
await Promise.all([
...processFiles('../node_modules/@primer/octicons/build/svg/*-16.svg', {prefix: 'octicon'}),
...processFiles('../web_src/svg/*.svg'),
...processFiles('../public/img/gitea.svg', {fullName: 'gitea-gitea'}),
]);
}
main().then(exit).catch(exit);

120
build/gocovmerge.go Normal file
View File

@ -0,0 +1,120 @@
// Copyright 2020 The Gitea Authors. All rights reserved.
// Copyright (c) 2015, Wade Simmons
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
// gocovmerge takes the results from multiple `go test -coverprofile` runs and
// merges them into one profile
//go:build ignore
// +build ignore
package main
import (
"flag"
"fmt"
"io"
"log"
"os"
"sort"
"golang.org/x/tools/cover"
)
func mergeProfiles(p *cover.Profile, merge *cover.Profile) {
if p.Mode != merge.Mode {
log.Fatalf("cannot merge profiles with different modes")
}
// Since the blocks are sorted, we can keep track of where the last block
// was inserted and only look at the blocks after that as targets for merge
startIndex := 0
for _, b := range merge.Blocks {
startIndex = mergeProfileBlock(p, b, startIndex)
}
}
func mergeProfileBlock(p *cover.Profile, pb cover.ProfileBlock, startIndex int) int {
sortFunc := func(i int) bool {
pi := p.Blocks[i+startIndex]
return pi.StartLine >= pb.StartLine && (pi.StartLine != pb.StartLine || pi.StartCol >= pb.StartCol)
}
i := 0
if sortFunc(i) != true {
i = sort.Search(len(p.Blocks)-startIndex, sortFunc)
}
i += startIndex
if i < len(p.Blocks) && p.Blocks[i].StartLine == pb.StartLine && p.Blocks[i].StartCol == pb.StartCol {
if p.Blocks[i].EndLine != pb.EndLine || p.Blocks[i].EndCol != pb.EndCol {
log.Fatalf("OVERLAP MERGE: %v %v %v", p.FileName, p.Blocks[i], pb)
}
switch p.Mode {
case "set":
p.Blocks[i].Count |= pb.Count
case "count", "atomic":
p.Blocks[i].Count += pb.Count
default:
log.Fatalf("unsupported covermode: '%s'", p.Mode)
}
} else {
if i > 0 {
pa := p.Blocks[i-1]
if pa.EndLine >= pb.EndLine && (pa.EndLine != pb.EndLine || pa.EndCol > pb.EndCol) {
log.Fatalf("OVERLAP BEFORE: %v %v %v", p.FileName, pa, pb)
}
}
if i < len(p.Blocks)-1 {
pa := p.Blocks[i+1]
if pa.StartLine <= pb.StartLine && (pa.StartLine != pb.StartLine || pa.StartCol < pb.StartCol) {
log.Fatalf("OVERLAP AFTER: %v %v %v", p.FileName, pa, pb)
}
}
p.Blocks = append(p.Blocks, cover.ProfileBlock{})
copy(p.Blocks[i+1:], p.Blocks[i:])
p.Blocks[i] = pb
}
return i + 1
}
func addProfile(profiles []*cover.Profile, p *cover.Profile) []*cover.Profile {
i := sort.Search(len(profiles), func(i int) bool { return profiles[i].FileName >= p.FileName })
if i < len(profiles) && profiles[i].FileName == p.FileName {
mergeProfiles(profiles[i], p)
} else {
profiles = append(profiles, nil)
copy(profiles[i+1:], profiles[i:])
profiles[i] = p
}
return profiles
}
func dumpProfiles(profiles []*cover.Profile, out io.Writer) {
if len(profiles) == 0 {
return
}
fmt.Fprintf(out, "mode: %s\n", profiles[0].Mode)
for _, p := range profiles {
for _, b := range p.Blocks {
fmt.Fprintf(out, "%s:%d.%d,%d.%d %d %d\n", p.FileName, b.StartLine, b.StartCol, b.EndLine, b.EndCol, b.NumStmt, b.Count)
}
}
}
func main() {
flag.Parse()
var merged []*cover.Profile
for _, file := range flag.Args() {
profiles, err := cover.ParseProfiles(file)
if err != nil {
log.Fatalf("failed to parse profiles: %v", err)
}
for _, p := range profiles {
merged = addProfile(merged, p)
}
}
dumpProfiles(merged, os.Stdout)
}

23
build/update-locales.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/sh
mv ./options/locale/locale_en-US.ini ./options/
# Make sure to only change lines that have the translation enclosed between quotes
sed -i -r -e '/^[a-zA-Z0-9_.-]+[ ]*=[ ]*".*"$/ {
s/^([a-zA-Z0-9_.-]+)[ ]*="/\1=/
s/\\"/"/g
s/"$//
}' ./options/locale/*.ini
# Remove translation under 25% of en_us
baselines=$(wc -l "./options/locale_en-US.ini" | cut -d" " -f1)
baselines=$((baselines / 4))
for filename in ./options/locale/*.ini; do
lines=$(wc -l "$filename" | cut -d" " -f1)
if [ $lines -lt $baselines ]; then
echo "Removing $filename: $lines/$baselines"
rm "$filename"
fi
done
mv ./options/locale_en-US.ini ./options/locale/

View File

@ -76,7 +76,7 @@ func runHTTPRedirector() {
http.Redirect(w, r, target, http.StatusTemporaryRedirect)
})
err := runHTTP("tcp", source, "HTTP Redirector", handler)
err := runHTTP("tcp", source, "HTTP Redirector", handler, setting.RedirectorUseProxyProtocol)
if err != nil {
log.Fatal("Failed to start port redirection: %v", err)
}
@ -126,8 +126,10 @@ func runWeb(ctx *cli.Context) error {
return err
}
}
c := install.Routes()
installCtx, cancel := context.WithCancel(graceful.GetManager().HammerContext())
c := install.Routes(installCtx)
err := listen(c, false)
cancel()
if err != nil {
log.Critical("Unable to open listener for installer. Is Gitea already running?")
graceful.GetManager().DoGracefulShutdown()
@ -174,8 +176,8 @@ func runWeb(ctx *cli.Context) error {
}
// Set up Chi routes
c := routers.NormalRoutes()
hat_routers.InitHatRouters(c)
c := routers.NormalRoutes(graceful.GetManager().HammerContext())
hat_routers.InitHatRouters(graceful.GetManager().HammerContext(), c)
err := listen(c, true)
<-graceful.GetManager().Done()
log.Info("PID: %d Gitea Web Finished", os.Getpid())
@ -201,7 +203,7 @@ func setPort(port string) error {
defaultLocalURL += ":" + setting.HTTPPort + "/"
// Save LOCAL_ROOT_URL if port changed
setting.CreateOrAppendToCustomConf(func(cfg *ini.File) {
setting.CreateOrAppendToCustomConf("server.LOCAL_ROOT_URL", func(cfg *ini.File) {
cfg.Section("server").Key("LOCAL_ROOT_URL").SetValue(defaultLocalURL)
})
}
@ -231,7 +233,7 @@ func listen(m http.Handler, handleRedirector bool) error {
if handleRedirector {
NoHTTPRedirector()
}
err = runHTTP("tcp", listenAddr, "Web", m)
err = runHTTP("tcp", listenAddr, "Web", m, setting.UseProxyProtocol)
case setting.HTTPS:
if setting.EnableAcme {
err = runACME(listenAddr, m)
@ -244,23 +246,23 @@ func listen(m http.Handler, handleRedirector bool) error {
NoHTTPRedirector()
}
}
err = runHTTPS("tcp", listenAddr, "Web", setting.CertFile, setting.KeyFile, m)
err = runHTTPS("tcp", listenAddr, "Web", setting.CertFile, setting.KeyFile, m, setting.UseProxyProtocol, setting.ProxyProtocolTLSBridging)
}
case setting.FCGI:
if handleRedirector {
NoHTTPRedirector()
}
err = runFCGI("tcp", listenAddr, "FCGI Web", m)
err = runFCGI("tcp", listenAddr, "FCGI Web", m, setting.UseProxyProtocol)
case setting.HTTPUnix:
if handleRedirector {
NoHTTPRedirector()
}
err = runHTTP("unix", listenAddr, "Web", m)
err = runHTTP("unix", listenAddr, "Web", m, setting.UseProxyProtocol)
case setting.FCGIUnix:
if handleRedirector {
NoHTTPRedirector()
}
err = runFCGI("unix", listenAddr, "Web", m)
err = runFCGI("unix", listenAddr, "Web", m, setting.UseProxyProtocol)
default:
log.Fatal("Invalid protocol: %s", setting.Protocol)
}

View File

@ -113,14 +113,14 @@ func runACME(listenAddr string, m http.Handler) error {
log.Info("Running Let's Encrypt handler on %s", setting.HTTPAddr+":"+setting.PortToRedirect)
// all traffic coming into HTTP will be redirect to HTTPS automatically (LE HTTP-01 validation happens here)
err := runHTTP("tcp", setting.HTTPAddr+":"+setting.PortToRedirect, "Let's Encrypt HTTP Challenge", myACME.HTTPChallengeHandler(http.HandlerFunc(runLetsEncryptFallbackHandler)))
err := runHTTP("tcp", setting.HTTPAddr+":"+setting.PortToRedirect, "Let's Encrypt HTTP Challenge", myACME.HTTPChallengeHandler(http.HandlerFunc(runLetsEncryptFallbackHandler)), setting.RedirectorUseProxyProtocol)
if err != nil {
log.Fatal("Failed to start the Let's Encrypt handler on port %s: %v", setting.PortToRedirect, err)
}
}()
}
return runHTTPSWithTLSConfig("tcp", listenAddr, "Web", tlsConfig, m)
return runHTTPSWithTLSConfig("tcp", listenAddr, "Web", tlsConfig, m, setting.UseProxyProtocol, setting.ProxyProtocolTLSBridging)
}
func runLetsEncryptFallbackHandler(w http.ResponseWriter, r *http.Request) {

View File

@ -15,8 +15,8 @@ import (
"code.gitea.io/gitea/modules/setting"
)
func runHTTP(network, listenAddr, name string, m http.Handler) error {
return graceful.HTTPListenAndServe(network, listenAddr, name, m)
func runHTTP(network, listenAddr, name string, m http.Handler, useProxyProtocal bool) error {
return graceful.HTTPListenAndServe(network, listenAddr, name, m, useProxyProtocal)
}
// NoHTTPRedirector tells our cleanup routine that we will not be using a fallback http redirector
@ -36,7 +36,7 @@ func NoInstallListener() {
graceful.GetManager().InformCleanup()
}
func runFCGI(network, listenAddr, name string, m http.Handler) error {
func runFCGI(network, listenAddr, name string, m http.Handler, useProxyProtocol bool) error {
// This needs to handle stdin as fcgi point
fcgiServer := graceful.NewServer(network, listenAddr, name)
@ -47,7 +47,7 @@ func runFCGI(network, listenAddr, name string, m http.Handler) error {
}
m.ServeHTTP(resp, req)
}))
})
}, useProxyProtocol)
if err != nil {
log.Fatal("Failed to start FCGI main server: %v", err)
}

View File

@ -136,7 +136,7 @@ var (
// be provided. If the certificate is signed by a certificate authority, the
// certFile should be the concatenation of the server's certificate followed by the
// CA's certificate.
func runHTTPS(network, listenAddr, name, certFile, keyFile string, m http.Handler) error {
func runHTTPS(network, listenAddr, name, certFile, keyFile string, m http.Handler, useProxyProtocol, proxyProtocolTLSBridging bool) error {
tlsConfig := &tls.Config{}
if tlsConfig.NextProtos == nil {
tlsConfig.NextProtos = []string{"h2", "http/1.1"}
@ -184,9 +184,9 @@ func runHTTPS(network, listenAddr, name, certFile, keyFile string, m http.Handle
return err
}
return graceful.HTTPListenAndServeTLSConfig(network, listenAddr, name, tlsConfig, m)
return graceful.HTTPListenAndServeTLSConfig(network, listenAddr, name, tlsConfig, m, useProxyProtocol, proxyProtocolTLSBridging)
}
func runHTTPSWithTLSConfig(network, listenAddr, name string, tlsConfig *tls.Config, m http.Handler) error {
return graceful.HTTPListenAndServeTLSConfig(network, listenAddr, name, tlsConfig, m)
func runHTTPSWithTLSConfig(network, listenAddr, name string, tlsConfig *tls.Config, m http.Handler, useProxyProtocol, proxyProtocolTLSBridging bool) error {
return graceful.HTTPListenAndServeTLSConfig(network, listenAddr, name, tlsConfig, m, useProxyProtocol, proxyProtocolTLSBridging)
}

183
go.mod
View File

@ -3,70 +3,82 @@ module code.gitlink.org.cn/Gitlink/gitea_hat.git
go 1.18
require (
code.gitea.io/gitea v1.17.3
code.gitea.io/gitea v1.18.5
gitea.com/go-chi/binding v0.0.0-20221013104517-b29891619681
github.com/caddyserver/certmagic v0.17.2
github.com/felixge/fgprof v0.9.3
github.com/go-chi/cors v1.2.1
github.com/klauspost/cpuid/v2 v2.1.2
github.com/urfave/cli v1.22.10
github.com/gobwas/glob v0.2.3
github.com/json-iterator/go v1.1.12
github.com/klauspost/cpuid/v2 v2.2.3
github.com/russross/blackfriday/v2 v2.1.0
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546
github.com/urfave/cli v1.22.12
golang.org/x/net v0.8.0
golang.org/x/text v0.8.0
gopkg.in/ini.v1 v1.67.0
xorm.io/builder v0.3.12
xorm.io/xorm v1.3.2
)
require (
cloud.google.com/go/compute v1.10.0 // indirect
cloud.google.com/go/compute v1.18.0 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect
code.gitea.io/sdk/gitea v0.15.1 // indirect
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570 // indirect
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 // indirect
gitea.com/go-chi/cache v0.2.0 // indirect
gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5 // indirect
gitea.com/go-chi/session v0.0.0-20211218221615-e3605d8b28b8 // indirect
gitea.com/go-chi/session v0.0.0-20221220005550-e056dc379164 // indirect
gitea.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96 // indirect
gitea.com/lunny/levelqueue v0.4.2-0.20220729054728-f020868cc2f7 // indirect
github.com/42wim/sshsig v0.0.0-20211121163825-841cf5bbc121 // indirect
github.com/Azure/go-ntlmssp v0.0.0-20220621081337-cb9428e4ac1e // indirect
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect
github.com/Microsoft/go-winio v0.6.0 // indirect
github.com/NYTimes/gziphandler v1.1.1 // indirect
github.com/ProtonMail/go-crypto v0.0.0-20220930113650-c6815a8c17ad // indirect
github.com/RoaringBitmap/roaring v1.2.1 // indirect
github.com/acomagu/bufpipe v1.0.3 // indirect
github.com/alecthomas/chroma v0.10.0 // indirect
github.com/andybalholm/brotli v1.0.4 // indirect
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect
github.com/RoaringBitmap/roaring v1.2.3 // indirect
github.com/acomagu/bufpipe v1.0.4 // indirect
github.com/alecthomas/chroma/v2 v2.5.0 // indirect
github.com/andybalholm/brotli v1.0.5 // indirect
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bits-and-blooms/bitset v1.3.3 // indirect
github.com/blevesearch/bleve/v2 v2.3.5 // indirect
github.com/blevesearch/bleve_index_api v1.0.4 // indirect
github.com/blevesearch/geo v0.1.15 // indirect
github.com/bits-and-blooms/bitset v1.5.0 // indirect
github.com/blevesearch/bleve/v2 v2.3.6 // indirect
github.com/blevesearch/bleve_index_api v1.0.5 // indirect
github.com/blevesearch/geo v0.1.17 // indirect
github.com/blevesearch/go-porterstemmer v1.0.3 // indirect
github.com/blevesearch/gtreap v0.1.1 // indirect
github.com/blevesearch/mmap-go v1.0.4 // indirect
github.com/blevesearch/scorch_segment_api/v2 v2.1.3 // indirect
github.com/blevesearch/segment v0.9.0 // indirect
github.com/blevesearch/scorch_segment_api/v2 v2.1.4 // indirect
github.com/blevesearch/segment v0.9.1 // indirect
github.com/blevesearch/snowballstem v0.9.0 // indirect
github.com/blevesearch/upsidedown_store_api v1.0.1 // indirect
github.com/blevesearch/upsidedown_store_api v1.0.2 // indirect
github.com/blevesearch/vellum v1.0.9 // indirect
github.com/blevesearch/zapx/v11 v11.3.6 // indirect
github.com/blevesearch/zapx/v12 v12.3.6 // indirect
github.com/blevesearch/zapx/v13 v13.3.6 // indirect
github.com/blevesearch/zapx/v14 v14.3.6 // indirect
github.com/blevesearch/zapx/v15 v15.3.6 // indirect
github.com/blevesearch/zapx/v11 v11.3.7 // indirect
github.com/blevesearch/zapx/v12 v12.3.7 // indirect
github.com/blevesearch/zapx/v13 v13.3.7 // indirect
github.com/blevesearch/zapx/v14 v14.3.7 // indirect
github.com/blevesearch/zapx/v15 v15.3.9 // indirect
github.com/boombuler/barcode v1.0.1 // indirect
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/bradfitz/gomemcache v0.0.0-20230124162541-5f7a7d875746 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/chi-middleware/proxy v1.1.1 // indirect
github.com/cloudflare/cfssl v1.6.3 // indirect
github.com/cloudflare/circl v1.2.0 // indirect
github.com/cloudflare/circl v1.3.2 // indirect
github.com/couchbase/go-couchbase v0.1.1 // indirect
github.com/couchbase/gomemcached v0.1.4 // indirect
github.com/couchbase/gomemcached v0.2.1 // indirect
github.com/couchbase/goutils v0.1.2 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/denisenkom/go-mssqldb v0.12.3 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/djherbis/buffer v1.2.0 // indirect
github.com/djherbis/nio/v3 v3.0.1 // indirect
github.com/dlclark/regexp2 v1.7.0 // indirect
github.com/dlclark/regexp2 v1.8.1 // indirect
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
github.com/duo-labs/webauthn v0.0.0-20220815211337-00c9fb5711f5 // indirect
github.com/dustin/go-humanize v1.0.0 // indirect
github.com/duo-labs/webauthn v0.0.0-20221205164246-ebaf9b74c6ec // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/editorconfig/editorconfig-core-go/v2 v2.5.1 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/ethantkoenig/rupture v1.0.1 // indirect
@ -74,32 +86,34 @@ require (
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/fxamacker/cbor/v2 v2.4.0 // indirect
github.com/gliderlabs/ssh v0.3.5 // indirect
github.com/go-ap/activitypub v0.0.0-20230307141717-3566110d71a0 // indirect
github.com/go-ap/errors v0.0.0-20221205040414-01c1adfc98ea // indirect
github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.4 // indirect
github.com/go-chi/chi/v5 v5.0.7 // indirect
github.com/go-enry/go-enry/v2 v2.8.3 // indirect
github.com/go-chi/chi/v5 v5.0.8 // indirect
github.com/go-enry/go-enry/v2 v2.8.4 // indirect
github.com/go-enry/go-oniguruma v1.2.1 // indirect
github.com/go-fed/httpsig v1.1.0 // indirect
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e // indirect
github.com/go-git/gcfg v1.5.0 // indirect
github.com/go-git/go-billy/v5 v5.3.1 // indirect
github.com/go-git/go-git/v5 v5.4.3-0.20210630082519-b4368b2a2ca4 // indirect
github.com/go-git/go-billy/v5 v5.4.1 // indirect
github.com/go-git/go-git/v5 v5.6.0 // indirect
github.com/go-ldap/ldap/v3 v3.4.4 // indirect
github.com/go-redis/redis/v8 v8.11.5 // indirect
github.com/go-sql-driver/mysql v1.6.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/goccy/go-json v0.9.11 // indirect
github.com/go-sql-driver/mysql v1.7.0 // indirect
github.com/goccy/go-json v0.10.1 // indirect
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f // indirect
github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14 // indirect
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85 // indirect
github.com/golang-jwt/jwt/v4 v4.4.2 // indirect
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect
github.com/golang-sql/sqlexp v0.1.0 // indirect
github.com/golang/geo v0.0.0-20210211234256-740aa86cb551 // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/certificate-transparency-go v1.1.4 // indirect
github.com/google/go-github/v45 v45.2.0 // indirect
github.com/google/go-querystring v1.1.0 // indirect
github.com/google/pprof v0.0.0-20221010195024-131d412537ea // indirect
github.com/google/pprof v0.0.0-20230309165930-d61513b1440d // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/gorilla/css v1.0.0 // indirect
github.com/gorilla/feeds v1.1.1 // indirect
@ -110,40 +124,37 @@ require (
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-hclog v1.2.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-retryablehttp v0.7.1 // indirect
github.com/hashicorp/go-retryablehttp v0.7.2 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
github.com/hashicorp/golang-lru v0.5.4 // indirect
github.com/huandu/xstrings v1.3.2 // indirect
github.com/hashicorp/golang-lru v0.6.0 // indirect
github.com/huandu/xstrings v1.4.0 // indirect
github.com/imdario/mergo v0.3.13 // indirect
github.com/jaytaylor/html2text v0.0.0-20211105163654-bc68cce691ba // indirect
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4 // indirect
github.com/klauspost/compress v1.15.11 // indirect
github.com/klauspost/compress v1.16.3 // indirect
github.com/klauspost/pgzip v1.2.5 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/lib/pq v1.10.7 // indirect
github.com/libdns/libdns v0.2.1 // indirect
github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/markbates/going v1.0.3 // indirect
github.com/markbates/goth v1.74.1 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mattn/go-isatty v0.0.16 // indirect
github.com/markbates/goth v1.76.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.17 // indirect
github.com/mattn/go-runewidth v0.0.14 // indirect
github.com/mattn/go-sqlite3 v1.14.15 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect
github.com/mholt/acmez v1.0.4 // indirect
github.com/mattn/go-sqlite3 v1.14.16 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
github.com/mholt/acmez v1.1.0 // indirect
github.com/mholt/archiver/v3 v3.5.1 // indirect
github.com/microcosm-cc/bluemonday v1.0.21 // indirect
github.com/miekg/dns v1.1.50 // indirect
github.com/microcosm-cc/bluemonday v1.0.23 // indirect
github.com/miekg/dns v1.1.52 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/minio/minio-go/v7 v7.0.42 // indirect
github.com/minio/minio-go/v7 v7.0.49 // indirect
github.com/minio/sha256-simd v1.0.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
@ -155,56 +166,58 @@ require (
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/oliamb/cutter v0.2.2 // indirect
github.com/olivere/elastic/v7 v7.0.32 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0-rc2 // indirect
github.com/pierrec/lz4/v4 v4.1.17 // indirect
github.com/pjbgf/sha1cd v0.3.0 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pquerna/otp v1.3.0 // indirect
github.com/prometheus/client_golang v1.13.0 // indirect
github.com/pquerna/otp v1.4.0 // indirect
github.com/prometheus/client_golang v1.14.0 // indirect
github.com/prometheus/client_model v0.3.0 // indirect
github.com/prometheus/common v0.37.0 // indirect
github.com/prometheus/procfs v0.8.0 // indirect
github.com/prometheus/common v0.42.0 // indirect
github.com/prometheus/procfs v0.9.0 // indirect
github.com/quasoft/websspi v1.1.2 // indirect
github.com/rivo/uniseg v0.4.2 // indirect
github.com/rivo/uniseg v0.4.4 // indirect
github.com/rs/xid v1.4.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.0.1 // indirect
github.com/sergi/go-diff v1.2.0 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.2.0 // indirect
github.com/sergi/go-diff v1.3.1 // indirect
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect
github.com/sirupsen/logrus v1.9.0 // indirect
github.com/skeema/knownhosts v1.1.0 // indirect
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
github.com/syndtr/goleveldb v1.0.0 // indirect
github.com/tstranex/u2f v1.0.0 // indirect
github.com/ulikunitz/xz v0.5.10 // indirect
github.com/ulikunitz/xz v0.5.11 // indirect
github.com/unknwon/com v1.0.1 // indirect
github.com/unrolled/render v1.5.0 // indirect
github.com/unrolled/render v1.6.0 // indirect
github.com/valyala/fastjson v1.6.4 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xanzy/go-gitlab v0.73.1 // indirect
github.com/xanzy/ssh-agent v0.3.2 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
github.com/yohcop/openid-go v1.0.0 // indirect
github.com/yuin/goldmark v1.5.2 // indirect
github.com/yuin/goldmark-highlighting v0.0.0-20220208100518-594be1970594 // indirect
github.com/yohcop/openid-go v1.0.1 // indirect
github.com/yuin/goldmark v1.5.4 // indirect
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20220924101305-151362477c87 // indirect
github.com/yuin/goldmark-meta v1.1.0 // indirect
go.etcd.io/bbolt v1.3.6 // indirect
go.etcd.io/bbolt v1.3.7 // indirect
go.jolheiser.com/hcaptcha v0.0.4 // indirect
go.jolheiser.com/pwn v0.0.3 // indirect
go.uber.org/atomic v1.10.0 // indirect
go.uber.org/multierr v1.8.0 // indirect
go.uber.org/zap v1.23.0 // indirect
golang.org/x/crypto v0.1.0 // indirect
golang.org/x/mod v0.6.0 // indirect
golang.org/x/net v0.1.0 // indirect
golang.org/x/oauth2 v0.1.0 // indirect
golang.org/x/sys v0.1.0 // indirect
golang.org/x/text v0.4.0 // indirect
golang.org/x/time v0.1.0 // indirect
golang.org/x/tools v0.2.0 // indirect
go.uber.org/multierr v1.10.0 // indirect
go.uber.org/zap v1.24.0 // indirect
golang.org/x/crypto v0.7.0 // indirect
golang.org/x/mod v0.9.0 // indirect
golang.org/x/oauth2 v0.6.0 // indirect
golang.org/x/sys v0.6.0 // indirect
golang.org/x/time v0.3.0 // indirect
golang.org/x/tools v0.7.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.28.1 // indirect
google.golang.org/protobuf v1.29.0 // indirect
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
mvdan.cc/xurls/v2 v2.4.0 // indirect
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251 // indirect
xorm.io/builder v0.3.12 // indirect
xorm.io/xorm v1.3.2 // indirect
)

420
go.sum
View File

@ -30,8 +30,10 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
cloud.google.com/go/compute v1.10.0 h1:aoLIYaA1fX3ywihqpBk2APQKOo20nXsp1GEZQbx5Jk4=
cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU=
cloud.google.com/go/compute v1.18.0 h1:FEigFqoDbys2cvFkZ9Fjq4gnHBP55anJ0yQyau2f9oY=
cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs=
cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
@ -45,12 +47,14 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
code.gitea.io/gitea v1.17.3 h1:+/cmYM8l7ZmXm8BFdcQgP5cqy70TUF47IwhIOQpC1uA=
code.gitea.io/gitea v1.17.3/go.mod h1:rzYkVbAsHVMNc2GxIpCkyPkGzaWhyLp3G8jhPyTaak0=
code.gitea.io/gitea v1.18.5 h1:wvLC5nRen/YfYQPq2y2Iri+KMa+onJgG320qXdTxmG4=
code.gitea.io/gitea v1.18.5/go.mod h1:2qIAsBv5UvuVrE5mQS4q+9OiH//pm46P7HcTo3CeIDI=
code.gitea.io/gitea-vet v0.2.1/go.mod h1:zcNbT/aJEmivCAhfmkHOlT645KNOf9W2KnkLgFjGGfE=
code.gitea.io/sdk/gitea v0.11.3/go.mod h1:z3uwDV/b9Ls47NGukYM9XhnHtqPh/J+t40lsUrR6JDY=
code.gitea.io/sdk/gitea v0.15.1 h1:WJreC7YYuxbn0UDaPuWIe/mtiNKTvLN8MLkaw71yx/M=
code.gitea.io/sdk/gitea v0.15.1/go.mod h1:klY2LVI3s3NChzIk/MzMn7G1FHrfU7qd63iSMVoHRBA=
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570 h1:TXbikPqa7YRtfU9vS6QJBg77pUvbEb6StRdZO8t1bEY=
codeberg.org/gusted/mcaptcha v0.0.0-20220723083913-4f3072e1d570/go.mod h1:IIAjsijsd8q1isWX8MACefDEgTQslQ4stk2AeeTt3kM=
contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA=
contrib.go.opencensus.io/exporter/ocagent v0.5.0/go.mod h1:ImxhfLRpxoYiSq891pBrLVhN+qmP8BTVvdH2YLs7Gl0=
contrib.go.opencensus.io/exporter/stackdriver v0.12.1/go.mod h1:iwB6wGarfphGGe/e5CWqyUk/cLzKnWsOKPVW3no6OTw=
@ -58,6 +62,8 @@ contrib.go.opencensus.io/exporter/stackdriver v0.13.5/go.mod h1:aXENhDJ1Y4lIg4EU
contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE=
contrib.go.opencensus.io/resource v0.1.1/go.mod h1:F361eGI91LCmW1I/Saf+rX0+OFcigGlFvXwEGEnkRLA=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 h1:cliQ4HHsCo6xi2oWZYKWW4bly/Ory9FuTpFPRxj/mAg=
git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078/go.mod h1:g/V2Hjas6Z1UHUp4yIx6bATpNzJ7DYtD0FG3+xARWxs=
gitea.com/go-chi/binding v0.0.0-20221013104517-b29891619681 h1:MMSPgnVULVwV9kEBgvyEUhC9v/uviZ55hPJEMjpbNR4=
gitea.com/go-chi/binding v0.0.0-20221013104517-b29891619681/go.mod h1:77TZu701zMXWJFvB8gvTbQ92zQ3DQq/H7l5wAEjQRKc=
gitea.com/go-chi/cache v0.0.0-20210110083709-82c4c9ce2d5e/go.mod h1:k2V/gPDEtXGjjMGuBJiapffAXTv76H4snSmlJRLUhH0=
@ -65,8 +71,10 @@ gitea.com/go-chi/cache v0.2.0 h1:E0npuTfDW6CT1yD8NMDVc1SK6IeRjfmRL2zlEsCEd7w=
gitea.com/go-chi/cache v0.2.0/go.mod h1:iQlVK2aKTZ/rE9UcHyz9pQWGvdP9i1eI2spOpzgCrtE=
gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5 h1:J/1i8u40TbcLP/w2w2KCkgW2PelIqYkD5UOwu8IOvVU=
gitea.com/go-chi/captcha v0.0.0-20211013065431-70641c1a35d5/go.mod h1:hQ9SYHKdOX968wJglb/NMQ+UqpOKwW4L+EYdvkWjHSo=
gitea.com/go-chi/session v0.0.0-20211218221615-e3605d8b28b8 h1:tJQRXgZigkLeeW9LPlps9G9aMoE6LAmqigLA+wxmd1Q=
gitea.com/go-chi/session v0.0.0-20211218221615-e3605d8b28b8/go.mod h1:fc/pjt5EqNKgqQXYzcas1Z5L5whkZHyOvTA7OzWVJck=
gitea.com/go-chi/session v0.0.0-20221220005550-e056dc379164 h1:nvIOUfSzrQ6EphSLnYI+e4OcvqTd6HWdCnh+aIq9Uew=
gitea.com/go-chi/session v0.0.0-20221220005550-e056dc379164/go.mod h1:fc/pjt5EqNKgqQXYzcas1Z5L5whkZHyOvTA7OzWVJck=
gitea.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96 h1:+wWBi6Qfruqu7xJgjOIrKVQGiLUZdpKYCZewJ4clqhw=
gitea.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96/go.mod h1:VyMQP6ue6MKHM8UsOXfNfuMKD0oSAWZdXVcpHIN2yaY=
gitea.com/lunny/levelqueue v0.4.2-0.20220729054728-f020868cc2f7 h1:Zc3RQWC2xOVglLciQH/ZIC5IqSk3Jn96LflGQLv18Rg=
gitea.com/lunny/levelqueue v0.4.2-0.20220729054728-f020868cc2f7/go.mod h1:HBqmLbz56JWpfEGG0prskAV97ATNRoj5LDmPicD22hU=
gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s=
@ -84,9 +92,11 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2
github.com/Azure/azure-service-bus-go v0.9.1/go.mod h1:yzBx6/BUGfjfeqbRZny9AQIbIe3AcV9WZbAdpkoXOa0=
github.com/Azure/azure-storage-blob-go v0.8.0/go.mod h1:lPI3aLPpuLTeUwh1sViKXFxwl2B6teiRqI0deQUvsw0=
github.com/Azure/go-autorest v12.0.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/Azure/go-ntlmssp v0.0.0-20220621081337-cb9428e4ac1e h1:NeAW1fUYUEWhft7pkxDf6WoUvEZJ/uOKsvtpjLnn8MU=
github.com/Azure/go-ntlmssp v0.0.0-20220621081337-cb9428e4ac1e/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU=
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+s7s0MwaRv9igoPqLRdzOLzw/8Xvq8=
github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/GoogleCloudPlatform/cloudsql-proxy v0.0.0-20191009163259-e802c2cb94ae/go.mod h1:mjwGPas4yKduTyubHvD1Atl9r1rUq8DfVy+gkVvZ+oo=
github.com/Julusian/godocdown v0.0.0-20170816220326-6d19f8ff2df8/go.mod h1:INZr5t32rG59/5xeltqoCJoNY7e5x/3xoY9WSWVWg74=
@ -99,39 +109,42 @@ github.com/Masterminds/semver/v3 v3.1.0/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0
github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
github.com/Masterminds/sprig v2.15.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o=
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg=
github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE=
github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I=
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo=
github.com/ProtonMail/go-crypto v0.0.0-20220930113650-c6815a8c17ad h1:QeeqI2zxxgZVe11UrYFXXx6gVxPVF40ygekjBzEg4XY=
github.com/ProtonMail/go-crypto v0.0.0-20220930113650-c6815a8c17ad/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8=
github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8=
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA=
github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g=
github.com/RoaringBitmap/roaring v0.4.23/go.mod h1:D0gp8kJQgE1A4LQ5wFLggQEyvDi06Mq5mKs52e1TwOo=
github.com/RoaringBitmap/roaring v0.7.1/go.mod h1:jdT9ykXwHFNdJbEtxePexlFYH9LXucApeS0/+/g+p1I=
github.com/RoaringBitmap/roaring v1.2.1 h1:58/LJlg/81wfEHd5L9qsHduznOIhyv4qb1yWcSvVq9A=
github.com/RoaringBitmap/roaring v1.2.1/go.mod h1:icnadbWcNyfEHlYdr+tDlOTih1Bf/h+rzPpv4sbomAA=
github.com/RoaringBitmap/roaring v1.2.3 h1:yqreLINqIrX22ErkKI0vY47/ivtJr6n+kMhVOVmhWBY=
github.com/RoaringBitmap/roaring v1.2.3/go.mod h1:plvDsJQpxOC5bw8LRteu/MLWHsHez/3y6cubLI4/1yE=
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk=
github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ=
github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek=
github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s=
github.com/alecthomas/assert/v2 v2.2.1 h1:XivOgYcduV98QCahG8T5XTezV5bylXe+lBxLG2K2ink=
github.com/alecthomas/chroma/v2 v2.2.0/go.mod h1:vf4zrexSH54oEjJ7EdB65tGNHmH3pGZmVkgTP5RHvAs=
github.com/alecthomas/chroma/v2 v2.5.0 h1:CQCdj1BiBV17sD4Bd32b/Bzuiq/EqoNTrnIhyQAZ+Rk=
github.com/alecthomas/chroma/v2 v2.5.0/go.mod h1:yrkMI9807G1ROx13fhe1v6PN2DDeaR73L3d+1nmYQtw=
github.com/alecthomas/kingpin v2.2.6+incompatible/go.mod h1:59OFYbFVLKQKq+mqrL6Rw5bR0c3ACQaawgXx0QYndlE=
github.com/alecthomas/repr v0.0.0-20220113201626-b1b626ac65ae/go.mod h1:2kn6fqh/zIyPLmm3ugklbEi5hg5wS435eygvNfaDQL8=
github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/andybalholm/brotli v1.0.1/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs=
github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
@ -164,7 +177,6 @@ github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@ -172,19 +184,18 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bits-and-blooms/bitset v1.1.10/go.mod h1:w0XsmFg8qg6cmpTtJ0z3pKgjTDBMMnI/+I2syrE6XBE=
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bits-and-blooms/bitset v1.3.3 h1:R1XWiopGiXf66xygsiLpzLo67xEYvMkHw3w+rCOSAwg=
github.com/bits-and-blooms/bitset v1.3.3/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bits-and-blooms/bitset v1.5.0 h1:NpE8frKRLGHIcEzkR+gZhiioW1+WbYV6fKwD6ZIpQT8=
github.com/bits-and-blooms/bitset v1.5.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI=
github.com/blevesearch/bleve/v2 v2.0.5/go.mod h1:ZjWibgnbRX33c+vBRgla9QhPb4QOjD6fdVJ+R1Bk8LM=
github.com/blevesearch/bleve/v2 v2.3.5 h1:1wuR7eB8Fk9UaCaBUfnQt5V7zIpi4VDok9ExN7Rl+/8=
github.com/blevesearch/bleve/v2 v2.3.5/go.mod h1:FneKGHMRrCLrp4X9+iy3wlBqgM2ALucg7bp8jUuAi/s=
github.com/blevesearch/bleve/v2 v2.3.6 h1:NlntUHcV5CSWIhpugx4d/BRMGCiaoI8ZZXrXlahzNq4=
github.com/blevesearch/bleve/v2 v2.3.6/go.mod h1:JM2legf1cKVkdV8Ehu7msKIOKC0McSw0Q16Fmv9vsW4=
github.com/blevesearch/bleve_index_api v1.0.0/go.mod h1:fiwKS0xLEm+gBRgv5mumf0dhgFr2mDgZah1pqv1c1M4=
github.com/blevesearch/bleve_index_api v1.0.3/go.mod h1:fiwKS0xLEm+gBRgv5mumf0dhgFr2mDgZah1pqv1c1M4=
github.com/blevesearch/bleve_index_api v1.0.4 h1:mtlzsyJjMIlDngqqB1mq8kPryUMIuEVVbRbJHOWEexU=
github.com/blevesearch/bleve_index_api v1.0.4/go.mod h1:YXMDwaXFFXwncRS8UobWs7nvo0DmusriM1nztTlj1ms=
github.com/blevesearch/geo v0.1.15 h1:0NybEduqE5fduFRYiUKF0uqybAIFKXYjkBdXKYn7oA4=
github.com/blevesearch/geo v0.1.15/go.mod h1:cRIvqCdk3cgMhGeHNNe6yPzb+w56otxbfo1FBJfR2Pc=
github.com/blevesearch/bleve_index_api v1.0.5 h1:Lc986kpC4Z0/n1g3gg8ul7H+lxgOQPcXb9SxvQGu+tw=
github.com/blevesearch/bleve_index_api v1.0.5/go.mod h1:YXMDwaXFFXwncRS8UobWs7nvo0DmusriM1nztTlj1ms=
github.com/blevesearch/geo v0.1.17 h1:AguzI6/5mHXapzB0gE9IKWo+wWPHZmXZoscHcjFgAFA=
github.com/blevesearch/geo v0.1.17/go.mod h1:uRMGWG0HJYfWfFJpK3zTdnnr1K+ksZTuWKhXeSokfnM=
github.com/blevesearch/go-porterstemmer v1.0.3 h1:GtmsqID0aZdCSNiY8SkuPJ12pD4jI+DdXTAn4YRcHCo=
github.com/blevesearch/go-porterstemmer v1.0.3/go.mod h1:angGc5Ht+k2xhJdZi511LtmxuEf0OVpvUUNrwmM1P7M=
github.com/blevesearch/gtreap v0.1.1 h1:2JWigFrzDMR+42WGIN/V2p0cUvn4UP3C4Q5nmaZGW8Y=
@ -193,41 +204,42 @@ github.com/blevesearch/mmap-go v1.0.2/go.mod h1:ol2qBqYaOUsGdm7aRMRrYGgPvnwLe6Y+
github.com/blevesearch/mmap-go v1.0.4 h1:OVhDhT5B/M1HNPpYPBKIEJaD0F3Si+CrEKULGCDPWmc=
github.com/blevesearch/mmap-go v1.0.4/go.mod h1:EWmEAOmdAS9z/pi/+Toxu99DnsbhG1TIxUoRmJw/pSs=
github.com/blevesearch/scorch_segment_api/v2 v2.0.1/go.mod h1:lq7yK2jQy1yQjtjTfU931aVqz7pYxEudHaDwOt1tXfU=
github.com/blevesearch/scorch_segment_api/v2 v2.1.3 h1:2UzpR2dR5DvSZk8tVJkcQ7D5xhoK/UBelYw8ttBHrRQ=
github.com/blevesearch/scorch_segment_api/v2 v2.1.3/go.mod h1:eZrfp1y+lUh+DzFjUcTBUSnKGuunyFIpBIvqYVzJfvc=
github.com/blevesearch/segment v0.9.0 h1:5lG7yBCx98or7gK2cHMKPukPZ/31Kag7nONpoBt22Ac=
github.com/blevesearch/scorch_segment_api/v2 v2.1.4 h1:LmGmo5twU3gV+natJbKmOktS9eMhokPGKWuR+jX84vk=
github.com/blevesearch/scorch_segment_api/v2 v2.1.4/go.mod h1:PgVnbbg/t1UkgezPDu8EHLi1BHQ17xUwsFdU6NnOYS0=
github.com/blevesearch/segment v0.9.0/go.mod h1:9PfHYUdQCgHktBgvtUOF4x+pc4/l8rdH0u5spnW85UQ=
github.com/blevesearch/segment v0.9.1 h1:+dThDy+Lvgj5JMxhmOVlgFfkUtZV2kw49xax4+jTfSU=
github.com/blevesearch/segment v0.9.1/go.mod h1:zN21iLm7+GnBHWTao9I+Au/7MBiL8pPFtJBJTsk6kQw=
github.com/blevesearch/snowballstem v0.9.0 h1:lMQ189YspGP6sXvZQ4WZ+MLawfV8wOmPoD/iWeNXm8s=
github.com/blevesearch/snowballstem v0.9.0/go.mod h1:PivSj3JMc8WuaFkTSRDW2SlrulNWPl4ABg1tC/hlgLs=
github.com/blevesearch/upsidedown_store_api v1.0.1 h1:1SYRwyoFLwG3sj0ed89RLtM15amfX2pXlYbFOnF8zNU=
github.com/blevesearch/upsidedown_store_api v1.0.1/go.mod h1:MQDVGpHZrpe3Uy26zJBf/a8h0FZY6xJbthIMm8myH2Q=
github.com/blevesearch/upsidedown_store_api v1.0.2 h1:U53Q6YoWEARVLd1OYNc9kvhBMGZzVrdmaozG2MfoB+A=
github.com/blevesearch/upsidedown_store_api v1.0.2/go.mod h1:M01mh3Gpfy56Ps/UXHjEO/knbqyQ1Oamg8If49gRwrQ=
github.com/blevesearch/vellum v1.0.3/go.mod h1:2u5ax02KeDuNWu4/C+hVQMD6uLN4txH1JbtpaDNLJRo=
github.com/blevesearch/vellum v1.0.4/go.mod h1:cMhywHI0de50f7Nj42YgvyD6bFJ2WkNRvNBlNMrEVgY=
github.com/blevesearch/vellum v1.0.9 h1:PL+NWVk3dDGPCV0hoDu9XLLJgqU4E5s/dOeEJByQ2uQ=
github.com/blevesearch/vellum v1.0.9/go.mod h1:ul1oT0FhSMDIExNjIxHqJoGpVrBpKCdgDQNxfqgJt7k=
github.com/blevesearch/zapx/v11 v11.2.0/go.mod h1:gN/a0alGw1FZt/YGTo1G6Z6XpDkeOfujX5exY9sCQQM=
github.com/blevesearch/zapx/v11 v11.3.6 h1:50jET4HUJ6eCqGxdhUt+mjybMvEX2MWyqLGtCx3yUgc=
github.com/blevesearch/zapx/v11 v11.3.6/go.mod h1:B0CzJRj/pS7hJIroflRtFsa9mRHpMSucSgre0FVINns=
github.com/blevesearch/zapx/v11 v11.3.7 h1:Y6yIAF/DVPiqZUA/jNgSLXmqewfzwHzuwfKyfdG+Xaw=
github.com/blevesearch/zapx/v11 v11.3.7/go.mod h1:Xk9Z69AoAWIOvWudNDMlxJDqSYGf90LS0EfnaAIvXCA=
github.com/blevesearch/zapx/v12 v12.2.0/go.mod h1:fdjwvCwWWwJW/EYTYGtAp3gBA0geCYGLcVTtJEZnY6A=
github.com/blevesearch/zapx/v12 v12.3.6 h1:G304NHBLgQeZ+IHK/XRCM0nhHqAts8MEvHI6LhoDNM4=
github.com/blevesearch/zapx/v12 v12.3.6/go.mod h1:iYi7tIKpauwU5os5wTxJITixr5Km21Hl365otMwdaP0=
github.com/blevesearch/zapx/v12 v12.3.7 h1:DfQ6rsmZfEK4PzzJJRXjiM6AObG02+HWvprlXQ1Y7eI=
github.com/blevesearch/zapx/v12 v12.3.7/go.mod h1:SgEtYIBGvM0mgIBn2/tQE/5SdrPXaJUaT/kVqpAPxm0=
github.com/blevesearch/zapx/v13 v13.2.0/go.mod h1:o5rAy/lRS5JpAbITdrOHBS/TugWYbkcYZTz6VfEinAQ=
github.com/blevesearch/zapx/v13 v13.3.6 h1:vavltQHNdjQezhLZs5nIakf+w/uOa1oqZxB58Jy/3Ig=
github.com/blevesearch/zapx/v13 v13.3.6/go.mod h1:X+FsTwCU8qOHtK0d/ArvbOH7qiIgViSQ1GQvcR6LSkI=
github.com/blevesearch/zapx/v13 v13.3.7 h1:igIQg5eKmjw168I7av0Vtwedf7kHnQro/M+ubM4d2l8=
github.com/blevesearch/zapx/v13 v13.3.7/go.mod h1:yyrB4kJ0OT75UPZwT/zS+Ru0/jYKorCOOSY5dBzAy+s=
github.com/blevesearch/zapx/v14 v14.2.0/go.mod h1:GNgZusc1p4ot040cBQMRGEZobvwjCquiEKYh1xLFK9g=
github.com/blevesearch/zapx/v14 v14.3.6 h1:b9lub7TvcwUyJxK/cQtnN79abngKxsI7zMZnICU0WhE=
github.com/blevesearch/zapx/v14 v14.3.6/go.mod h1:9X8W3XoikagU0rwcTqwZho7p9cC7m7zhPZO94S4wUvM=
github.com/blevesearch/zapx/v14 v14.3.7 h1:gfe+fbWslDWP/evHLtp/GOvmNM3sw1BbqD7LhycBX20=
github.com/blevesearch/zapx/v14 v14.3.7/go.mod h1:9J/RbOkqZ1KSjmkOes03AkETX7hrXT0sFMpWH4ewC4w=
github.com/blevesearch/zapx/v15 v15.2.0/go.mod h1:MmQceLpWfME4n1WrBFIwplhWmaQbQqLQARpaKUEOs/A=
github.com/blevesearch/zapx/v15 v15.3.6 h1:VSswg/ysDxHgitcNkpUNtaTYS4j3uItpXWLAASphl6k=
github.com/blevesearch/zapx/v15 v15.3.6/go.mod h1:5DbhhDTGtuQSns1tS2aJxJLPc91boXCvjOMeCLD1saM=
github.com/blevesearch/zapx/v15 v15.3.9 h1:/s9zqKxFaZKQTTcMO2b/Tup0ch5MSztlvw+frVDfIBk=
github.com/blevesearch/zapx/v15 v15.3.9/go.mod h1:m7Y6m8soYUvS7MjN9eKlz1xrLCcmqfFadmu7GhWIrLY=
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
github.com/bradfitz/gomemcache v0.0.0-20190329173943-551aad21a668/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d h1:pVrfxiGfwelyab6n21ZBkbkmbevaf+WvMIiR7sr97hw=
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/bradfitz/gomemcache v0.0.0-20230124162541-5f7a7d875746 h1:wAIE/kN63Oig1DdOzN7O+k4AbFh2cCJoKMFXrwRJtzk=
github.com/bradfitz/gomemcache v0.0.0-20230124162541-5f7a7d875746/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/bwesterb/go-ristretto v1.2.1/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/caarlos0/ctrlc v1.0.0/go.mod h1:CdXpj4rmq0q/1Eb44M9zi2nKB0QraNKuRGYGrrHhcQw=
github.com/caddyserver/certmagic v0.17.2 h1:o30seC1T/dBqBCNNGNHWwj2i5/I/FMjBbTAhjADP3nE=
github.com/caddyserver/certmagic v0.17.2/go.mod h1:ouWUuC490GOLJzkyN35eXfV8bSbwMwSf4bdhkIxtdQE=
@ -242,8 +254,8 @@ github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6
github.com/certifi/gocertifi v0.0.0-20210507211836-431795d63e8d/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chi-middleware/proxy v1.1.1 h1:4HaXUp8o2+bhHr1OhVy+VjN0+L7/07JDcn6v7YrTjrQ=
github.com/chi-middleware/proxy v1.1.1/go.mod h1:jQwMEJct2tz9VmtCELxvnXoMfa+SOdikvbVJVHv/M+0=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
@ -255,8 +267,8 @@ github.com/cloudflare/backoff v0.0.0-20161212185259-647f3cdfc87a/go.mod h1:rzgs2
github.com/cloudflare/cfssl v1.6.3 h1:hDhRaGQN55nh0510/7A5QBN3xLoDz/M7nQX80icXvzs=
github.com/cloudflare/cfssl v1.6.3/go.mod h1:Kq0iHKY8sm2klDeQ2Ci/FI+6QdBGuyPWodgTJFLrXIw=
github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
github.com/cloudflare/circl v1.2.0 h1:NheeISPSUcYftKlfrLuOo4T62FkmD4t4jviLfFFYaec=
github.com/cloudflare/circl v1.2.0/go.mod h1:Ch2UgYr6ti2KTtlejELlROl0YIYj7SLjAC8M+INXlMk=
github.com/cloudflare/circl v1.3.2 h1:VWp8dY3yH69fdM7lM6A1+NhhVoDu9vqK0jOgmkQHFWk=
github.com/cloudflare/circl v1.3.2/go.mod h1:+CauBF6R70Jqcyl8N2hC8pAXYbWkGIezuSbuGLtRhnw=
github.com/cloudflare/redoctober v0.0.0-20201013214028-99c99a8e7544/go.mod h1:6Se34jNoqrd8bTxrmJB2Bg2aoZ2CdSXonils9NsiNgo=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
@ -286,8 +298,8 @@ github.com/couchbase/go-couchbase v0.0.0-20201026062457-7b3be89bbd89/go.mod h1:+
github.com/couchbase/go-couchbase v0.1.1 h1:ClFXELcKj/ojyoTYbsY34QUrrYCBi/1G749sXSCkdhk=
github.com/couchbase/go-couchbase v0.1.1/go.mod h1:+/bddYDxXsf9qt0xpDUtRR47A2GjaXmGGAqQ/k3GJ8A=
github.com/couchbase/gomemcached v0.1.1/go.mod h1:mxliKQxOv84gQ0bJWbI+w9Wxdpt9HjDvgW9MjCym5Vo=
github.com/couchbase/gomemcached v0.1.4 h1:5n5wmr4dBu+X7XteP8QHP5S9inK9MBjNpN9b7WSQfuA=
github.com/couchbase/gomemcached v0.1.4/go.mod h1:mxliKQxOv84gQ0bJWbI+w9Wxdpt9HjDvgW9MjCym5Vo=
github.com/couchbase/gomemcached v0.2.1 h1:lDONROGbklo8pOt4Sr4eV436PVEaKDr3o9gUlhv9I2U=
github.com/couchbase/gomemcached v0.2.1/go.mod h1:mxliKQxOv84gQ0bJWbI+w9Wxdpt9HjDvgW9MjCym5Vo=
github.com/couchbase/goutils v0.0.0-20201030094643-5e82bb967e67/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs=
github.com/couchbase/goutils v0.1.2 h1:gWr8B6XNWPIhfalHNog3qQKfGiYyh4K4VhO3P2o9BCs=
github.com/couchbase/goutils v0.1.2/go.mod h1:h89Ek/tiOxxqjz30nPPlwZdQbdB8BwgnuBxeoUe/ViE=
@ -322,17 +334,19 @@ github.com/djherbis/buffer v1.2.0/go.mod h1:fjnebbZjCUpPinBRD+TDwXSOeNQ7fPQWLfGQ
github.com/djherbis/nio/v3 v3.0.1 h1:6wxhnuppteMa6RHA4L81Dq7ThkZH8SwnDzXDYy95vB4=
github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmWgZxOcmg=
github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
github.com/dlclark/regexp2 v1.7.0 h1:7lJfhqlPssTb1WQx4yvTHN0uElPEv52sbaECrAQxjAo=
github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/dlclark/regexp2 v1.8.1 h1:6Lcdwya6GjPUNsBct8Lg/yRPwMhABj269AAzdGSiR+0=
github.com/dlclark/regexp2 v1.8.1/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 h1:iFaUwBSo5Svw6L7HYpRu/0lE3e0BaElwnNO1qkNQxBY=
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s=
github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
github.com/duo-labs/webauthn v0.0.0-20220815211337-00c9fb5711f5 h1:BaeJtFDlto/NjX9t730OebRRJf2P+t9YEDz3ur18824=
github.com/duo-labs/webauthn v0.0.0-20220815211337-00c9fb5711f5/go.mod h1:Jcj7rFNlTknb18v9jpSA58BveX2LDhXqaoy+6YV1N9g=
github.com/duo-labs/webauthn v0.0.0-20221205164246-ebaf9b74c6ec h1:darQ1FPPrwlzwmuN3fRMVCrsaCpuDqkKHADYzcMa73M=
github.com/duo-labs/webauthn v0.0.0-20221205164246-ebaf9b74c6ec/go.mod h1:V3q8IgNpNqFio+56G0vy/QZIi7iho65UFrDwdF5OtZA=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
@ -386,29 +400,36 @@ github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE=
github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24=
github.com/go-ap/activitypub v0.0.0-20230307141717-3566110d71a0 h1:ll+jcwBW55vQDUV3jHuua/0wqjTm2GIh/iP1wwjbPSc=
github.com/go-ap/activitypub v0.0.0-20230307141717-3566110d71a0/go.mod h1:1oVD0h0aPT3OEE1ZoSUoym/UGKzxe+e0y8K2AkQ1Hqs=
github.com/go-ap/errors v0.0.0-20221205040414-01c1adfc98ea h1:ywGtLGVjJjMrq4mu35Qmu+NtlhlTk/gTayE6Bb4tQZk=
github.com/go-ap/errors v0.0.0-20221205040414-01c1adfc98ea/go.mod h1:SaTNjEEkp0q+w3pUS1ccyEL/lUrHteORlDq/e21mCc8=
github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73 h1:GMKIYXyXPGIp+hYiWOhfqK4A023HdgisDT4YGgf99mw=
github.com/go-ap/jsonld v0.0.0-20221030091449-f2a191312c73/go.mod h1:jyveZeGw5LaADntW+UEsMjl3IlIwk+DxlYNsbofQkGA=
github.com/go-asn1-ber/asn1-ber v1.5.4 h1:vXT6d/FNDiELJnLb6hGNa309LMsrCoYFvpwHDF0+Y1A=
github.com/go-asn1-ber/asn1-ber v1.5.4/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
github.com/go-chi/chi/v5 v5.0.1/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/chi/v5 v5.0.4/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/chi/v5 v5.0.7 h1:rDTPXLDHGATaeHvVlLcR4Qe0zftYethFucbjVQ1PxU8=
github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/chi/v5 v5.0.8 h1:lD+NLqFcAi1ovnVZpsnObHGW4xb4J8lNmoYVfECH1Y0=
github.com/go-chi/chi/v5 v5.0.8/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4=
github.com/go-chi/cors v1.2.1/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58=
github.com/go-enry/go-enry/v2 v2.8.3 h1:BwvNrN58JqBJhyyVdZSl5QD3xoxEEGYUrRyPh31FGhw=
github.com/go-enry/go-enry/v2 v2.8.3/go.mod h1:GVzIiAytiS5uT/QiuakK7TF1u4xDab87Y8V5EJRpsIQ=
github.com/go-enry/go-enry/v2 v2.8.4 h1:QrY3hx/RiqCJJRbdU0MOcjfTM1a586J0WSooqdlJIhs=
github.com/go-enry/go-enry/v2 v2.8.4/go.mod h1:9yrj4ES1YrbNb1Wb7/PWYr2bpaCXUGRt0uafN0ISyG8=
github.com/go-enry/go-oniguruma v1.2.1 h1:k8aAMuJfMrqm/56SG2lV9Cfti6tC4x8673aHCcBk+eo=
github.com/go-enry/go-oniguruma v1.2.1/go.mod h1:bWDhYP+S6xZQgiRL7wlTScFYBe023B6ilRZbCAD5Hf4=
github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI=
github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM=
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e h1:oRq/fiirun5HqlEWMLIcDmLpIELlG4iGbd0s8iqgPi8=
github.com/go-fed/httpsig v1.1.1-0.20201223112313-55836744818e/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM=
github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4=
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34=
github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2SubfXjIWgci8=
github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0=
github.com/go-git/go-git/v5 v5.4.3-0.20210630082519-b4368b2a2ca4 h1:1RSUwVK7VjTeA82kcLIqz1EU70QRwFdZUlJW58gP4GY=
github.com/go-git/go-git/v5 v5.4.3-0.20210630082519-b4368b2a2ca4/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc=
github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg=
github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4=
github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg=
github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ=
github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo=
github.com/go-git/go-git/v5 v5.6.0 h1:JvBdYfcttd+0kdpuWO7KTu0FYgCf5W0t5VwkWGobaa4=
github.com/go-git/go-git/v5 v5.6.0/go.mod h1:6nmJ0tJ3N4noMV1Omv7rC5FG3/o8Cm51TB4CJp7mRmE=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
@ -416,14 +437,11 @@ github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3I
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0=
github.com/go-ldap/ldap/v3 v3.4.4 h1:qPjipEpt+qDa6SI/h1fzuGWoRUY+qqQ9sOZq67/PYUs=
github.com/go-ldap/ldap/v3 v3.4.4/go.mod h1:fe1MsuN5eJJ1FeLT/LEBVdWfNWKh459R7aXgXtJC+aI=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
github.com/go-redis/redis v6.15.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
github.com/go-redis/redis/v8 v8.4.0/go.mod h1:A1tbYoHSa1fXwN+//ljcCYYJeLmVrwL9hbQN45Jdy0M=
@ -432,17 +450,18 @@ github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-testfixtures/testfixtures/v3 v3.6.1 h1:n4Fv95Exp0D05G6l6CAZv22Ck1EJK0pa0TfPqE4ncSs=
github.com/go-testfixtures/testfixtures/v3 v3.8.1 h1:uonwvepqRvSgddcrReZQhojTlWlmOlHkYAb9ZaOMWgU=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/goccy/go-json v0.8.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/goccy/go-json v0.9.5/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/goccy/go-json v0.9.6/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk=
github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/goccy/go-json v0.10.1 h1:lEs5Ob+oOG/Ze199njvzHbhn6p9T+h64F5hRj69iTTo=
github.com/goccy/go-json v0.10.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
@ -461,8 +480,8 @@ github.com/gogs/cron v0.0.0-20171120032916-9f6c956d3e14/go.mod h1:jPoNZLWDAqA5N3
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85 h1:UjoPNDAQ5JPCjlxoJd6K8ALZqSDDhk2ymieAZOVaDg0=
github.com/gogs/go-gogs-client v0.0.0-20210131175652-1d7215cd8d85/go.mod h1:fR6z1Ie6rtF7kl/vBYMfgD5/G5B1blui7z426/sj2DU=
github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs=
github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA=
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
@ -502,8 +521,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
@ -529,6 +549,7 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-github/v28 v28.1.1/go.mod h1:bsqJWQX05omyWVmc00nEUql9mhQyv38lDZ8kPZcQVoM=
github.com/google/go-github/v45 v45.2.0 h1:5oRLszbrkvxDDqBCNj2hjDZMKmvexaZ1xw/FCD+K3FI=
github.com/google/go-github/v45 v45.2.0/go.mod h1:FObaZJEDSTa/WGCzZ2Z3eoCDXWJKMenWWTrd8jrta28=
@ -539,7 +560,6 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17
github.com/google/go-replayers/grpcreplay v0.1.0/go.mod h1:8Ig2Idjpr6gifRd6pNVggX6TC1Zw6Jx74AKp7QNH2QE=
github.com/google/go-replayers/httpreplay v0.1.0/go.mod h1:YKZViNhiGgqdBlUbI2MwGpq4pXxNmhJLPHQ7cv2b5no=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/licenseclassifier v0.0.0-20210325184830-bb04aff29e72/go.mod h1:qsqn2hxC+vURpyBRygGUuinTO42MFRLcsmQ/P8v94+M=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian v2.1.1-0.20190517191504-25dcb96d9e51+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
@ -558,8 +578,8 @@ github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLe
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg=
github.com/google/pprof v0.0.0-20221010195024-131d412537ea h1:R3VfsTXMMK4JCWZDdxScmnTzu9n9YRsDvguLis0U/b8=
github.com/google/pprof v0.0.0-20221010195024-131d412537ea/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
github.com/google/pprof v0.0.0-20230309165930-d61513b1440d h1:um9/pc7tKMINFfP1eE7Wv6PRGXlcCSJkVajF7KJw3uQ=
github.com/google/pprof v0.0.0-20230309165930-d61513b1440d/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/rpmpack v0.0.0-20191226140753-aa36bfddb3a0/go.mod h1:RaTPr0KUf2K7fnZYLNDrr8rxAamWs3iNywJLtQ2AzBg=
github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
@ -634,8 +654,8 @@ github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHh
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/go-retryablehttp v0.6.4/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ=
github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUDDYFRKq/RAd0=
github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
@ -648,18 +668,19 @@ github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc=
github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/golang-lru v0.6.0 h1:uL2shRDx7RTrOrTCUZEGP/wJUFiUI8QT6E7z5o8jga4=
github.com/hashicorp/golang-lru v0.6.0/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo=
github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU=
github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
github.com/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
@ -668,7 +689,6 @@ github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:
github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk=
github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
@ -741,7 +761,6 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v0.0.0-20171115153421-f7279a603ede/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@ -761,7 +780,6 @@ github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4 h1:cTxwSmnaqLoo+4tLukHoB9iqHOu3LmLhRmgUxZo6Vp4=
@ -774,13 +792,13 @@ github.com/kisielk/sqlstruct v0.0.0-20201105191214-5f3e10d3ab46/go.mod h1:yyMNCy
github.com/kisom/goutils v1.4.3/go.mod h1:Lp5qrquG7yhYnWzZCI/68Pa/GpFynw//od6EkGnWpac=
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c=
github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
github.com/klauspost/compress v1.16.3 h1:XuJt9zzcnaz6a16/OU53ZjWp/v7/42WcR5t2a0PcNQY=
github.com/klauspost/compress v1.16.3/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid/v2 v2.0.1/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2 v2.1.2 h1:XhdX4fqAJUA0yj+kUwMavO0hHrSPAecYdYf1ZmxHvak=
github.com/klauspost/cpuid/v2 v2.1.2/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y70BU=
github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE=
github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/kljensen/snowball v0.6.0/go.mod h1:27N7E8fVU5H68RlUmnWwZCfxgt4POBJfENGMvNRhldw=
@ -820,8 +838,6 @@ github.com/libdns/libdns v0.2.1 h1:Wu59T7wSHRgtA0cfxC+n1c/e+O3upJGWytknkmFEDis=
github.com/libdns/libdns v0.2.1/go.mod h1:yQCXzk1lEZmmCPa857bnk4TsOiqYasqpyOEeSObbb40=
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96 h1:uNwtsDp7ci48vBTTxDuwcoTXz4lwtDTe7TjCQ0noaWY=
github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96/go.mod h1:mmIfjCSQlGYXmJ95jFN84AkQFnVABtKuJL8IrzwvUKQ=
github.com/lunny/log v0.0.0-20160921050905-7887c61bf0de/go.mod h1:3q8WtuPQsoRbatJuy3nvq/hRSvuBJrHHr+ybPPiNvHQ=
github.com/lunny/nodb v0.0.0-20160621015157-fc1ef06ad4af/go.mod h1:Cqz6pqow14VObJ7peltM+2n3PWOz7yTrfUuGbVFkzN0=
github.com/lyft/protoc-gen-star v0.5.1/go.mod h1:9toiA3cC7z5uVbODF7kEQ91Xn7XNFkVUl+SrEe+ZORU=
@ -833,8 +849,8 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ
github.com/markbates/going v1.0.0/go.mod h1:I6mnB4BPnEeqo85ynXIx1ZFLLbtiLHNXVgWeFO9OGOA=
github.com/markbates/going v1.0.3 h1:mY45T5TvW+Xz5A6jY7lf4+NLg9D8+iuStIHyR7M8qsE=
github.com/markbates/going v1.0.3/go.mod h1:fQiT6v6yQar9UD6bd/D4Z5Afbk9J6BBVBtLiyY4gp2o=
github.com/markbates/goth v1.74.1 h1:/k/irrfWkHIydYH8K/PzcQljbKGhSwFV2G7kHe+oS64=
github.com/markbates/goth v1.74.1/go.mod h1:X6xdNgpapSENS0O35iTBBcMHoJDQDfI9bJl+APCkYMc=
github.com/markbates/goth v1.76.1 h1:Q2adw0e101v+DlBfxwP7OOjLGkU/pwpNMwu/RYym54w=
github.com/markbates/goth v1.76.1/go.mod h1:X6xdNgpapSENS0O35iTBBcMHoJDQDfI9bJl+APCkYMc=
github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A=
github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
@ -843,8 +859,8 @@ github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVc
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
@ -856,8 +872,9 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
@ -869,34 +886,33 @@ github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsO
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.2 h1:hAHbPm5IJGijwng3PWk09JkG9WeqChjprR5s9bBZ+OM=
github.com/matttproud/golang_protobuf_extensions v1.0.2/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/mholt/acmez v1.0.4 h1:N3cE4Pek+dSolbsofIkAYz6H1d3pE+2G0os7QHslf80=
github.com/mholt/acmez v1.0.4/go.mod h1:qFGLZ4u+ehWINeJZjzPlsnjJBCPAADWTcIqE/7DAYQY=
github.com/mholt/acmez v1.1.0 h1:IQ9CGHKOHokorxnffsqDvmmE30mDenO1lptYZ1AYkHY=
github.com/mholt/acmez v1.1.0/go.mod h1:zwo5+fbLLTowAX8o8ETfQzbDtwGEXnPhkmGdKIP+bgs=
github.com/mholt/archiver/v3 v3.5.1 h1:rDjOBX9JSF5BvoJGvjqK479aL70qh9DIpZCl+k7Clwo=
github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4=
github.com/microcosm-cc/bluemonday v1.0.21 h1:dNH3e4PSyE4vNX+KlRGHT5KrSvjeUkoNPwEORjffHJg=
github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM=
github.com/microcosm-cc/bluemonday v1.0.23 h1:SMZe2IGa0NuHvnVNAZ+6B38gsTbi5e4sViiWJyDDqFY=
github.com/microcosm-cc/bluemonday v1.0.23/go.mod h1:mN70sk7UkkF8TUr2IGBpNN0jAgStuPzlK76QuruE/z4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA=
github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
github.com/miekg/dns v1.1.52 h1:Bmlc/qsNNULOe6bpXcUTsuOajd0DzRHwup6D9k1An0c=
github.com/miekg/dns v1.1.52/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY=
github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.0.42 h1:fP56plNR/Tkw/+Xczw9NL5TGxe5gJDvgd8LidNR3BEI=
github.com/minio/minio-go/v7 v7.0.42/go.mod h1:nCrRzjoSUQh8hgKKtu3Y708OLvRLtuASMg2/nvmbarw=
github.com/minio/minio-go/v7 v7.0.49 h1:dE5DfOtnXMXCjr/HWI6zN9vCrY6Sv666qhhiwUMvGV4=
github.com/minio/minio-go/v7 v7.0.49/go.mod h1:UI34MvQEiob3Cf/gGExGMmzugkM/tNgbFypNDy5LMVc=
github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=
github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
@ -907,6 +923,7 @@ github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyua
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@ -970,6 +987,10 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034=
github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ=
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
@ -996,6 +1017,8 @@ github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi
github.com/pierrec/lz4/v4 v4.1.2/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc=
github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@ -1008,8 +1031,8 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/pquerna/otp v1.3.0 h1:oJV/SkzR33anKXwQU3Of42rL4wbrffP4uvUf1SvS5Xs=
github.com/pquerna/otp v1.3.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg=
github.com/pquerna/otp v1.4.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
@ -1018,10 +1041,8 @@ github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeD
github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.10.0/go.mod h1:WJM3cc3yu7XKBKa/I8WeZm+V3eltZnBwfENSU7mdogU=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU=
github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ=
github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw=
github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@ -1039,10 +1060,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.18.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
github.com/prometheus/common v0.24.0/go.mod h1:H6QK/N6XVT42whUeIdI3dp36w49c+/iMDk7UAI2qm7Q=
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE=
github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA=
github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM=
github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
@ -1051,9 +1070,8 @@ github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+Gx
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo=
github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4=
github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI=
github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/pseudomuto/protoc-gen-doc v1.4.1/go.mod h1:exDTOVwqpp30eV/EDPFLZy3Pwr2sn6hBC1WIYH/UbIg=
github.com/pseudomuto/protokit v0.2.0/go.mod h1:2PdH30hxVHsup8KpBTOXTBeMVhJZVio3Q8ViKSAXT0Q=
@ -1065,8 +1083,8 @@ github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6O
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.2 h1:YwD0ulJSJytLpiaWua0sBDusfsCZohxjxzVTYjwxfV8=
github.com/rivo/uniseg v0.4.2/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
@ -1087,20 +1105,25 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/santhosh-tekuri/jsonschema/v5 v5.0.1 h1:HNLA3HtUIROrQwG1cuu5EYuqk3UEoJ61Dr/9xkd6sok=
github.com/santhosh-tekuri/jsonschema/v5 v5.0.1/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0=
github.com/santhosh-tekuri/jsonschema/v5 v5.2.0 h1:WCcC4vZDS1tYNxjWlwRJZQy28r8CMoggKnxNzxsVDMQ=
github.com/santhosh-tekuri/jsonschema/v5 v5.2.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0=
github.com/sassoftware/go-rpmutils v0.0.0-20190420191620-a8f1baeba37b/go.mod h1:am+Fp8Bt506lA3Rk3QCmSqmYmLMnPDhdDUcosQCAx+I=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/serenize/snaker v0.0.0-20171204205717-a683aaf2d516/go.mod h1:Yow6lPLSAXx2ifx470yD/nUe22Dv5vBvxK/UK9UUTVs=
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ=
github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk=
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU=
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw=
github.com/siddontang/go-snappy v0.0.0-20140704025258-d8f7bb82a96d/go.mod h1:vq0tzqLRu6TS7Id0wMo2N5QzJoKedVeovOpHjnykSzY=
github.com/siddontang/ledisdb v0.0.0-20190202134119-8ceb77e66a92/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg=
@ -1114,6 +1137,8 @@ github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0=
github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM=
@ -1157,6 +1182,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v0.0.0-20170130113145-4d4bfba8f1d1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@ -1166,8 +1192,9 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE=
github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ=
@ -1189,19 +1216,22 @@ github.com/ulikunitz/xz v0.5.6/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4A
github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8=
github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8=
github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/unknwon/com v0.0.0-20190804042917-757f69c95f3e/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/unrolled/render v1.5.0 h1:uNTHMvVoI9pyyXfgoDHHycIqFONNY2p4eQR9ty+NsxM=
github.com/unrolled/render v1.5.0/go.mod h1:eLTosBkQqEPEk7pRfkCRApXd++lm++nCsVlFOHpeedw=
github.com/unrolled/render v1.6.0 h1:CMhr7HKRAzVI1RltKSo8JMRaokFi60ObV9I5uSxETJE=
github.com/unrolled/render v1.6.0/go.mod h1:NoaP3JGGHcYDAqu6gTDz01E2TMqBybJ8dpR6qqRBVPQ=
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.5/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.10 h1:p8Fspmz3iTctJstry1PYS3HVdllxnEzTEsgIgtxTrCk=
github.com/urfave/cli v1.22.10/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8=
github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8=
github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ=
github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
github.com/weppos/publicsuffix-go v0.13.1-0.20210123135404-5fd73613514e/go.mod h1:HYux0V0Zi04bHNwOHy4cXJVz/TQjYonnF6aoYhj+3QE=
github.com/weppos/publicsuffix-go v0.15.1-0.20210511084619-b1f36a2d6c0b/go.mod h1:HYux0V0Zi04bHNwOHy4cXJVz/TQjYonnF6aoYhj+3QE=
github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
@ -1211,25 +1241,24 @@ github.com/xanzy/go-gitlab v0.31.0/go.mod h1:sPLojNBn68fMUWSxIJtdVVIP8uSBYqesTfD
github.com/xanzy/go-gitlab v0.73.1 h1:UMagqUZLJdjss1SovIC+kJCH4k2AZWXl58gJd38Y/hI=
github.com/xanzy/go-gitlab v0.73.1/go.mod h1:d/a0vswScO7Agg1CZNz15Ic6SSvBG9vfw8egL99t4kA=
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
github.com/xanzy/ssh-agent v0.3.2 h1:eKj4SX2Fe7mui28ZgnFW5fmTz1EIr7ugo5s6wDxdHBM=
github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yohcop/openid-go v1.0.0 h1:EciJ7ZLETHR3wOtxBvKXx9RV6eyHZpCaSZ1inbBaUXE=
github.com/yohcop/openid-go v1.0.0/go.mod h1:/408xiwkeItSPJZSTPF7+VtZxPkPrRRpRNK2vjGh6yI=
github.com/yohcop/openid-go v1.0.1 h1:DPRd3iPO5F6O5zX2e62XpVAbPT6wV51cuucH0z9g3js=
github.com/yohcop/openid-go v1.0.1/go.mod h1:b/AvD03P0KHj4yuihb+VtLD6bYYgsy0zqBzPCRjkCNs=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.5/go.mod h1:rmuwmfZ0+bvzB24eSC//bk1R1Zp3hM0OXYv/G2LIilg=
github.com/yuin/goldmark v1.5.2 h1:ALmeCk/px5FSm1MAcFBAsVKZjDuMVj8Tm7FFIlMJnqU=
github.com/yuin/goldmark v1.5.2/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yuin/goldmark-highlighting v0.0.0-20220208100518-594be1970594 h1:yHfZyN55+5dp1wG7wDKv8HQ044moxkyGq12KFFMFDxg=
github.com/yuin/goldmark-highlighting v0.0.0-20220208100518-594be1970594/go.mod h1:U9ihbh+1ZN7fR5Se3daSPoz1CGF9IYtSvWwVQtnzGHU=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yuin/goldmark v1.4.15/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yuin/goldmark v1.5.4 h1:2uY/xC0roWy8IBEGLgB1ywIoEJFGmRrX21YQcvGZzjU=
github.com/yuin/goldmark v1.5.4/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20220924101305-151362477c87 h1:Py16JEzkSdKAtEFJjiaYLYBOWGXc1r/xHj/Q/5lA37k=
github.com/yuin/goldmark-highlighting/v2 v2.0.0-20220924101305-151362477c87/go.mod h1:ovIvrum6DQJA4QsJSovrkC4saKHQVs7TvcaeO8AIl5I=
github.com/yuin/goldmark-meta v1.1.0 h1:pWw+JLHGZe8Rk0EGsMVssiNb/AaPMHfSRszZeUeiOUc=
github.com/yuin/goldmark-meta v1.1.0/go.mod h1:U4spWENafuA7Zyg+Lj5RqK/MF+ovMYtBvXi1lBb2VP0=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
@ -1242,8 +1271,8 @@ github.com/zmap/zlint/v3 v3.1.0/go.mod h1:L7t8s3sEKkb0A2BxGy1IWrxt1ZATa1R4QfJZaQ
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU=
go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ=
go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw=
go.etcd.io/etcd/client/v2 v2.305.0-alpha.0/go.mod h1:kdV+xzCJ3luEBSIeQyB/OEKkWKd8Zkux4sbDeANrosU=
@ -1277,23 +1306,21 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8=
go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ=
go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
go.uber.org/zap v1.23.0 h1:OjGQ5KQDEUawVHxNwQgPpiypGHOxo2mNZsOqTak4fFY=
go.uber.org/zap v1.23.0/go.mod h1:D+nX8jyLsMHMYrln8A0rJjFt/T/9/bGgIhAqxv5URuY=
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
gocloud.dev v0.19.0/go.mod h1:SmKwiR8YwIMMJvQBKLsC3fHNyMwXLw3PMDO+VVteJMI=
golang.org/x/arch v0.1.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
golang.org/x/crypto v0.0.0-20180501155221-613d6eafa307/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@ -1318,16 +1345,17 @@ golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220315160706-3147a52a75dd/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU=
golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@ -1364,8 +1392,10 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI=
golang.org/x/mod v0.9.0 h1:KENHtAZL2y3NLMYZeHY9DW8HW8V+kQyJsY/V9JlKvCs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -1418,18 +1448,15 @@ golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220630215102-69896b714898/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0=
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@ -1445,10 +1472,8 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210413134643-5e61552d6c78/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
golang.org/x/oauth2 v0.1.0 h1:isLCZuhj4v+tYv7eskaN4v/TM+A1begWWgyVJDdl1+Y=
golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A=
golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw=
golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -1461,7 +1486,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -1489,7 +1515,6 @@ golang.org/x/sys v0.0.0-20190730183949-1393eb018365/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -1520,7 +1545,6 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -1534,35 +1558,34 @@ golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220315194320-039c03cc5b86/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@ -1572,16 +1595,18 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA=
golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@ -1652,10 +1677,10 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA=
golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -1791,8 +1816,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
google.golang.org/protobuf v1.25.1-0.20200805231151-a709e31e5d12/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.29.0 h1:44S3JjaKmLEE4YIkjzexaP+NzZsudE3Zin5Njn/pYX0=
google.golang.org/protobuf v1.29.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk=
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
@ -1960,6 +1985,7 @@ mvdan.cc/xurls/v2 v2.4.0 h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc=
mvdan.cc/xurls/v2 v2.4.0/go.mod h1:+GEjq9uNjqs8LQfM9nVnM8rff0OQ5Iash5rzX+N1CSg=
pack.ag/amqp v0.11.2/go.mod h1:4/cbmt4EJXSKlG6LCfWHoqmN0uFdy5i/+YFz+fTfhV4=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=

View File

@ -1,27 +0,0 @@
package models
import (
"code.gitea.io/gitea/models/db"
)
type Contributor struct {
ID int64 `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
Contributions int64 `json:"contributions"`
}
func GetContributors(repoID, userID int64) (result []Contributor, err error) {
sql :=
`select a.act_user_id as id ,
u.name as login,
u.email as email,
count(act_user_id) as contributions
from action a
left join user u on a.act_user_id=u.id
where repo_id=? and user_id=?
group by repo_id,act_user_id `
err = db.GetEngine(db.DefaultContext).SQL(sql, repoID, userID).Find(&result)
return
}

115
models/activities/action.go Normal file
View File

@ -0,0 +1,115 @@
package activities
import (
"fmt"
"time"
gitea_activities_models "code.gitea.io/gitea/models/activities"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/organization"
gitea_repo_model "code.gitea.io/gitea/models/repo"
gitea_user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/structs"
"xorm.io/builder"
)
type Contributor struct {
ID int64 `json:"id"`
Name string `json:"name"`
Email string `json:"email"`
Contributions int64 `json:"contributions"`
}
func GetContributors(repoID, userID int64) ([]Contributor, error) {
var result = make([]Contributor, 0)
sql :=
`select a.act_user_id as id ,
u.name as name,
u.email as email,
count(act_user_id) as contributions
from action a
left join user u on a.act_user_id=u.id
where repo_id=? and user_id=?
group by repo_id,act_user_id `
err := db.GetEngine(db.DefaultContext).SQL(sql, repoID, userID).Find(&result)
return result, err
}
func activityQueryCondition(opts gitea_activities_models.GetFeedsOptions) (builder.Cond, error) {
cond := builder.NewCond()
if opts.RequestedTeam != nil && opts.RequestedUser == nil {
org, err := gitea_user_model.GetUserByID(opts.RequestedTeam.OrgID)
if err != nil {
return nil, err
}
opts.RequestedUser = org
}
// check activity visibility for actor ( similar to activityReadable() )
if opts.Actor == nil {
cond = cond.And(builder.In("act_user_id",
builder.Select("`user`.id").Where(
builder.Eq{"keep_activity_private": false, "visibility": structs.VisibleTypePublic},
).From("`user`"),
))
} else if !opts.Actor.IsAdmin {
cond = cond.And(builder.In("act_user_id",
builder.Select("`user`.id").Where(
builder.Eq{"keep_activity_private": false}.
And(builder.In("visibility", structs.VisibleTypePublic, structs.VisibleTypeLimited))).
Or(builder.Eq{"id": opts.Actor.ID}).From("`user`"),
))
}
// check readable repositories by doer/actor
if opts.Actor == nil || !opts.Actor.IsAdmin {
cond = cond.And(builder.In("repo_id", gitea_repo_model.AccessibleRepoIDsQuery(opts.Actor)))
}
if opts.RequestedRepo != nil {
cond = cond.And(builder.Eq{"repo_id": opts.RequestedRepo.ID})
}
if opts.RequestedTeam != nil {
env := organization.OrgFromUser(opts.RequestedUser).AccessibleTeamReposEnv(opts.RequestedTeam)
teamRepoIDs, err := env.RepoIDs(1, opts.RequestedUser.NumRepos)
if err != nil {
return nil, fmt.Errorf("GetTeamRepositories: %w", err)
}
cond = cond.And(builder.In("repo_id", teamRepoIDs))
}
if opts.RequestedUser != nil {
cond = cond.And(builder.Eq{"user_id": opts.RequestedUser.ID})
if opts.OnlyPerformedBy {
cond = cond.And(builder.Eq{"act_user_id": opts.RequestedUser.ID})
}
}
if !opts.IncludePrivate {
cond = cond.And(builder.Eq{"`action`.is_private": false})
}
if !opts.IncludeDeleted {
cond = cond.And(builder.Eq{"is_deleted": false})
}
if opts.Date != "" {
dateLow, err := time.ParseInLocation("2006-01-02", opts.Date, setting.DefaultUILocation)
if err != nil {
log.Warn("Unable to parse %s, filter not applied: %v", opts.Date, err)
} else {
dateHigh := dateLow.Add(86399000000000) // 23h59m59s
cond = cond.And(builder.Gte{"`action`.created_unix": dateLow.Unix()})
cond = cond.And(builder.Lte{"`action`.created_unix": dateHigh.Unix()})
}
}
return cond, nil
}

View File

@ -0,0 +1,55 @@
package activities
import (
gitea_activities_models "code.gitea.io/gitea/models/activities"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/organization"
gitea_user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/timeutil"
)
type UserHeatmapData struct {
Timestamp timeutil.TimeStamp `json:"timestamp"`
Contributions int64 `json:"contributions"`
}
func GetUserHeatmapDataByTimestampRange(user *gitea_user_model.User, team *organization.Team, doer *gitea_user_model.User, startAt, endAt timeutil.TimeStamp) ([]*UserHeatmapData, error) {
hdata := make([]*UserHeatmapData, 0)
if !gitea_activities_models.ActivityReadable(user, doer) {
return hdata, nil
}
groupBy := "created_unix / 900 * 900"
groupByName := "timestamp"
switch {
case setting.Database.UseMySQL:
groupBy = "created_unix DIV 900 * 900"
case setting.Database.UseMSSQL:
groupByName = groupBy
}
cond, err := activityQueryCondition(gitea_activities_models.GetFeedsOptions{
RequestedUser: user,
RequestedTeam: team,
Actor: doer,
IncludePrivate: true,
IncludeDeleted: true,
OnlyPerformedBy: !user.IsOrganization(),
})
if err != nil {
return nil, err
}
return hdata, db.GetEngine(db.DefaultContext).
Select(groupBy+" AS timestamp, count(user_id) as contributions").
Table("action").
Where(cond).
And("created_unix >= ?", startAt).
And("created_unix <= ?", endAt).
GroupBy(groupByName).
OrderBy("timestamp").
Find(&hdata)
}

58
models/issues/pull.go Normal file
View File

@ -0,0 +1,58 @@
package issues
import (
"context"
"time"
"code.gitea.io/gitea/models/db"
gitea_issues_models "code.gitea.io/gitea/models/issues"
"code.gitlink.org.cn/Gitlink/gitea_hat.git/models/pull"
)
type PullRequestHatStatus int
// Enumerate all the pull request hat status
const (
PullRequestHatStatusConflict PullRequestHatStatus = iota
PullRequestHatStatusChecking
PullRequestHatStatusMergeable
)
type PullRequest struct {
gitea_issues_models.PullRequest
LatestPullRequestVersion *pull.PullRequestVersion
}
func GetPullRequestIDsByIssueUpdatedUnix() ([]int64, error) {
prs := make([]int64, 0, 10)
return prs, db.GetEngine(db.DefaultContext).Table("pull_request").
Where("issue.updated_unix>?", time.Now().Add(-time.Minute*2).Unix()).
Join("INNER", "issue", "issue.id=pull_request.issue_id").
Cols("pull_request.id").
Find(&prs)
}
func (p *PullRequest) LoadLatestPullRequestVersion(ctx context.Context) (err error) {
if p.LatestPullRequestVersion != nil {
return nil
}
p.LatestPullRequestVersion, err = GetPullRequestLastVersionByPullRequest(ctx, p)
return err
}
func GetPullRequestLastVersionByPullRequest(ctx context.Context, pr *PullRequest) (*pull.PullRequestVersion, error) {
prv := &pull.PullRequestVersion{
RepoID: pr.PullRequest.BaseRepoID,
PullID: pr.PullRequest.ID,
}
has, err := db.GetEngine(ctx).Desc("created_unix").Get(prv)
if err != nil {
return nil, err
} else if !has {
return nil, gitea_issues_models.ErrPullRequestNotExist{}
}
return prv, nil
}

View File

@ -40,7 +40,9 @@ type HatVersion struct {
HatVersion int64
}
var migrations = []Migration{}
var migrations = []Migration{
NewMigration("add pull request version", createPullRequestDiffTable),
}
func GetCurrentHatDBVersion(x *xorm.Engine) (int64, error) {
if err := x.Sync(new(HatVersion)); err != nil {

29
models/migrations/v1.go Normal file
View File

@ -0,0 +1,29 @@
package migrations
import (
issues_model "code.gitea.io/gitea/models/issues"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/modules/timeutil"
"xorm.io/xorm"
)
func createPullRequestDiffTable(x *xorm.Engine) error {
type PullRequestVersion struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64 `xorm:"INDEX"`
Repo *repo_model.Repository `xorm:"-"`
PullID int64 `xorm:"INDEX"`
Pull *issues_model.PullRequest `xorm:"-"`
AddLineNum int
CommitsCount int
DelLineNum int
FilesCount int
HeadCommitID string `xorm:"VARCHAR(40)"`
BaseCommitID string `xorm:"VARCHAR(40)"`
StartCommitID string `xorm:"VARCHAR(40)"`
CreatedUnix timeutil.TimeStamp `xorm:"created INDEX"`
UpdatedUnix timeutil.TimeStamp `xorm:"updated INDEX"`
}
return x.Sync2(new(PullRequestVersion))
}

100
models/pull/pull_version.go Normal file
View File

@ -0,0 +1,100 @@
package pull
import (
"context"
"fmt"
"code.gitea.io/gitea/models/db"
gitea_issues_model "code.gitea.io/gitea/models/issues"
gitea_repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/timeutil"
"xorm.io/xorm"
)
type PullRequestVersion struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64 `xorm:"INDEX"`
Repo *gitea_repo_model.Repository `xorm:"-"`
PullID int64 `xorm:"INDEX"`
Pull *gitea_issues_model.PullRequest `xorm:"-"`
AddLineNum int
CommitsCount int
DelLineNum int
FilesCount int
HeadCommitID string `xorm:"VARCHAR(40)"`
BaseCommitID string `xorm:"VARCHAR(40)"`
StartCommitID string `xorm:"VARCHAR(40)"`
CreatedUnix timeutil.TimeStamp `xorm:"created INDEX"`
UpdatedUnix timeutil.TimeStamp `xorm:"updated INDEX"`
}
func listPullRequestVersionStatement(ctx context.Context, prID int64, opts *db.ListOptions) (*xorm.Session, error) {
sess := db.GetEngine(db.DefaultContext).Where("pull_request_version.pull_id=?", prID)
sess.Join("INNER", "repository", "pull_request_version.repo_id = repository.id")
return sess, nil
}
func PullRequestVersions(ctx context.Context, prID int64, opts *db.ListOptions) ([]*PullRequestVersion, int64, error) {
if opts.Page <= 0 {
opts.Page = 1
}
countSession, err := listPullRequestVersionStatement(ctx, prID, opts)
if err != nil {
log.Error("listPullRequestVersionStatement: %v", err)
return nil, 0, err
}
maxResults, err := countSession.Count(new(PullRequestVersion))
if err != nil {
log.Error("Count pull_request_versions: %v", err)
return nil, maxResults, err
}
findSession, err := listPullRequestVersionStatement(ctx, prID, opts)
if err != nil {
log.Error("listPullRequestVersionStatement: %v", err)
return nil, 0, err
}
findSession = db.SetSessionPagination(findSession, opts)
prvs := make([]*PullRequestVersion, 0, opts.PageSize)
return prvs, maxResults, findSession.Find(&prvs)
}
func GetPullRequestVersionByID(ctx context.Context, prID, id int64) (*PullRequestVersion, error) {
if id < 1 {
return nil, gitea_issues_model.ErrPullRequestNotExist{}
}
prv := &PullRequestVersion{
PullID: prID,
ID: id,
}
has, err := db.GetEngine(ctx).Get(prv)
if err != nil {
return nil, err
} else if !has {
return nil, gitea_issues_model.ErrPullRequestNotExist{}
}
return prv, nil
}
// NewPullRequestDiff creates new pull request diff version for repository.
func NewPullRequestVersion(ctx context.Context, repo *gitea_repo_model.Repository, pr *gitea_issues_model.PullRequest, addLineNum, commitsCount, delLineNUm, filesCount int, headCommitID, baseCommitID, StartCommitID string) (err error) {
var version PullRequestVersion
version.PullID = pr.ID
version.RepoID = repo.ID
version.AddLineNum = addLineNum
version.CommitsCount = commitsCount
version.DelLineNum = delLineNUm
version.FilesCount = filesCount
version.HeadCommitID = headCommitID
version.BaseCommitID = baseCommitID
version.StartCommitID = StartCommitID
if _, err = db.GetEngine(ctx).Insert(version); err != nil {
return fmt.Errorf("insert pull version repo: %v", err)
}
return nil
}

View File

@ -0,0 +1,15 @@
package webhook
import (
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/webhook"
)
func GetHookTasksByHookID(hookID int64, page, limit int) ([]*webhook.HookTask, error) {
tasks := make([]*webhook.HookTask, 0, limit)
return tasks, db.GetEngine(db.DefaultContext).
Limit(limit, (page-1)*limit).
Where("hook_id=?", hookID).
Desc("id").
Find(&tasks)
}

21
models/webhook/webhook.go Normal file
View File

@ -0,0 +1,21 @@
package webhook
import (
"code.gitea.io/gitea/models/db"
gitea_webhook_model "code.gitea.io/gitea/models/webhook"
)
type Webhook struct {
gitea_webhook_model.Webhook
}
func GetWebhook(bean *Webhook) (*Webhook, error) {
webhook := bean.Webhook
has, err := db.GetEngine(db.DefaultContext).Get(&webhook)
if err != nil {
return nil, err
} else if !has {
return nil, gitea_webhook_model.ErrWebhookNotExist{webhook.ID}
}
return bean, nil
}

View File

@ -1,10 +1,12 @@
package convert
import (
"encoding/json"
"strings"
"code.gitea.io/gitea/models/organization"
"code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/webhook"
gitea_convert "code.gitea.io/gitea/modules/convert"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/util"
@ -60,3 +62,32 @@ func ToOrganization(org *organization.Organization, team *organization.Team) (*a
OwnerTeam: apiTeam,
}, nil
}
func ToHookTask(t *webhook.HookTask) *api.HookTask {
config := map[string]string{
"url": t.RequestInfo.URL,
"content_type": t.RequestInfo.Headers["Content-Type"],
"http_method": t.RequestInfo.HTTPMethod,
}
payloadContent := make(map[string]interface{})
requestContent := make(map[string]interface{})
responseContent := make(map[string]interface{})
_ = json.Unmarshal([]byte(t.PayloadContent), &payloadContent)
_ = json.Unmarshal([]byte(t.RequestContent), &requestContent)
_ = json.Unmarshal([]byte(t.ResponseContent), &responseContent)
return &api.HookTask{
ID: t.ID,
UUID: t.UUID,
Type: string(t.EventType),
Config: config,
PayloadContent: payloadContent,
EventType: string(t.EventType),
IsDelivered: t.IsDelivered,
Delivered: t.Delivered,
IsSucceed: t.IsSucceed,
RequestContent: requestContent,
ResponseContent: responseContent,
}
}

View File

@ -0,0 +1,158 @@
package convert
import (
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/convert"
"code.gitea.io/gitea/modules/git"
api "code.gitea.io/gitea/modules/structs"
hat_api "code.gitlink.org.cn/Gitlink/gitea_hat.git/modules/structs"
"net/url"
"time"
)
func ToCommit(repo *repo_model.Repository, gitRepo *git.Repository, commit *git.Commit, userCache map[string]*user_model.User, stat bool) (*hat_api.Commit, error) {
giteaApiCommit, err := ToCommitNotDiff(repo, gitRepo, commit, userCache, stat)
if err != nil {
return nil, err
}
err = commit.LoadBranchName()
if err != nil {
return nil, err
}
return &hat_api.Commit{
Commit: giteaApiCommit,
Branch: commit.Branch,
}, nil
}
func ToCommitNotDiff(repo *repo_model.Repository, gitRepo *git.Repository, commit *git.Commit, userCache map[string]*user_model.User, stat bool) (*api.Commit, error) {
var apiAuthor, apiCommitter *api.User
// Retrieve author and committer information
var cacheAuthor *user_model.User
var ok bool
if userCache == nil {
cacheAuthor = (*user_model.User)(nil)
ok = false
} else {
cacheAuthor, ok = userCache[commit.Author.Email]
}
if ok {
apiAuthor = convert.ToUser(cacheAuthor, nil)
} else {
author, err := user_model.GetUserByEmail(commit.Author.Email)
if err != nil && !user_model.IsErrUserNotExist(err) {
return nil, err
} else if err == nil {
apiAuthor = convert.ToUser(author, nil)
if userCache != nil {
userCache[commit.Author.Email] = author
}
}
}
var cacheCommitter *user_model.User
if userCache == nil {
cacheCommitter = (*user_model.User)(nil)
ok = false
} else {
cacheCommitter, ok = userCache[commit.Committer.Email]
}
if ok {
apiCommitter = convert.ToUser(cacheCommitter, nil)
} else {
committer, err := user_model.GetUserByEmail(commit.Committer.Email)
if err != nil && !user_model.IsErrUserNotExist(err) {
return nil, err
} else if err == nil {
apiCommitter = convert.ToUser(committer, nil)
if userCache != nil {
userCache[commit.Committer.Email] = committer
}
}
}
// Retrieve parent(s) of the commit
apiParents := make([]*api.CommitMeta, commit.ParentCount())
for i := 0; i < commit.ParentCount(); i++ {
sha, _ := commit.ParentID(i)
apiParents[i] = &api.CommitMeta{
URL: repo.APIURL() + "/git/commits/" + url.PathEscape(sha.String()),
SHA: sha.String(),
}
}
res := &api.Commit{
CommitMeta: &api.CommitMeta{
URL: repo.APIURL() + "/git/commits/" + url.PathEscape(commit.ID.String()),
SHA: commit.ID.String(),
Created: commit.Committer.When,
},
HTMLURL: repo.HTMLURL() + "/commit/" + url.PathEscape(commit.ID.String()),
RepoCommit: &api.RepoCommit{
URL: repo.APIURL() + "/git/commits/" + url.PathEscape(commit.ID.String()),
Author: &api.CommitUser{
Identity: api.Identity{
Name: commit.Author.Name,
Email: commit.Author.Email,
},
Date: commit.Author.When.Format(time.RFC3339),
},
Committer: &api.CommitUser{
Identity: api.Identity{
Name: commit.Committer.Name,
Email: commit.Committer.Email,
},
Date: commit.Committer.When.Format(time.RFC3339),
},
Message: commit.Message(),
Tree: &api.CommitMeta{
URL: repo.APIURL() + "/git/trees/" + url.PathEscape(commit.ID.String()),
SHA: commit.ID.String(),
Created: commit.Committer.When,
},
Verification: convert.ToVerification(commit),
},
Author: apiAuthor,
Committer: apiCommitter,
Parents: apiParents,
}
// Retrieve files affected by the commit
if stat {
fileStatus, err := git.GetCommitFileStatus(gitRepo.Ctx, repo.RepoPath(), commit.ID.String())
if err != nil {
return nil, err
}
affectedFileList := make([]*api.CommitAffectedFiles, 0, len(fileStatus.Added)+len(fileStatus.Removed)+len(fileStatus.Modified))
for _, files := range [][]string{fileStatus.Added, fileStatus.Removed, fileStatus.Modified} {
for _, filename := range files {
affectedFileList = append(affectedFileList, &api.CommitAffectedFiles{
Filename: filename,
})
}
}
//diff, err := gitdiff.GetDiff(gitRepo, &gitdiff.DiffOptions{
// AfterCommitID: commit.ID.String(),
//})
//if err != nil {
// return nil, err
//}
res.Files = affectedFileList
//res.Stats = &api.CommitStats{
// Total: diff.TotalAddition + diff.TotalDeletion,
// Additions: diff.TotalAddition,
// Deletions: diff.TotalDeletion,
//}
}
return res, nil
}

View File

@ -74,7 +74,7 @@ func ToAPIPullRequest(ctx context.Context, gitRepo *git.Repository, pr *issues.P
}
if commitSHA != "" {
// Get immediate parent of the first commit in the patch, grab history back
parentCommit, _, err = git.NewCommand(ctx, "rev-list", "-1", "--skip=1", commitSHA).RunStdString(&git.RunOpts{Dir: gitRepo.Path})
parentCommit, _, err = git.NewCommand(ctx, "rev-list", "-1", "--skip=1").AddDynamicArguments(commitSHA).RunStdString(&git.RunOpts{Dir: gitRepo.Path})
if err == nil {
parentCommit = strings.TrimSpace(parentCommit)
}

View File

@ -0,0 +1,23 @@
package convert
import (
hat_pull_model "code.gitlink.org.cn/Gitlink/gitea_hat.git/models/pull"
hat_api "code.gitlink.org.cn/Gitlink/gitea_hat.git/modules/structs"
)
func ToAPIPullRequestVersion(prv *hat_pull_model.PullRequestVersion) *hat_api.PullRequestVersion {
apiPullRequestVersion := &hat_api.PullRequestVersion{
ID: prv.ID,
AddLineNum: prv.AddLineNum,
DelLineNum: prv.DelLineNum,
CommitsCount: prv.CommitsCount,
FilesCount: prv.FilesCount,
HeadCommitSha: prv.HeadCommitID,
BaseCommitSha: prv.BaseCommitID,
StartCommitSha: prv.StartCommitID,
CreatedAt: prv.CreatedUnix.AsTimePtr(),
UpdatedAt: prv.UpdatedUnix.AsTimePtr(),
}
return apiPullRequestVersion
}

View File

@ -0,0 +1,33 @@
package convert
import (
repo_model "code.gitea.io/gitea/models/repo"
gitea_convert "code.gitea.io/gitea/modules/convert"
gitea_api "code.gitea.io/gitea/modules/structs"
api "code.gitlink.org.cn/Gitlink/gitea_hat.git/modules/structs"
)
func ToRelease(r *repo_model.Release) *api.Release {
assets := make([]*gitea_api.Attachment, 0)
for _, att := range r.Attachments {
assets = append(assets, gitea_convert.ToReleaseAttachment(att))
}
return &api.Release{
ID: r.ID,
TagName: r.TagName,
Target: r.Target,
Title: r.Title,
Sha: r.Sha1,
Note: r.Note,
URL: r.APIURL(),
HTMLURL: r.HTMLURL(),
TarURL: r.TarURL(),
ZipURL: r.ZipURL(),
IsDraft: r.IsDraft,
IsPrerelease: r.IsPrerelease,
CreatedAt: r.CreatedUnix.AsTime(),
PublishedAt: r.CreatedUnix.AsTime(),
Publisher: gitea_convert.ToUser(r.Publisher, nil),
Attachments: assets,
}
}

181
modules/git/blame.go Normal file
View File

@ -0,0 +1,181 @@
package git
import (
"bufio"
"context"
"fmt"
"io"
"os"
"os/exec"
"regexp"
"strconv"
"strings"
gitea_git "code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/process"
hat_api "code.gitlink.org.cn/Gitlink/gitea_hat.git/modules/structs"
)
type BlameReader struct {
cmd *exec.Cmd
output io.ReadCloser
reader *bufio.Reader
lastSha *string
cancel context.CancelFunc // Cancels the context that this reader runs in
finished process.FinishedFunc // Tells the process manager we're finished and it can remove the associated process from the process table
}
var shaLineRegex = regexp.MustCompile("^([a-z0-9]{40})")
func GetBlameCommit(repo *gitea_git.Repository, sha string) *hat_api.BlameCommit {
commit, err := repo.GetCommit(sha)
if err != nil {
return &hat_api.BlameCommit{}
}
var apiParents []string
for i := 0; i < commit.ParentCount(); i++ {
sha, _ := commit.ParentID(i)
apiParents = append(apiParents, sha.String())
}
return &hat_api.BlameCommit{
ID: sha,
Author: commit.Author,
Commiter: commit.Committer,
CommitMessage: commit.CommitMessage,
Parents: apiParents,
AuthoredTime: commit.Author.When,
CommittedTime: commit.Committer.When,
CreatedTime: commit.Committer.When,
}
}
func (r *BlameReader) NextApiPart(repo *gitea_git.Repository) (*hat_api.BlamePart, error) {
var blamePart *hat_api.BlamePart
reader := r.reader
effectLine := 0
if r.lastSha != nil {
blamePart = &hat_api.BlamePart{
Sha: *r.lastSha,
Commit: GetBlameCommit(repo, *r.lastSha),
PreviousNumber: 0,
CurrentNumber: 0,
EffectLine: effectLine,
Lines: make([]string, 0),
}
}
var line []byte
var isPrefix bool
var err error
for err != io.EOF {
line, isPrefix, err = reader.ReadLine()
if err != nil && err != io.EOF {
return blamePart, err
}
if len(line) == 0 {
continue
}
lines := shaLineRegex.FindSubmatch(line)
if lines != nil {
lineString := string(line)
sha1 := string(lines[1])
lineString = strings.Replace(lineString, sha1, "", 1)
lineArray := strings.Split(lineString, " ")
previousNumber, _ := strconv.Atoi(lineArray[1])
if blamePart == nil {
blamePart = &hat_api.BlamePart{
Sha: sha1,
Commit: GetBlameCommit(repo, sha1),
PreviousNumber: previousNumber,
CurrentNumber: 0,
EffectLine: effectLine,
Lines: make([]string, 0),
}
}
if blamePart.Sha != sha1 {
r.lastSha = &sha1
// need to munch to end of line...
for isPrefix {
_, isPrefix, err = reader.ReadLine()
if err != nil && err != io.EOF {
return blamePart, err
}
}
return blamePart, nil
}
} else if line[0] == '\t' {
code := line[1:]
effectLine += 1
blamePart.Lines = append(blamePart.Lines, string(code))
}
blamePart.EffectLine = effectLine
for isPrefix {
_, isPrefix, err = reader.ReadLine()
if err != nil && err != io.EOF {
return blamePart, err
}
}
}
r.lastSha = nil
return blamePart, nil
}
func (r *BlameReader) Close() error {
defer r.finished() // Only remove the process from the process table when the underlying command is closed
r.cancel() // However, first cancel our own context early
_ = r.output.Close()
if err := r.cmd.Wait(); err != nil {
return fmt.Errorf("Wait: %w", err)
}
return nil
}
func CreateBlameReader(ctx context.Context, repoPath, commitID, file string) (*BlameReader, error) {
return createBlameReader(ctx, repoPath, gitea_git.GitExecutable, "blame", commitID, "--porcelain", "--", file)
}
func createBlameReader(ctx context.Context, dir string, command ...string) (*BlameReader, error) {
// Here we use the provided context - this should be tied to the request performing the blame so that it does not hang around.
ctx, cancel, finished := process.GetManager().AddContext(ctx, fmt.Sprintf("GetBlame [repo_path: %s]", dir))
cmd := exec.CommandContext(ctx, command[0], command[1:]...)
cmd.Dir = dir
cmd.Stderr = os.Stderr
process.SetSysProcAttribute(cmd)
stdout, err := cmd.StdoutPipe()
if err != nil {
defer finished()
return nil, fmt.Errorf("StdoutPipe: %w", err)
}
if err = cmd.Start(); err != nil {
defer finished()
_ = stdout.Close()
return nil, fmt.Errorf("Start: %w", err)
}
reader := bufio.NewReader(stdout)
return &BlameReader{
cmd: cmd,
output: stdout,
reader: reader,
cancel: cancel,
finished: finished,
}, nil
}

View File

@ -0,0 +1,124 @@
package git
import (
"bufio"
"context"
"fmt"
"io"
"strings"
gitea_git "code.gitea.io/gitea/modules/git"
)
func GetSearchBranches(ctx context.Context, repo *gitea_git.Repository, search string, skip, limit int) ([]*gitea_git.Branch, int, error) {
brs, countAll, err := callShowSearchRef(ctx, repo.Path, gitea_git.BranchPrefix, "--heads", search, skip, limit)
if err != nil {
return nil, 0, err
}
branches := make([]*gitea_git.Branch, len(brs))
for i := range brs {
branches[i] = &gitea_git.Branch{
Name: brs[i],
Path: repo.Path,
}
}
return branches, countAll, nil
}
func callShowSearchRef(ctx context.Context, repoPath, prefix, arg, search string, skip, limit int) (branchNames []string, countAll int, err error) {
stdoutReader, stdoutWriter := io.Pipe()
defer func() {
_ = stdoutReader.Close()
_ = stdoutWriter.Close()
}()
go func() {
stderrBuilder := &strings.Builder{}
err := gitea_git.NewCommand(ctx, "show-ref", gitea_git.CmdArg(arg)).
Run(&gitea_git.RunOpts{
Dir: repoPath,
Stdout: stdoutWriter,
Stderr: stderrBuilder,
})
if err != nil {
if stderrBuilder.Len() == 0 {
_ = stdoutWriter.Close()
return
}
_ = stdoutWriter.CloseWithError(ConcatenateError(err, stderrBuilder.String()))
} else {
_ = stdoutWriter.Close()
}
}()
i := 0
bufReader := bufio.NewReader(stdoutReader)
for i < skip {
line, isPrefix, err := bufReader.ReadLine()
if err == io.EOF {
return branchNames, i, nil
}
if err != nil {
return nil, 0, err
}
branchName := strings.TrimPrefix(strings.Split(string(line), " ")[1], prefix)
if len(branchName) > 0 {
branchName = branchName[:len(branchName)-1]
}
isSeached := strings.Contains(branchName, search)
if !isPrefix && isSeached {
i++
}
}
for limit == 0 || i < skip+limit {
branchName, err := bufReader.ReadString('\n')
if err == io.EOF {
// This shouldn't happen... but we'll tolerate it for the sake of peace
return branchNames, i, nil
}
if err != nil {
return nil, i, err
}
branchName = strings.TrimPrefix(strings.Split(string(branchName), " ")[1], prefix)
if len(branchName) > 0 {
branchName = branchName[:len(branchName)-1]
}
isSeached := strings.Contains(branchName, search)
if isSeached {
i++
branchNames = append(branchNames, branchName)
}
}
// count all refs
for limit != 0 {
line, isPrefix, err := bufReader.ReadLine()
if err == io.EOF {
return branchNames, i, nil
}
if err != nil {
return nil, 0, err
}
branchName := strings.TrimPrefix(strings.Split(string(line), " ")[1], prefix)
if len(branchName) > 0 {
branchName = branchName[:len(branchName)-1]
}
isSeached := strings.Contains(branchName, search)
if !isPrefix && isSeached {
i++
}
}
return branchNames, i, nil
}
func ConcatenateError(err error, stderr string) error {
if len(stderr) == 0 {
return err
}
return fmt.Errorf("%w - %s", err, stderr)
}

View File

@ -12,7 +12,7 @@ import (
const prettyLogFormat = `--pretty=format:%H`
func GetFirstAndLastCommitByPath(repo *gitea_git.Repository, revision, relpath string) (*gitea_git.Commit, *gitea_git.Commit, error) {
stdout, _, runErr := gitea_git.NewCommand(repo.Ctx, "log", revision, prettyLogFormat, "--", relpath).RunStdBytes(&gitea_git.RunOpts{Dir: repo.Path})
stdout, _, runErr := gitea_git.NewCommand(repo.Ctx, "log", gitea_git.CmdArg(revision), prettyLogFormat, "--", gitea_git.CmdArg(relpath)).RunStdBytes(&gitea_git.RunOpts{Dir: repo.Path})
if runErr != nil {
return nil, nil, runErr
}
@ -47,9 +47,9 @@ func CommitsByFileAndRange(repo *gitea_git.Repository, revision, file string, pa
go func() {
stderr := strings.Builder{}
gitCmd := gitea_git.NewCommand(repo.Ctx, "log", prettyLogFormat, "--follow",
"--max-count="+strconv.Itoa(pageSize))
gitea_git.CmdArg("--max-count="+strconv.Itoa(pageSize)))
gitCmd.AddDynamicArguments(revision)
gitCmd.AddArguments("--", file)
gitCmd.AddArguments("--", gitea_git.CmdArg(file))
err := gitCmd.Run(&gitea_git.RunOpts{
Dir: repo.Path,
Stdout: stdoutWriter,

View File

@ -3,6 +3,11 @@ package git
import gitea_git "code.gitea.io/gitea/modules/git"
func GetDiffFileOnlyName(repo *gitea_git.Repository, base, head string) (string, error) {
stdout, _, err := gitea_git.NewCommand(repo.Ctx, "diff", "--name-only", base, head).RunStdString(&gitea_git.RunOpts{Dir: repo.Path})
stdout, _, err := gitea_git.NewCommand(repo.Ctx, "diff", "--name-only", gitea_git.CmdArg(base), gitea_git.CmdArg(head)).RunStdString(&gitea_git.RunOpts{Dir: repo.Path})
return stdout, err
}
func GetDiffStringByFilePath(repo *gitea_git.Repository, base, head, filepath string) (string, error) {
stdout, _, err := gitea_git.NewCommand(repo.Ctx, "diff", "-p", gitea_git.CmdArg(base), gitea_git.CmdArg(head), "--", gitea_git.CmdArg(filepath)).RunStdString(&gitea_git.RunOpts{Dir: repo.Path})
return stdout, err
}

View File

@ -0,0 +1,163 @@
package git
import (
"bufio"
"context"
"fmt"
"os"
"strconv"
"strings"
gitea_git "code.gitea.io/gitea/modules/git"
)
type RepoContributor struct {
Name string `json:"name"`
Email string `json:"email"`
Commits int `json:"commits"`
ContributionPerc string `json:"contribution_perc"`
}
func GetRepoContributors(repo *gitea_git.Repository, page, pageSize int) (int, []*RepoContributor, error) {
var total, totalContributions, skip int
var contributors []*RepoContributor
skip = (page - 1) * pageSize
stdoutReader, stdoutWriter, err := os.Pipe()
if err != nil {
return total, nil, err
}
defer func() {
_ = stdoutReader.Close()
_ = stdoutWriter.Close()
}()
cmd := gitea_git.NewCommand(repo.Ctx, "shortlog", "-sne", "--all")
stderr := new(strings.Builder)
err = cmd.Run(&gitea_git.RunOpts{
Env: []string{},
Dir: repo.Path,
Stdout: stdoutWriter,
Stderr: stderr,
PipelineFunc: func(ctx context.Context, cancel context.CancelFunc) error {
_ = stdoutWriter.Close()
scanner := bufio.NewScanner(stdoutReader)
scanner.Split(bufio.ScanLines)
var ca int
for scanner.Scan() {
l := strings.TrimSpace(scanner.Text())
commits := l[0:strings.Index(l, "\t")]
commitsInt, err := strconv.Atoi(commits)
if err != nil {
return err
}
name := l[strings.Index(l, "\t")+1 : strings.Index(l, " <")]
email := l[strings.Index(l, "<")+1 : strings.Index(l, ">")]
totalContributions += commitsInt
total++
if skip > 0 {
skip--
} else {
if ca < pageSize {
contributors = append(contributors, &RepoContributor{
Commits: commitsInt,
Name: name,
Email: email,
})
ca++
}
}
}
_ = stdoutReader.Close()
return nil
},
})
for _, cont := range contributors {
fperc := fmt.Sprintf("%.2f", float64(cont.Commits)*100/float64(totalContributions))
cont.ContributionPerc = fperc + "%"
}
return total, contributors, nil
}
func GetRepoContributorsNew(repo *gitea_git.Repository, page, pageSize int) (int, []*RepoContributor, error) {
var total, totalContributions, skip int
var contributors []*RepoContributor
var contributorInfos []*RepoContributor
contributorInfoHash := make(map[string]*RepoContributor)
skip = (page - 1) * pageSize
stdoutReader, stdoutWriter, err := os.Pipe()
if err != nil {
return total, nil, err
}
defer func() {
_ = stdoutReader.Close()
_ = stdoutWriter.Close()
}()
cmd := gitea_git.NewCommand(repo.Ctx, "shortlog", "-sne", "--all")
stderr := new(strings.Builder)
err = cmd.Run(&gitea_git.RunOpts{
Env: []string{},
Dir: repo.Path,
Stdout: stdoutWriter,
Stderr: stderr,
PipelineFunc: func(ctx context.Context, cancel context.CancelFunc) error {
_ = stdoutWriter.Close()
scanner := bufio.NewScanner(stdoutReader)
scanner.Split(bufio.ScanLines)
for scanner.Scan() {
l := strings.TrimSpace(scanner.Text())
commits := l[0:strings.Index(l, "\t")]
commitsInt, err := strconv.Atoi(commits)
if err != nil {
return err
}
name := l[strings.Index(l, "\t")+1 : strings.Index(l, " <")]
email := l[strings.Index(l, "<")+1 : strings.Index(l, ">")]
totalContributions += commitsInt
// committer is not system user
if existedContributorInfo, ok := contributorInfoHash[email]; ok {
// existed: same primary email, different committer name
existedContributorInfo.Commits += commitsInt
} else {
var newContributor = &RepoContributor{
Commits: commitsInt,
Name: name,
Email: email,
}
total++
contributorInfos = append(contributorInfos, newContributor)
contributorInfoHash[email] = newContributor
}
}
_ = stdoutReader.Close()
return nil
},
})
var ca int
for _, cont := range contributorInfos {
if skip > 0 {
skip--
} else {
if ca < pageSize {
fperc := fmt.Sprintf("%.2f", float64(cont.Commits)*100/float64(totalContributions))
contributors = append(contributors, &RepoContributor{
Commits: cont.Commits,
Name: cont.Name,
Email: cont.Email,
ContributionPerc: fperc + "%",
})
ca++
}
}
}
return total, contributors, nil
}

279
modules/git/repo_stats.go Normal file
View File

@ -0,0 +1,279 @@
package git
import (
"bufio"
"context"
"fmt"
"os"
"sort"
"strconv"
"strings"
"time"
"code.gitea.io/gitea/modules/container"
gitea_git "code.gitea.io/gitea/modules/git"
)
type CodeActivityStats struct {
AuthorCount int64 `json:"author_count"`
CommitCount int64 `json:"commit_count"`
ChangedFiles int64 `json:"changed_files"`
Additions int64 `json:"additions"`
Deletions int64 `json:"deletions"`
CommitCountInAllBranches int64 `json:"commit_count_in_all_branches"`
Authors []*CodeActivityAuthor `json:"authors"`
}
type CodeActivityAuthor struct {
Name string `json:"name"`
Email string `json:"email"`
Commits int64 `json:"commits"`
Additions int64 `json:"additions"`
Deletions int64 `json:"deletions"`
}
// GetCodeActivityStats returns code statistics for activity page
func GetCodeActivityStatsWithoutSince(repo *gitea_git.Repository, branch string) (*CodeActivityStats, error) {
stats := &CodeActivityStats{}
stdout, _, runErr := gitea_git.NewCommand(repo.Ctx, "rev-list", "--count", "--no-merges", "--branches=*", "--date=iso").RunStdString(&gitea_git.RunOpts{Dir: repo.Path})
if runErr != nil {
return nil, runErr
}
c, err := strconv.ParseInt(strings.TrimSpace(stdout), 10, 64)
if err != nil {
return nil, err
}
stats.CommitCountInAllBranches = c
stdoutReader, stdoutWriter, err := os.Pipe()
if err != nil {
return nil, err
}
defer func() {
_ = stdoutReader.Close()
_ = stdoutWriter.Close()
}()
gitCmd := gitea_git.NewCommand(repo.Ctx, "log", "--numstat", "--no-merges", "--pretty=format:---%n%h%n%aN%n%aE%n", "--date=iso")
if len(branch) == 0 {
gitCmd.AddArguments("--branches=*")
} else {
gitCmd.AddArguments("--first-parent").AddDynamicArguments(branch)
}
stderr := new(strings.Builder)
err = gitCmd.Run(&gitea_git.RunOpts{
Env: []string{},
Dir: repo.Path,
Stdout: stdoutWriter,
Stderr: stderr,
PipelineFunc: func(ctx context.Context, cancel context.CancelFunc) error {
_ = stdoutWriter.Close()
scanner := bufio.NewScanner(stdoutReader)
scanner.Split(bufio.ScanLines)
stats.CommitCount = 0
stats.Additions = 0
stats.Deletions = 0
authors := make(map[string]*CodeActivityAuthor)
files := make(container.Set[string])
var author string
var currentAuthor *CodeActivityAuthor
p := 0
for scanner.Scan() {
l := strings.TrimSpace(scanner.Text())
if l == "---" {
p = 1
} else if p == 0 {
continue
} else {
p++
}
if p > 4 && len(l) == 0 {
continue
}
switch p {
case 1: // Separator
case 2: // Commit sha-1
stats.CommitCount++
case 3: // Author
author = l
case 4: // E-mail
email := strings.ToLower(l)
if _, ok := authors[email+author]; !ok {
authors[email+author] = &CodeActivityAuthor{Name: author, Email: email, Commits: 0}
}
authors[email+author].Commits++
currentAuthor = authors[email+author]
default: // Changed file
if parts := strings.Fields(l); len(parts) >= 3 {
if parts[0] != "-" {
if c, err := strconv.ParseInt(strings.TrimSpace(parts[0]), 10, 64); err == nil {
stats.Additions += c
currentAuthor.Additions += c
}
}
if parts[1] != "-" {
if c, err := strconv.ParseInt(strings.TrimSpace(parts[1]), 10, 64); err == nil {
stats.Deletions += c
currentAuthor.Deletions += c
}
}
files.Add(parts[2])
}
}
}
a := make([]*CodeActivityAuthor, 0, len(authors))
for _, v := range authors {
a = append(a, v)
}
// Sort authors descending depending on commit count
sort.Slice(a, func(i, j int) bool {
return a[i].Commits > a[j].Commits
})
stats.AuthorCount = int64(len(authors))
stats.ChangedFiles = int64(len(files))
stats.Authors = a
_ = stdoutReader.Close()
return nil
},
})
if err != nil {
return nil, fmt.Errorf("Failed to get GetCodeActivityStats for repository.\nError: %w\nStderr: %s", err, stderr)
}
return stats, nil
}
// GetCodeActivityStats returns code statistics for activity page
func GetPaginateCodeAuthors(repo *gitea_git.Repository, fromTime time.Time, branch string, page, pageSize int) (int64, []*CodeActivityAuthor, error) {
var total int64
var authors []*CodeActivityAuthor
since := fromTime.Format(time.RFC3339)
authorCmd := gitea_git.NewCommand(repo.Ctx, "log", "--no-merges", "--format=%aN <%aE>", "--date=iso", gitea_git.CmdArg(fmt.Sprintf("--since='%s'", since)))
if len(branch) == 0 {
authorCmd.AddArguments("--branches=*")
} else {
authorCmd.AddArguments("--first-parent").AddDynamicArguments(branch)
}
authorStdout, _, runErr := authorCmd.RunStdString(&gitea_git.RunOpts{Dir: repo.Path})
if runErr != nil {
return total, nil, runErr
}
skip := (page - 1) * pageSize
var filterAuthor string
var ca int
authorArr := strings.Split(authorStdout, "\n")
authorSet := make(map[string]bool, len(authorArr))
for _, author := range authorArr {
_, ok := authorSet[author]
if ok || author == "" {
continue
}
authorSet[author] = true
authorArr[total] = author
total++
if skip > 0 {
skip--
} else {
if ca < pageSize {
if ca != 0 {
filterAuthor += "\\|"
}
filterAuthor += author
ca++
}
}
}
if filterAuthor == "" {
return total, authors, nil
}
stdoutReader, stdoutWriter, err := os.Pipe()
if err != nil {
return total, nil, err
}
defer func() {
_ = stdoutReader.Close()
_ = stdoutWriter.Close()
}()
gitCmd := gitea_git.NewCommand(repo.Ctx, "log", "--numstat", "--no-merges", "--pretty=format:---%n%h%n%aN%n%aE%n", "--date=iso", gitea_git.CmdArg(fmt.Sprintf("--author=%s", filterAuthor)), gitea_git.CmdArg(fmt.Sprintf("--since='%s'", since)))
if len(branch) == 0 {
gitCmd.AddArguments("--branches=*")
} else {
gitCmd.AddArguments("--first-parent").AddDynamicArguments(branch)
}
stderr := new(strings.Builder)
err = gitCmd.Run(&gitea_git.RunOpts{
Env: []string{},
Dir: repo.Path,
Stdout: stdoutWriter,
Stderr: stderr,
PipelineFunc: func(ctx context.Context, cancel context.CancelFunc) error {
_ = stdoutWriter.Close()
scanner := bufio.NewScanner(stdoutReader)
scanner.Split(bufio.ScanLines)
authorsMap := make(map[string]*CodeActivityAuthor)
files := make(container.Set[string])
var author string
var currentAuthor *CodeActivityAuthor
p := 0
for scanner.Scan() {
l := strings.TrimSpace(scanner.Text())
if l == "---" {
p = 1
} else if p == 0 {
continue
} else {
p++
}
if p > 4 && len(l) == 0 {
continue
}
switch p {
case 1: // Separator
case 2: // Commit sha-1
case 3: // Author
author = l
case 4: // E-mail
email := strings.ToLower(l)
if _, ok := authorsMap[email+author]; !ok {
authorsMap[email+author] = &CodeActivityAuthor{Name: author, Email: email, Commits: 0}
}
authorsMap[email+author].Commits++
currentAuthor = authorsMap[email+author]
default: // Changed file
if parts := strings.Fields(l); len(parts) >= 3 {
if parts[0] != "-" {
if c, err := strconv.ParseInt(strings.TrimSpace(parts[0]), 10, 64); err == nil {
currentAuthor.Additions += c
}
}
if parts[1] != "-" {
if c, err := strconv.ParseInt(strings.TrimSpace(parts[1]), 10, 64); err == nil {
currentAuthor.Deletions += c
}
}
files.Add(parts[2])
}
}
}
for _, v := range authorsMap {
authors = append(authors, v)
}
_ = stdoutReader.Close()
return nil
},
})
if err != nil {
return total, nil, fmt.Errorf("Failed to get GetCodeActivityStats for repository.\nError: %w\nStderr: %s", err, stderr)
}
return total, authors, nil
}

114
modules/schemas/issue.json Normal file
View File

@ -0,0 +1,114 @@
{
"title": "Issue",
"description": "Issues associated to a repository within a forge (Gitea, GitLab, etc.).",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"number": {
"description": "Unique identifier, relative to the repository.",
"type": "number"
},
"poster_id": {
"description": "Unique identifier of the user who authored the issue.",
"type": "number"
},
"poster_name": {
"description": "Name of the user who authored the issue.",
"type": "string"
},
"poster_email": {
"description": "Email of the user who authored the issue.",
"type": "string"
},
"title": {
"description": "Short description displayed as the title.",
"type": "string"
},
"content": {
"description": "Long, multiline, description.",
"type": "string"
},
"ref": {
"description": "Target branch in the repository.",
"type": "string"
},
"milestone": {
"description": "Name of the milestone.",
"type": "string"
},
"state": {
"description": "A 'closed' issue will not see any activity in the future, otherwise it is 'open'.",
"enum": [
"closed",
"open"
]
},
"is_locked": {
"description": "A locked issue can only be modified by privileged users.",
"type": "boolean"
},
"created": {
"description": "Creation time.",
"type": "string",
"format": "date-time"
},
"updated": {
"description": "Last update time.",
"type": "string",
"format": "date-time"
},
"closed": {
"description": "The last time 'state' changed to 'closed'.",
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"labels": {
"description": "List of labels.",
"type": "array",
"items": {
"$ref": "label.json"
}
},
"reactions": {
"description": "List of reactions.",
"type": "array",
"items": {
"$ref": "reaction.json"
}
},
"assignees": {
"description": "List of assignees.",
"type": "array",
"items": {
"description": "Name of a user assigned to the issue.",
"type": "string"
}
}
},
"required": [
"number",
"poster_id",
"poster_name",
"title",
"content",
"state",
"is_locked",
"created",
"updated"
]
},
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "http://example.com/issue.json",
"$$target": "issue.json"
}

View File

@ -0,0 +1,28 @@
{
"title": "Label",
"description": "Label associated to an issue.",
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"description": "Name of the label, unique within the repository.",
"type": "string"
},
"color": {
"description": "Color code of the label.",
"type": "string"
},
"description": {
"description": "Long, multiline, description.",
"type": "string"
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "label.json",
"$$target": "label.json"
}

View File

@ -0,0 +1,67 @@
{
"title": "Milestone",
"description": "Milestone associated to a repository within a forge.",
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"description": "Short description.",
"type": "string"
},
"description": {
"description": "Long, multiline, description.",
"type": "string"
},
"deadline": {
"description": "Deadline after which the milestone is overdue.",
"type": "string",
"format": "date-time"
},
"created": {
"description": "Creation time.",
"type": "string",
"format": "date-time"
},
"updated": {
"description": "Last update time.",
"type": "string",
"format": "date-time"
},
"closed": {
"description": "The last time 'state' changed to 'closed'.",
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
]
},
"state": {
"description": "A 'closed' issue will not see any activity in the future, otherwise it is 'open'.",
"enum": [
"closed",
"open"
]
}
},
"required": [
"title",
"description",
"deadline",
"created",
"updated",
"closed",
"state"
]
},
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "http://example.com/milestone.json",
"$$target": "milestone.json"
}

View File

@ -0,0 +1,29 @@
{
"title": "Reaction",
"description": "Reaction associated to an issue or a comment.",
"type": "object",
"additionalProperties": false,
"properties": {
"user_id": {
"description": "Unique identifier of the user who authored the reaction.",
"type": "number"
},
"user_name": {
"description": "Name of the user who authored the reaction.",
"type": "string"
},
"content": {
"description": "Representation of the reaction",
"type": "string"
}
},
"required": [
"user_id",
"content"
],
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "http://example.com/reaction.json",
"$$target": "reaction.json"
}

View File

@ -0,0 +1,10 @@
package structs
import (
gitea_api "code.gitea.io/gitea/modules/structs"
)
type HatEditUserOption struct {
NewName string `json:"new_name" binding:"MaxSize(40)"`
*gitea_api.EditUserOption
}

27
modules/structs/blame.go Normal file
View File

@ -0,0 +1,27 @@
package structs
import (
"time"
"code.gitea.io/gitea/modules/git"
)
type BlameCommit struct {
ID string `json:"id"`
Author *git.Signature `json:"author"`
Commiter *git.Signature `json:"commiter"`
CommitMessage string `json:"commit_message"`
Parents []string `json:"parents"`
AuthoredTime time.Time `json:"authored_time"`
CommittedTime time.Time `json:"committed_time"`
CreatedTime time.Time `json:"created_time"`
}
type BlamePart struct {
Sha string `json:"-"`
Commit *BlameCommit `json:"commit"`
PreviousNumber int `json:"previous_number"`
CurrentNumber int `json:"current_number"`
EffectLine int `json:"effect_line"`
Lines []string `json:"lines"`
}

38
modules/structs/hook.go Normal file
View File

@ -0,0 +1,38 @@
package structs
import (
gitea_api "code.gitea.io/gitea/modules/structs"
)
type CreateHookOption struct {
// required: true
// enum: dingtalk,discord,gitea,gogs,msteams,slack,telegram,feishu,jianmu,softbot
Type string `json:"type" binding:"Required"`
// required: true
Config gitea_api.CreateHookOptionConfig `json:"config" binding:"Required"`
Events []string `json:"events"`
BranchFilter string `json:"branch_filter" binding:"GlobPattern"`
// default: false
Active bool `json:"active"`
}
type EditHookOption struct {
Config map[string]string `json:"config"`
Events []string `json:"events"`
BranchFilter string `json:"branch_filter" binding:"GlobPattern"`
Active *bool `json:"active"`
}
type HookTask struct {
ID int64 `json:"id"`
UUID string `json:"uuid"`
Type string `json:"type"`
Config map[string]string `json:"config"`
PayloadContent map[string]interface{} `json:"payload_content"`
EventType string `json:"event_type"`
IsDelivered bool `json:"is_delivered"`
Delivered int64 `json:"delivered"`
IsSucceed bool `json:"is_succeed"`
RequestContent map[string]interface{} `json:"request_content"`
ResponseContent map[string]interface{} `json:"response_content"`
}

View File

@ -13,3 +13,13 @@ type Organization struct {
RepoAdminChangeTeamAccess bool `json:"repo_admin_change_team_access"`
OwnerTeam interface{} `json:"owner_team"` //团队关系;
}
type EditOrgOption struct {
Name string `json:"name"`
FullName string `json:"full_name"`
Description string `json:"description" binding:"MaxSize(255)"`
Website string `json:"website" binding:"MaxSize(255)"`
Location string `json:"location" binding:"MaxSize(50)"`
Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
RepoAdminChangeTeamAccess *bool `json:"repo_admin_change_team_access"`
}

View File

@ -0,0 +1,16 @@
package structs
import "time"
type PullRequestVersion struct {
ID int64 `json:"id"`
AddLineNum int `json:"add_line_num"`
DelLineNum int `json:"del_line_num"`
CommitsCount int `json:"commits_count"`
FilesCount int `json:"files_count"`
BaseCommitSha string `json:"base_commit_sha"`
HeadCommitSha string `json:"head_commit_sha"`
StartCommitSha string `json:"start_commit_sha"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}

View File

@ -0,0 +1,26 @@
package structs
import (
"time"
gitea_api "code.gitea.io/gitea/modules/structs"
)
type Release struct {
ID int64 `json:"id"`
TagName string `json:"tag_name"`
Target string `json:"target_commitish"`
Title string `json:"name"`
Sha string `json:"sha"`
Note string `json:"body"`
URL string `json:"url"`
HTMLURL string `json:"html_url"`
TarURL string `json:"tarball_url"`
ZipURL string `json:"zipball_url"`
IsDraft bool `json:"draft"`
IsPrerelease bool `json:"prerelease"`
CreatedAt time.Time `json:"created_at"`
PublishedAt time.Time `json:"published_at"`
Publisher *gitea_api.User `json:"author"`
Attachments []*gitea_api.Attachment `json:"assets"`
}

View File

@ -0,0 +1,10 @@
package structs
import (
gitea_api "code.gitea.io/gitea/modules/structs"
)
type Commit struct {
*gitea_api.Commit
Branch string `json:"branch"`
}

View File

@ -0,0 +1,33 @@
package structs
import (
gitea_api "code.gitea.io/gitea/modules/structs"
)
type BatchChangeFileOptions struct {
Header gitea_api.FileOptions `json:"header"`
Files []struct {
Encoding string `json:"encoding"`
FilePath string `json:"file_path"`
Content string `json:"content"`
ActionType string `json:"action_type"`
} `json:"files"`
}
type BatchFileResponse struct {
Contents []*ContentsResponse `json:"contents"`
Commit *gitea_api.FileCommitResponse `json:"commit"`
Verification *gitea_api.PayloadCommitVerification `json:"verification"`
}
type ContentsResponse struct {
*gitea_api.ContentsResponse
IsTextFile bool `json:"is_text_file"`
LatestCommit ContentsResponseCommit `json:"latest_commit"`
}
type ContentsResponseCommit struct {
Message string `json:"message"`
Sha string `json:"sha"`
CreatedAt int64 `json:"created_at"`
}

View File

@ -24,3 +24,8 @@ type TagCommit struct {
Author *gitea_api.CommitUser `json:"author"`
Message string `json:"message"`
}
type RepoBranchAndTagCount struct {
BranchCount int `json:"branch_count"`
TagCount int `json:"tag_count"`
}

View File

@ -1,48 +0,0 @@
AFFERO GENERAL PUBLIC LICENSE
Version 1, March 2002 Copyright © 2002 Affero Inc.
510 Third Street - Suite 225, San Francisco, CA 94107, USA
This license is a modified version of the GNU General Public License copyright (C) 1989, 1991 Free Software Foundation, Inc. made with their permission. Section 2(d) has been added to cover use of software over a computer network.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the Affero General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This Public License applies to most of Affero's software and to any other program whose authors commit to using it. (Some other Affero software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. This General Public License is designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this Affero General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
d) If the Program as you received it is intended to interact with users through a computer network and if, in the version you received, any user interacting with the Program was given the opportunity to request transmission to that user of the Program's complete source code, you must not remove that facility from your modified version of the Program or work based on the Program, and must offer an equivalent opportunity for all users interacting with your Program through a computer network to request immediate transmission by HTTP of the complete source code of your modified version or other derivative work.
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. Affero Inc. may publish revised and/or new versions of the Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by Affero, Inc. If the Program does not specify a version number of this License, you may choose any version ever published by Affero, Inc.
You may also choose to redistribute modified versions of this program under any version of the Free Software Foundation's GNU General Public License version 3 or higher, so long as that version of the GNU GPL includes terms and conditions substantially equivalent to those of this license.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by Affero, Inc., write to us; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

View File

@ -1,27 +0,0 @@
The FreeBSD Copyright Copyright 1992-2012 The FreeBSD Project. All rights
reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are
those of the authors and should not be interpreted as representing official
policies, either expressed or implied, of the FreeBSD Project.

View File

@ -1,24 +0,0 @@
Copyright (c) 2008 The NetBSD Foundation, Inc. All rights reserved.
This code is derived from software contributed to The NetBSD Foundation by
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -0,0 +1,101 @@
Creative Commons Attribution 3.0 IGO
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. THE LICENSOR IS NOT NECESSARILY AN INTERGOVERNMENTAL ORGANIZATION (IGO), AS DEFINED IN THE LICENSE BELOW.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("LICENSE"). THE LICENSOR (DEFINED BELOW) HOLDS COPYRIGHT AND OTHER RIGHTS IN THE WORK. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION FOR YOUR ACCEPTANCE AND AGREEMENT TO THE TERMS OF THE LICENSE.
1. Definitions
a. "IGO" means, solely and exclusively for purposes of this License, an organization established by a treaty or other instrument governed by international law and possessing its own international legal personality. Other organizations established to carry out activities across national borders and that accordingly enjoy immunity from legal process are also IGOs for the sole and exclusive purposes of this License. IGOs may include as members, in addition to states, other entities.
b. "Work" means the literary and/or artistic work eligible for copyright protection, whatever may be the mode or form of its expression including digital form, and offered under the terms of this License. It is understood that a database, which by reason of the selection and arrangement of its contents constitutes an intellectual creation, is considered a Work.
c. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License and may be, but is not necessarily, an IGO.
d. "You" means an individual or entity exercising rights under this License.
e. "Reproduce" means to make a copy of the Work in any manner or form, and by any means.
f. "Distribute" means the activity of making publicly available the Work or Adaptation (or copies of the Work or Adaptation), as applicable, by sale, rental, public lending or any other known form of transfer of ownership or possession of the Work or copy of the Work.
g. "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.
h. "Adaptation" means a work derived from or based upon the Work, or upon the Work and other pre-existing works. Adaptations may include works such as translations, derivative works, or any alterations and arrangements of any kind involving the Work. For purposes of this License, where the Work is a musical work, performance, or phonogram, the synchronization of the Work in timed-relation with a moving image is an Adaptation. For the avoidance of doubt, including the Work in a Collection is not an Adaptation.
i. "Collection" means a collection of literary or artistic works or other works or subject matter other than works listed in Section 1(b) 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. For the avoidance of doubt, a Collection will not be considered as an Adaptation.
2. Scope of this License. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright protection.
3. License Grant. Subject to the terms and conditions of this License, the Licensor hereby grants You a worldwide, royalty-free, non-exclusive license to exercise the rights in the Work as follows:
a. to Reproduce, Distribute and Publicly Perform the Work, to incorporate the Work into one or more Collections, and to Reproduce, Distribute and Publicly Perform the Work as incorporated in the Collections; and,
b. to create, Reproduce, Distribute and Publicly Perform Adaptations, provided that You clearly label, demarcate or otherwise identify that changes were made to the original Work.
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;
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. To the extent possible, the Licensor waives the right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary licensing scheme.
This License lasts for the duration of the term of the copyright in the Work licensed by the Licensor. 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. All rights not expressly granted by the Licensor are hereby reserved.
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 (see section 8(a)). 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 a Licensor You must, to the extent practicable, remove from the Collection any credit (inclusive of any logo, trademark, official mark or official emblem) as required by Section 4(b), as requested. If You create an Adaptation, upon notice from a Licensor You must, to the extent practicable, remove from the Adaptation any credit (inclusive of any logo, trademark, official mark or official emblem) 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) any attributions that the Licensor indicates be associated with the Work as indicated in a copyright notice, (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that the 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. The credit required by this Section 4(b) may be implemented in any reasonable manner; provided, however, that in the case of an Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributors to 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 contributors. 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 Licensor or others designated for attribution, of You or Your use of the Work, without the separate, express prior written permission of the Licensor or such others.
c. Except as otherwise agreed in writing by the Licensor, 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 honor or reputation of the Licensor where moral rights apply.
5. Representations, Warranties and Disclaimer
THE 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 ERRORS, WHETHER OR NOT DISCOVERABLE.
6. Limitation on Liability
IN NO EVENT WILL THE 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 THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. Subject to the terms and conditions set forth in this License, the license granted here lasts for the duration of the term of the copyright in the Work licensed by the Licensor as stated in Section 3. Notwithstanding the above, the 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 below.
b. If You fail to comply with this License, then 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. Notwithstanding the foregoing, this License reinstates automatically as of the date the violation is cured, provided it is cured within 30 days of You discovering the violation, or upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 7(b) does not affect any rights the Licensor may have to seek remedies for violations of this License by You.
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, the 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, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action, 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 Licensor.
e. This License constitutes the entire agreement between You and the Licensor with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. The 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). Interpretation of the scope of the rights granted by the Licensor and the conditions imposed on You under this License, this License, and the rights and conditions set forth herein shall be made with reference to copyright as determined in accordance with general principles of international law, including the above mentioned conventions.
g. Nothing in this License constitutes or may be interpreted as a limitation upon or waiver of any privileges and immunities that may apply to the Licensor or You, including immunity from the legal processes of any jurisdiction, national court or other authority.
h. Where the Licensor is an IGO, any and all disputes arising under this License that cannot be settled amicably shall be resolved in accordance with the following procedure:
i. Pursuant to a notice of mediation communicated by reasonable means by either You or the Licensor to the other, the dispute shall be submitted to non-binding mediation conducted in accordance with rules designated by the Licensor in the copyright notice published with the Work, or if none then in accordance with those communicated in the notice of mediation. The language used in the mediation proceedings shall be English unless otherwise agreed.
ii. If any such dispute has not been settled within 45 days following the date on which the notice of mediation is provided, either You or the Licensor may, pursuant to a notice of arbitration communicated by reasonable means to the other, elect to have the dispute referred to and finally determined by arbitration. The arbitration shall be conducted in accordance with the rules designated by the Licensor in the copyright notice published with the Work, or if none then in accordance with the UNCITRAL Arbitration Rules as then in force. The arbitral tribunal shall consist of a sole arbitrator and the language of the proceedings shall be English unless otherwise agreed. The place of arbitration shall be where the Licensor has its headquarters. The arbitral proceedings shall be conducted remotely (e.g., via telephone conference or written submissions) whenever practicable.
iii. Interpretation of this License in any dispute submitted to mediation or arbitration shall be as set forth in Section 8(f), above.
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 the 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.
Creative Commons may be contacted at https://creativecommons.org/.

View File

@ -5,5 +5,3 @@ Fair License
Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument.
DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
[2004, Fair License: rhid.com/fair (this URL no longer works)]

View File

@ -0,0 +1 @@
The Totem project hereby grant permission for non-gpl compatible GStreamer plugins to be used and distributed together with GStreamer and Totem. This permission are above and beyond the permissions granted by the GPL license Totem is covered by.

View File

@ -0,0 +1 @@
This project hereby grants permission for non-GPL compatible GStreamer plugins to be used and distributed together with GStreamer and this project. This permission is above and beyond the permissions granted by the GPL license by which this project is covered. If you modify this code, you may extend this exception to your version of the code, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

View File

@ -0,0 +1,8 @@
LICENSE
-------
LZMA SDK is written and placed in the public domain by Igor Pavlov.
Some code in LZMA is based on public domain code from another developers:
1) PPMd var.H (2001): Dmitry Shkarin
2) SHA-256: Wei Dai (Crypto++ library)

View File

@ -0,0 +1,15 @@
LICENSE
-------
LZMA SDK is written and placed in the public domain by Igor Pavlov.
Some code in LZMA SDK is based on public domain code from another developers:
1) PPMd var.H (2001): Dmitry Shkarin
2) SHA-256: Wei Dai (Crypto++ library)
Anyone is free to copy, modify, publish, use, compile, sell, or distribute the
original LZMA SDK code, either in source code form or as a compiled binary, for
any purpose, commercial or non-commercial, and by any means.
LZMA SDK code is compatible with open source licenses, for example, you can
include it to GNU GPL or GNU LGPL code.

View File

@ -2,6 +2,6 @@
By obtaining, using, and/or copying this software and/or its associated documentation, you agree that you have read, understood, and will comply with the following terms and conditions:
Permission to use, copy, modify, and distribute this software and its associated documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies, and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the copyright holder not be used in advertising or publicity pertaining to distribution of the software without specific, written permission.
Permission to use, copy, modify, and distribute this software and its associated documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies, and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of the copyright holder not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.
THE COPYRIGHT HOLDER DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

24
options/license/MS-LPL Normal file
View File

@ -0,0 +1,24 @@
Microsoft Limited Public License (Ms-LPL)
This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
1. Definitions
The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. A "contribution" is the original software, or any additions or changes to the software. A "contributor" is any person that distributes its contribution under this license. "Licensed patents" are a contributor's patent claims that read directly on its contribution.
2. Grant of Rights
(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.
(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.
3. Conditions and Limitations
(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
(B) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.
(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
(E) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees, or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.
(F) Platform Limitation- The licenses granted in sections 2(A) & 2(B) extend only to the software or derivative works that you create that run on a Microsoft Windows operating system product.

51
options/license/Minpack Normal file
View File

@ -0,0 +1,51 @@
Minpack Copyright Notice (1999) University of Chicago. All rights reserved
Redistribution and use in source and binary forms, with or
without modification, are permitted provided that the
following conditions are met:
1. Redistributions of source code must retain the above
copyright notice, this list of conditions and the following
disclaimer.
2. Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials
provided with the distribution.
3. The end-user documentation included with the
redistribution, if any, must include the following
acknowledgment:
"This product includes software developed by the
University of Chicago, as Operator of Argonne National
Laboratory.
Alternately, this acknowledgment may appear in the software
itself, if and wherever such third-party acknowledgments
normally appear.
4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
BE CORRECTED.
5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGES.

View File

@ -0,0 +1,147 @@
木兰开放作品许可协议 署名第1版
木兰开放作品许可协议 署名第1版
2022年12月 http://license.coscl.org.cn/MulanOWLBYv1
“您”对“本作品”的复制、使用、修改及“传播”受木兰开放作品许可协议 署名第1版以下简称“本许可协议”的如下条款的约束
0. 定义
“本作品”是指依据“本许可协议”提供许可的受版权法保护的智力成果,包括但不限于文字作品、音乐作品、美术作品、建筑作品、摄影作品、视听作品、图形作品、模型作品等。
“演绎作品”是指基于“本作品”创作的作品,包括但不限于对“本作品”全部或部分进行改编、翻译、注释、编排等。
“贡献者”是指“本许可协议”下“本作品”相关权利的许可人,包括版权权利人和其授权的自然人或“组织”。
“您”是指“本许可协议”下“本作品”相关权利的被许可人,是行使“本许可协议”授予的权利的自然人或“组织”。“您的”具有对应含义。
“组织”是指法人、非法人组织及其关联实体。此处的“关联实体”是指对“本许可协议”下的行为方而言控制、受控制或与其共同受控制的机构。此处的“控制”是指拥有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。
“传播”是指通过任何媒介向他人提供作品的行为,包括但不限于发行、出租、展览、表演、放映、通过信息网络提供或以其他方式提供作品。
“有效技术措施”是指根据适用法域的法律,版权权利人为避免作品未经授权使用而采取的禁止使用者规避的技术措施。
1. 授予版权许可
在“您”遵守“本许可协议”的前提下,每个“贡献者”根据“本许可协议”授予“您”永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,供“您”以复制、修改、“传播”等方式利用“本作品”。
2. 无其他许可
除“本许可协议”明确规定外,“本许可协议”不提供包括商标、专利在内的任何其他许可。
3. “传播”条件
“您”可以任何方式“传播”“本作品”或“您的”“演绎作品”,但应当满足以下条件:
1“您”必须随附“本作品”或“您的”“演绎作品”提供“本许可协议”的完整文本或网址
2“您”必须保留“本作品”或“您”所使用部分的来源网址、“贡献者”署名和/或版权声明(“贡献者”要求移除的情形除外)、修改声明、专利声明、商标声明及免责声明;
3若“您”基于“本作品”创作“演绎作品”并“传播”的“您”必须以合理方式声明“本作品”已被修改
4“您”不得对“本作品”施加任何的约束或采用任何“有效技术措施”以限制接收“本作品”的其他人在“本许可协议”下所享有的权利若“您”接收的“本作品”被施加前述约束或“有效技术措施”“您”有权进行移除或规避。
“您”可以以合理方式标注“您”所使用的“本作品”或其部分的标题、版本等信息若“您”使用的“本作品”或其部分或“您的”“演绎作品”是通过信息网络“传播”本条第1-3项中所述文本或网址可以使用超链接。
4. 违约与终止
4.1 若“您”违反“本许可协议”,任何“贡献者”有权书面通知“您”终止其根据“本许可协议”授予“您”的许可。该“贡献者”根据“本许可协议”授予“您”的许可自“您”接到其终止通知之日起终止。仅在如下三种情形下,即使“您”收到“贡献者”的通知也并不终止其授予“您”的许可:
1“您”在接到该终止通知之前已停止所有违反行为
2“您”是首次收到该“贡献者”根据“本许可协议”发出的书面终止通知并且“您”在收到该通知后30天内已停止所有违反行为
3“贡献者”明示恢复授予“您”的许可。
4.2 即使“您”在“本许可协议”下被授予的许可终止,只要从“您”处直接或间接接收“本作品”的其他人遵守“本许可协议”的规定,他们根据“本许可协议”享有的权利不受影响。
4.3 “本许可协议”第0、4、5、6条不因“本许可协议”终止而失效。
5. 免责声明与责任限制
“本作品”在提供时不带有任何明示或默示的担保。在任何情况下,“贡献者”不对任何人因使用“本作品”而引发的任何直接或间接损失承担任何责任,不论该等损失因何种原因导致或者基于何种法律理论,即使其曾被告知有该等损失的可能性。
6. 语言
“本许可协议”以中英文双语表述,中英文版本具有同等法律效力。若中英文版本存在任何不一致,以中文版为准。
条款结束
Mulan Open Works License Attribution, Version 1
Mulan Open Works License Attribution, Version 1
December 2022 http://license.coscl.org.cn/MulanOWLBYv1
Your reproduction, use, modification and Dissemination of This Work shall be subject to Mulan Open Works License Attribution, Version 1 (This License) with following terms and conditions:
0. Definition
This Work means intellectual achievement protected by copyright law that is licensed under This License, including but not limited to a written work, a musical work, a fine art work, an architecture work, a photographic work, an audiovisual work, a graphic work, and a model work.
Adapted Work means a work that is created based on This Work, including but not limited to modification, translation, annotation, or arrangement of This Work in whole or in part.
Contributor means the licensor(s) of the rights related to This Work under This License, including the copyright holder(s) and its authorized individual(s) or Organization(s).
You means the licensee of the rights related to This Work under This License, who is an individual or Organization exercising the rights granted under This License. Your has a corresponding meaning.
Organization means any legal entity(ies), unincorporated organization(s), and their affiliate(s). Aforesaid “affiliate” means any entity that controls, is controlled by, or is under common control with any party under This License. Aforesaid “control” means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.
Disseminate (or Dissemination) means the act of making works available to others through any medium, including but not limited to distribution, lease, exhibition, performance, projection, providing works through information networks or by any other means providing works.
Effective Technical Measures means those technical measures taken by copyright holders to prevent unauthorized use of work, from which circumvention by users are prohibited under laws of applicable jurisdiction.
1. Grant of Copyright License
Subject to Your compliance with the terms and conditions of This License, each Contributor hereby grants You, according to This License, a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to copy, modify, Disseminate, and in other manner use This Work.
2. No Other License
Except for those as expressly stated in This License, This License does not provide any other licenses, including trademark license or patent license.
3. Dissemination Conditions
You may Disseminate This Work or Your Adapted Work in any manner, provided that the following conditions are met:
(1) You must provide the text or URI of This License with This Work or Your Adapted Work;
(2) You must retain any URI, Contributors attribution and/or copyright statements (unless the Contributor requires removal), modification statements, patent statements, trademark statements, and disclaimer statements of This Work or parts thereof that You use;
(3) If You create an Adapted Work based on This Work and Disseminate it, You must indicate in a reasonable manner that You modified This Work;
(4) You must not exert any restrictions on or apply any Effective Technical Measures to This Work to restrict any others who receive This Work from exercising the rights granted under This License; if This Work You received had been exerted foregoing restrictions or applied Effective Technical Measures, You are entitled to remove or circumvent them.
You may indicate in a reasonable manner the information such as the title or version of This Work or parts thereof that You use; if This Work or parts thereof that You use or Your Adapted Work is Disseminated through information networks, You may use hyperlinks for provision of the foregoing texts or URIs in (1)-(3) of Section 4.
4. Breach and Termination
4.1 If You breached This License, any Contributor has the right to notify You in writing to terminate its license granted to You under This License. The license granted to You by such Contributor terminates upon Your receipt of such notice of termination. Notwithstanding the foregoing, Your license will not be terminated even if You received a notice of termination from Contributor, under three circumstances as set forth below:
(1) You have cured all the breaches prior to receipt of such notice of termination; or,
(2) its Your first time to receive a notice of termination from such Contributor pursuant to This License, and You have cured all the breaches within 30 days of receipt of such notice; or,
(3) Contributor has expressly reinstated the license granted to You.
4.2 Termination of Your license under This License shall not affect any rights under This License granted to any others who directly or indirectly receive This Work from You, provided that they comply with the terms and conditions of This License.
4.3 Sections 0, 4, 5, and 6 survive termination of This License.
5. Disclaimer of Warranty and Limitation of Liability
THIS WORK IS PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO ANY DIRECT OR INDIRECT DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THIS WORK, NO MATTER HOW IT IS CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
6. Language
THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL.
END OF THE TERMS AND CONDITIONS

View File

@ -0,0 +1,163 @@
木兰开放作品许可协议 署名-专利许可第1版
木兰开放作品许可协议 署名-专利许可第1版
2022年12月 http://license.coscl.org.cn/MulanOWLBYPLv1
“您”对“本作品”的复制、使用、修改及“传播”受木兰开放作品许可协议 署名-专利许可第1版以下简称“本许可协议”的如下条款的约束
0. 定义
“本作品”是指依据“本许可协议”提供许可的受版权法保护的智力成果,包括但不限于文字作品、音乐作品、美术作品、建筑作品、摄影作品、视听作品、图形作品、模型作品等。
“演绎作品”是指基于“本作品”创作的作品,包括但不限于对“本作品”全部或部分进行改编、翻译、注释、编排等。
“贡献者”是指“本许可协议”下“本作品”相关权利的许可人,包括版权权利人和其授权的自然人或“组织”。
“您”是指“本许可协议”下“本作品”相关权利的被许可人,是行使“本许可协议”授予的权利的自然人或“组织”。“您的”具有对应含义。
“组织”是指法人、非法人组织及其关联实体。此处的“关联实体”是指对“本许可协议”下的行为方而言控制、受控制或与其共同受控制的机构。此处的“控制”是指拥有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。
“传播”是指通过任何媒介向他人提供作品的行为,包括但不限于发行、出租、展览、表演、放映、通过信息网络提供或以其他方式提供作品。
“有效技术措施”是指根据适用法域的法律,版权权利人为避免作品未经授权使用而采取的禁止使用者规避的技术措施。
1. 授予版权许可
在“您”遵守“本许可协议”的前提下,每个“贡献者”根据“本许可协议”授予“您”永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,供“您”以复制、修改、“传播”等方式利用“本作品”。
2. 授予专利许可
2.1 在“您”遵守“本许可协议”的前提下,每个“贡献者”根据“本许可协议”授予“您”永久性的、全球性的、免费的、非独占的、不可撤销的(根据“本许可协议”规定提前终止的除外)专利许可,供“您”依据“本作品”制造、委托制造产品,使用、销售、许诺销售、进口该产品。前述专利许可仅限于“贡献者”现在或将来拥有或控制的、其在“本作品”中享有版权的部分所覆盖的、依据“本作品”本身制造、委托制造产品,使用、销售、许诺销售、进口该产品而必然会侵犯的专利权利要求或外观设计特征。
2.2 若“您”直接或间接地、就“本作品”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可协议”授予“您”的专利许可自“您”提起诉讼或发起维权行动之日终止。
2.3 第2.1条和2.2条中的专利包括外观设计适用法域的法律对外观设计的保护不纳入专利保护范围的不影响第2.1条中“贡献者”对外观设计的许可及第2.2条中对“您”的外观设计许可的终止。
3. 无其他许可
除“本许可协议”明确规定外,“本许可协议”不提供包括商标在内的任何其他许可。
4.“传播”条件
“您”可以任何方式“传播”“本作品”或“您的”“演绎作品”,但应当满足以下条件:
1“您”必须随附“本作品”或“您的”“演绎作品”提供“本许可协议”的完整文本或网址
2“您”必须保留“本作品”或“您”所使用部分的来源网址、“贡献者”署名和/或版权声明(“贡献者”要求移除的情形除外)、修改声明、专利声明、商标声明及免责声明;
3若“您”基于“本作品”创作“演绎作品”并“传播”的“您”必须以合理方式声明“本作品”已被修改
4“您”不得对“本作品”施加任何的约束或采用任何“有效技术措施”以限制接收“本作品”的其他人在“本许可协议”下所享有的权利若“您”接收的“本作品”被施加前述约束或“有效技术措施”“您”有权进行移除或规避。
“您”可以以合理方式标注“您”所使用的“本作品”或其部分的标题、版本等信息若“您”使用的“本作品”或其部分或“您的”“演绎作品”是通过信息网络“传播”本条第1-3项中所述文本或网址可以使用超链接。
5. 违约与终止
5.1 若“您”违反“本许可协议”,任何“贡献者”有权书面通知“您”终止其根据“本许可协议”授予“您”的许可。该“贡献者”根据“本许可协议”授予“您”的许可自“您”接到其终止通知之日起终止。仅在如下三种情形下,即使“您”收到“贡献者”的通知也并不终止其授予“您”的许可:
1“您”在接到该终止通知之前已停止所有违反行为
2“您”是首次收到该“贡献者”根据“本许可协议”发出的书面终止通知并且“您”在收到该通知后30天内已停止所有违反行为
3“贡献者”明示恢复授予“您”的许可。
5.2 即使“您”在“本许可协议”下被授予的许可终止,只要从“您”处直接或间接接收“本作品”的其他人遵守“本许可协议”的规定,他们根据“本许可协议”享有的权利不受影响。
5.3 “本许可协议”第0、5、6、7条不因“本许可协议”终止而失效。
6. 免责声明与责任限制
“本作品”在提供时不带有任何明示或默示的担保。在任何情况下,“贡献者”不对任何人因使用“本作品”而引发的任何直接或间接损失承担任何责任,不论该等损失因何种原因导致或者基于何种法律理论,即使其曾被告知有该等损失的可能性。
7. 语言
“本许可协议”以中英文双语表述,中英文版本具有同等法律效力。若中英文版本存在任何不一致,以中文版为准。
条款结束
Mulan Open Works License Attribution-PatentLicensed, Version 1
Mulan Open Works License Attribution-PatentLicensed, Version 1
December 2022 http://license.coscl.org.cn/MulanOWLBYPLv1
Your reproduction, use, modification and Dissemination of This Work shall be subject to Mulan Open Works License Attribution-PatentLicensed, Version 1 (This License) with following terms and conditions:
0. Definition
This Work means intellectual achievement protected by copyright law that is licensed under This License, including but not limited to a written work, a musical work, a fine art work, an architecture work, a photographic work, an audiovisual work, a graphic work, and a model work.
Adapted Work means a work that is created based on This Work, including but not limited to modification, translation, annotation, or arrangement of This Work in whole or in part.
Contributor means the licensor(s) of the rights related to This Work under This License, including the copyright holder(s) and its authorized individual(s) or Organization(s).
You means the licensee of the rights related to This Work under This License, who is an individual or Organization exercising the rights granted under This License. Your has a corresponding meaning.
Organization means any legal entity(ies), unincorporated organization(s), and their affiliate(s). Aforesaid “affiliate” means any entity that controls, is controlled by, or is under common control with any party under This License. Aforesaid “control” means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.
Disseminate (or Dissemination) means the act of making works available to others through any medium, including but not limited to distribution, lease, exhibition, performance, projection, providing works through information networks or by any other means providing works.
Effective Technical Measures means those technical measures taken by copyright holders to prevent unauthorized use of work, from which circumvention by users are prohibited under laws of applicable jurisdiction.
1. Grant of Copyright License
Subject to Your compliance with the terms and conditions of This License, each Contributor hereby grants You, according to This License, a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to copy, modify, Disseminate, and in other manner use This Work.
2. Grant of Patent License
2.1 Subject to Your compliance with the terms and conditions of This License, each Contributor hereby grants You, according to This License, a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (unless terminated early according to This License) patent license for You to make, have made, use, sell, offer for sale and import any products based on This Work. The foregoing patent license applies only to patent claims or design features that are owned or controlled by the Contributor now or in future, covered by the copyrighted portion of This Work and necessarily infringed by making, having made, using, selling, offering for sale, or importing the products based on This Work.
2.2 If You directly or indirectly institute patent litigation (including a cross-claim or counterclaim in a litigation) or other patent enforcement activities against anyone with respect to This Work, accusing them of infringement of patents, then any patent license granted to You under This License for This Work shall terminate as of the date such litigation or activity is filed or taken.
2.3 The patents in Sections 2.1 and 2.2 include design; if design is not protected under patent law of the applicable jurisdiction, the Contributor's license of design in Section 2.1 and the termination of Your license of design in Section 2.2 remains unaffected.
3. No Other License
Except for those as expressly stated in This License, This License does not provide any other licenses, including trademark license.
4. Dissemination Conditions
You may Disseminate This Work or Your Adapted Work in any manner, provided that the following conditions are met:
(1) You must provide the text or URI of This License with This Work or Your Adapted Work;
(2) You must retain any URI, Contributors attribution and/or copyright statements (unless the Contributor requires removal), modification statements, patent statements, trademark statements, and disclaimer statements of This Work or parts thereof that You use;
(3) If You create an Adapted Work based on This Work and Disseminate it, You must indicate in a reasonable manner that You modified This Work;
(4) You must not exert any restrictions on or apply any Effective Technical Measures to This Work to restrict any others who receive This Work from exercising the rights granted under This License; if This Work You received had been exerted foregoing restrictions or applied Effective Technical Measures, You are entitled to remove or circumvent them.
You may indicate in a reasonable manner the information such as the title or version of This Work or parts thereof that You use; if This Work or parts thereof that You use or Your Adapted Work is Disseminated through information networks, You may use hyperlinks for provision of the foregoing texts or URIs in (1)-(3) of Section 4.
5. Breach and Termination
5.1 If You breached This License, any Contributor has the right to notify You in writing to terminate its license granted to You under This License. The license granted to You by such Contributor terminates upon Your receipt of such notice of termination. Notwithstanding the foregoing, Your license will not be terminated even if You received a notice of termination from Contributor, under three circumstances as set forth below:
(1) You have cured all the breaches prior to receipt of such notice of termination; or,
(2) its Your first time to receive a notice of termination from such Contributor pursuant to This License, and You have cured all the breaches within 30 days of receipt of such notice; or,
(3) Contributor has expressly reinstated the license granted to You.
5.2 Termination of Your license under This License shall not affect any rights under This License granted to any others who directly or indirectly receive This Work from You, provided that they comply with the terms and conditions of This License.
5.3 Sections 0, 5, 6, and 7 survive termination of This License.
6. Disclaimer of Warranty and Limitation of Liability
THIS WORK IS PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO ANY DIRECT OR INDIRECT DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THIS WORK, NO MATTER HOW IT IS CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Language
THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL.
END OF THE TERMS AND CONDITIONS

View File

@ -0,0 +1,168 @@
木兰开放作品许可协议 署名-专利许可-相同方式共享第1版
木兰开放作品许可协议 署名-专利许可-相同方式共享第1版
2022年12月 http://license.coscl.org.cn/MulanOWLBYPLSAv1
“您”对“本作品”的复制、使用、修改及“传播”受木兰开放作品许可协议 署名-专利许可-相同方式共享第1版以下简称“本许可协议”的如下条款的约束
0. 定义
“本作品”是指依据“本许可协议”提供许可的受版权法保护的智力成果,包括但不限于文字作品、音乐作品、美术作品、建筑作品、摄影作品、视听作品、图形作品、模型作品等。
“演绎作品”是指基于“本作品”创作的作品,包括但不限于对“本作品”全部或部分进行改编、翻译、注释、编排等。
“贡献者”是指“本许可协议”下“本作品”相关权利的许可人,包括版权权利人和其授权的自然人或“组织”。
“您”是指“本许可协议”下“本作品”相关权利的被许可人,是行使“本许可协议”授予的权利的自然人或“组织”。“您的”具有对应含义。
“组织”是指法人、非法人组织及其关联实体。此处的“关联实体”是指对“本许可协议”下的行为方而言控制、受控制或与其共同受控制的机构。此处的“控制”是指拥有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。
“传播”是指通过任何媒介向他人提供作品的行为,包括但不限于发行、出租、展览、表演、放映、通过信息网络提供或以其他方式提供作品。
“兼容的许可协议”是指在http://license.coscl.org.cn/faq列出且经木兰社区官方认可为与“本许可协议”兼容的许可协议。
“有效技术措施”是指根据适用法域的法律,版权权利人为避免作品未经授权使用而采取的禁止使用者规避的技术措施。
1. 授予版权许可
在“您”遵守“本许可协议”的前提下,每个“贡献者”根据“本许可协议”授予“您”永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,供“您”以复制、修改、“传播”等方式利用“本作品”。
2. 授予专利许可
2.1 在“您”遵守“本许可协议”的前提下,每个“贡献者”根据“本许可协议”授予“您”永久性的、全球性的、免费的、非独占的、不可撤销的(根据“本许可协议”规定提前终止的除外)专利许可,供“您”依据“本作品”制造、委托制造产品,使用、销售、许诺销售、进口该产品。前述专利许可仅限于“贡献者”现在或将来拥有或控制的、其在“本作品”中享有版权的部分所覆盖的、依据“本作品”本身制造、委托制造产品,使用、销售、许诺销售、进口该产品而必然会侵犯的专利权利要求或外观设计特征。
2.2 若“您”直接或间接地、就“本作品”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或其他专利维权行动,指控其侵犯专利权,则“本许可协议”授予“您”的专利许可自“您”提起诉讼或发起维权行动之日终止。
2.3 第2.1条和2.2条中的专利包括外观设计适用法域的法律对外观设计的保护不纳入专利保护范围的不影响第2.1条中“贡献者”对外观设计的许可及第2.2条中对“您”的外观设计许可的终止。
3. 无其他许可
除“本许可协议”明确规定外,“本许可协议”不提供包括商标在内的任何其他许可。
4.“传播”条件
“您”可以任何方式“传播”“本作品”或“您的”“演绎作品”,但应当满足以下条件:
1“您”必须随附“本作品”或“您的”“演绎作品”提供“本许可协议”的完整文本或网址
2“您”必须保留“本作品”或“您”所使用部分的来源网址、“贡献者”署名和/或版权声明(“贡献者”要求移除的情形除外)、修改声明、专利声明、商标声明及免责声明;
3若“您”基于“本作品”创作“演绎作品”并“传播”的“您”必须以合理方式声明“本作品”已被修改“您”还必须将“您的”“演绎作品”许可在“本许可协议”或“兼容的许可协议”下并提供所适用的许可协议文本或网址
4“您”不得对“本作品”或“演绎作品”施加任何的约束或采用任何“有效技术措施”以限制接收“本作品”或“演绎作品”的其他人在对应作品所适用的“本许可协议”或“兼容的许可协议”下所享有的权利若“您”接收的“本作品”被施加前述约束或“有效技术措施”“您”有权进行移除或规避。
“您”可以以合理方式标注“您”所使用的“本作品”或其部分的标题、版本等信息若“您”使用的“本作品”或其部分或“您的”“演绎作品”是通过信息网络“传播”本条第1-3项中所述文本或网址可以使用超链接。
5. 违约与终止
5.1 若“您”违反“本许可协议”,任何“贡献者”有权书面通知“您”终止其根据“本许可协议”授予“您”的许可。该“贡献者”根据“本许可协议”授予“您”的许可自“您”接到其终止通知之日起终止。仅在如下三种情形下,即使“您”收到“贡献者”的通知也并不终止其授予“您”的许可:
1“您”在接到该终止通知之前已停止所有违反行为
2“您”是首次收到该“贡献者”根据“本许可协议”发出的书面终止通知并且“您”在收到该通知后30天内已停止所有违反行为
3“贡献者”明示恢复授予“您”的许可。
5.2 即使“您”在“本许可协议”下被授予的许可终止,只要从“您”处直接或间接接收“本作品”的其他人遵守“本许可协议”的规定,他们根据“本许可协议”享有的权利不受影响。
5.3 “本许可协议”第0、5、6、7条不因“本许可协议”终止而失效。
6. 免责声明与责任限制
“本作品”在提供时不带有任何明示或默示的担保。在任何情况下,“贡献者”不对任何人因使用“本作品”而引发的任何直接或间接损失承担任何责任,不论该等损失因何种原因导致或者基于何种法律理论,即使其曾被告知有该等损失的可能性。
7. 语言
“本许可协议”以中英文双语表述,中英文版本具有同等法律效力。若中英文版本存在任何不一致,以中文版为准。
条款结束
Mulan Open Works License Attribution-PatentLicensed-ShareAlike, Version 1
Mulan Open Works License Attribution-PatentLicensed-ShareAlike, Version 1
December 2022 http://license.coscl.org.cn/MulanOWLBYPLSAv1
Your reproduction, use, modification and Dissemination of This Work shall be subject to Mulan Open Works License Attribution-PatentLicensed-ShareAlike, Version 1 (This License) with following terms and conditions:
0. Definition
This Work means intellectual achievement protected by copyright law that is licensed under This License, including but not limited to a written work, a musical work, a fine art work, an architecture work, a photographic work, an audiovisual work, a graphic work, and a model work.
Adapted Work means a work that is created based on This Work, including but not limited to modification, translation, annotation, or arrangement of This Work in whole or in part.
Contributor means the licensor(s) of the rights related to This Work under This License, including the copyright holder(s) and its authorized individual(s) or Organization(s).
You means the licensee of the rights related to This Work under This License, who is an individual or Organization exercising the rights granted under This License. Your has a corresponding meaning.
Organization means any legal entity(ies), unincorporated organization(s), and their affiliate(s). Aforesaid “affiliate” means any entity that controls, is controlled by, or is under common control with any party under This License. Aforesaid “control” means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.
Disseminate (or Dissemination) means the act of making works available to others through any medium, including but not limited to distribution, lease, exhibition, performance, projection, providing works through information networks or by any other means providing works.
Compatible License means any license that is listed on http://license.coscl.org.cn/faq and officially approved by Mulan Community as compatible with This License.
Effective Technical Measures means those technical measures taken by copyright holders to prevent unauthorized use of work, from which circumvention by users are prohibited under laws of applicable jurisdiction.
1. Grant of Copyright License
Subject to Your compliance with the terms and conditions of This License, each Contributor hereby grants You, according to This License, a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to copy, modify, Disseminate, and in other manner use This Work.
2. Grant of Patent License
2.1 Subject to Your compliance with the terms and conditions of This License, each Contributor hereby grants You, according to This License, a perpetual, worldwide, royalty-free, non-exclusive, irrevocable (unless terminated early according to This License) patent license for You to make, have made, use, sell, offer for sale and import any products based on This Work. The foregoing patent license applies only to patent claims or design features that are owned or controlled by the Contributor now or in future, covered by the copyrighted portion of This Work and necessarily infringed by making, having made, using, selling, offering for sale, or importing the products based on This Work.
2.2 If You directly or indirectly institute patent litigation (including a cross-claim or counterclaim in a litigation) or other patent enforcement activities against anyone with respect to This Work, accusing them of infringement of patents, then any patent license granted to You under This License for This Work shall terminate as of the date such litigation or activity is filed or taken.
2.3 The patents in Sections 2.1 and 2.2 include design; if design is not protected under patent law of the applicable jurisdiction, the Contributor's license of design in Section 2.1 and the termination of Your license of design in Section 2.2 remains unaffected.
3. No Other License
Except for those as expressly stated in This License, This License does not provide any other licenses, including trademark license.
4. Dissemination Conditions
You may Disseminate This Work or Your Adapted Work in any manner, provided that the following conditions are met:
(1) You must provide the text or URI of This License with This Work or Your Adapted Work;
(2) You must retain any URI, Contributors attribution and/or copyright statements (unless the Contributor requires removal), modification statements, patent statements, trademark statements, and disclaimer statements of This Work or parts thereof that You use;
(3) If You create an Adapted Work based on This Work and Disseminate it, You must indicate in a reasonable manner that You modified This Work; You must license Your Adapted Work under This License or any Compatible License and provide text or URI of the applied license;
(4) You must not exert any restrictions on or apply any Effective Technical Measures to This Work or the Adapted Work to restrict any others who receive This Work or Adapted Work from exercising the rights granted under This License or any Compatible License; if This Work You received had been exerted foregoing restrictions or applied Effective Technical Measures, You are entitled to remove or circumvent them.
You may indicate in a reasonable manner the information such as the title or version of This Work or parts thereof that You use; if This Work or parts thereof that You use or Your Adapted Work is Disseminated through information networks, You may use hyperlinks for provision of the foregoing texts or URIs in (1)-(3) of Section 4.
5. Breach and Termination
5.1 If You breached This License, any Contributor has the right to notify You in writing to terminate its license granted to You under This License. The license granted to You by such Contributor terminates upon Your receipt of such notice of termination. Notwithstanding the foregoing, Your license will not be terminated even if You received a notice of termination from Contributor, under three circumstances as set forth below:
(1) You have cured all the breaches prior to receipt of such notice of termination; or,
(2) its Your first time to receive a notice of termination from such Contributor pursuant to This License, and You have cured all the breaches within 30 days of receipt of such notice; or,
(3) Contributor has expressly reinstated the license granted to You.
5.2 Termination of Your license under This License shall not affect any rights under This License granted to any others who directly or indirectly receive This Work from You, provided that they comply with the terms and conditions of This License.
5.3 Sections 0, 5, 6, and 7 survive termination of This License.
6. Disclaimer of Warranty and Limitation of Liability
THIS WORK IS PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO ANY DIRECT OR INDIRECT DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THIS WORK, NO MATTER HOW IT IS CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Language
THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL.
END OF THE TERMS AND CONDITIONS

View File

@ -0,0 +1,152 @@
木兰开放作品许可协议 署名-相同方式共享第1版
木兰开放作品许可协议 署名-相同方式共享第1版
2022年12月 http://license.coscl.org.cn/MulanOWLBYSAv1
“您”对“本作品”的复制、使用、修改及“传播”受木兰开放作品许可协议 署名-相同方式共享第1版以下简称“本许可协议”的如下条款的约束
0. 定义
“本作品”是指依据“本许可协议”提供许可的受版权法保护的智力成果,包括但不限于文字作品、音乐作品、美术作品、建筑作品、摄影作品、视听作品、图形作品、模型作品等。
“演绎作品”是指基于“本作品”创作的作品,包括但不限于对“本作品”全部或部分进行改编、翻译、注释、编排等。
“贡献者”是指“本许可协议”下“本作品”相关权利的许可人,包括版权权利人和其授权的自然人或“组织”。
“您”是指“本许可协议”下“本作品”相关权利的被许可人,是行使“本许可协议”授予的权利的自然人或“组织”。“您的”具有对应含义。
“组织”是指法人、非法人组织及其关联实体。此处的“关联实体”是指对“本许可协议”下的行为方而言控制、受控制或与其共同受控制的机构。此处的“控制”是指拥有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。
“传播”是指通过任何媒介向他人提供作品的行为,包括但不限于发行、出租、展览、表演、放映、通过信息网络提供或以其他方式提供作品。
“兼容的许可协议”是指在http://license.coscl.org.cn/faq列出且经木兰社区官方认可为与“本许可协议”兼容的许可协议。
“有效技术措施”是指根据适用法域的法律,版权权利人为避免作品未经授权使用而采取的禁止使用者规避的技术措施。
1. 授予版权许可
在“您”遵守“本许可协议”的前提下,每个“贡献者”根据“本许可协议”授予“您”永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,供“您”以复制、修改、“传播”等方式利用“本作品”。
2. 无其他许可
除“本许可协议”明确规定外,“本许可协议”不提供包括商标、专利在内的任何其他许可。
3. “传播”条件
“您”可以任何方式“传播”“本作品”或“您的”“演绎作品”,但应当满足以下条件:
1“您”必须随附“本作品”或“您的”“演绎作品”提供“本许可协议”的完整文本或网址
2“您”必须保留“本作品”或“您”所使用部分的来源网址、“贡献者”署名和/或版权声明(“贡献者”要求移除的情形除外)、修改声明、专利声明、商标声明及免责声明;
3若“您”基于“本作品”创作“演绎作品”并“传播”的“您”必须以合理方式声明“本作品”已被修改“您”还必须将“您的”“演绎作品”许可在“本许可协议”或“兼容的许可协议”下并提供所适用的许可协议文本或网址
4“您”不得对“本作品”或“演绎作品”施加任何的约束或采用任何“有效技术措施”以限制接收“本作品”或“演绎作品”的其他人在对应作品所适用的“本许可协议”或“兼容的许可协议”下所享有的权利若“您”接收的“本作品”被施加前述约束或“有效技术措施”“您”有权进行移除或规避。
“您”可以以合理方式标注“您”所使用的“本作品”或其部分的标题、版本等信息若“您”使用的“本作品”或其部分或“您的”“演绎作品”是通过信息网络“传播”本条第1-3项中所述文本或网址可以使用超链接。
4. 违约与终止
4.1 若“您”违反“本许可协议”,任何“贡献者”有权书面通知“您”终止其根据“本许可协议”授予“您”的许可。该“贡献者”根据“本许可协议”授予“您”的许可自“您”接到其终止通知之日起终止。仅在如下三种情形下,即使“您”收到“贡献者”的通知也并不终止其授予“您”的许可:
1“您”在接到该终止通知之前已停止所有违反行为
2“您”是首次收到该“贡献者”根据“本许可协议”发出的书面终止通知并且“您”在收到该通知后30天内已停止所有违反行为
3“贡献者”明示恢复授予“您”的许可。
4.2 即使“您”在“本许可协议”下被授予的许可终止,只要从“您”处直接或间接接收“本作品”的其他人遵守“本许可协议”的规定,他们根据“本许可协议”享有的权利不受影响。
4.3 “本许可协议”第0、4、5、6条不因“本许可协议”终止而失效。
5. 免责声明与责任限制
“本作品”在提供时不带有任何明示或默示的担保。在任何情况下,“贡献者”不对任何人因使用“本作品”而引发的任何直接或间接损失承担任何责任,不论该等损失因何种原因导致或者基于何种法律理论,即使其曾被告知有该等损失的可能性。
6. 语言
“本许可协议”以中英文双语表述,中英文版本具有同等法律效力。若中英文版本存在任何不一致,以中文版为准。
条款结束
Mulan Open Works License Attribution-ShareAlike, Version 1
Mulan Open Works License Attribution-ShareAlike, Version 1
December 2022 http://license.coscl.org.cn/MulanOWLBYSAv1
Your reproduction, use, modification and Dissemination of This Work shall be subject to Mulan Open Works License Attribution-ShareAlike, Version 1 (This License) with following terms and conditions:
0. Definition
This Work means intellectual achievement protected by copyright law that is licensed under This License, including but not limited to a written work, a musical work, a fine art work, an architecture work, a photographic work, an audiovisual work, a graphic work, and a model work.
Adapted Work means a work that is created based on This Work, including but not limited to modification, translation, annotation, or arrangement of This Work in whole or in part.
Contributor means the licensor(s) of the rights related to This Work under This License, including the copyright holder(s) and its authorized individual(s) or Organization(s).
You means the licensee of the rights related to This Work under This License, who is an individual or Organization exercising the rights granted under This License. Your has a corresponding meaning.
Organization means any legal entity(ies), unincorporated organization(s), and their affiliate(s). Aforesaid “affiliate” means any entity that controls, is controlled by, or is under common control with any party under This License. Aforesaid “control” means direct or indirect ownership of at least fifty percent (50%) of the voting power, capital or other securities of controlled or commonly controlled entity.
Disseminate (or Dissemination) means the act of making works available to others through any medium, including but not limited to distribution, lease, exhibition, performance, projection, providing works through information networks or by any other means providing works.
Compatible License means any license that is listed on http://license.coscl.org.cn/faq and officially approved by Mulan Community as compatible with This License.
Effective Technical Measures means those technical measures taken by copyright holders to prevent unauthorized use of work, from which circumvention by users are prohibited under laws of applicable jurisdiction.
1. Grant of Copyright License
Subject to Your compliance with the terms and conditions of This License, each Contributor hereby grants You, according to This License, a perpetual, worldwide, royalty-free, non-exclusive, irrevocable copyright license to copy, modify, Disseminate, and in other manner use This Work.
2. No Other License
Except for those as expressly stated in This License, This License does not provide any other licenses, including trademark license or patent license.
3. Dissemination Conditions
You may Disseminate This Work or Your Adapted Work in any manner, provided that the following conditions are met:
(1) You must provide the text or URI of This License with This Work or Your Adapted Work;
(2) You must retain any URI, Contributors attribution and/or copyright statements (unless the Contributor requires removal), modification statements, patent statements, trademark statements, and disclaimer statements of This Work or parts thereof that You use;
(3) If You create an Adapted Work based on This Work and Disseminate it, You must indicate in a reasonable manner that You modified This Work; You must license Your Adapted Work under This License or any Compatible License and provide text or URI of the applied license;
(4) You must not exert any restrictions on or apply any Effective Technical Measures to This Work or the Adapted Work to restrict any others who receive This Work or Adapted Work from exercising the rights granted under This License or any Compatible License; if This Work You received had been exerted foregoing restrictions or applied Effective Technical Measures, You are entitled to remove or circumvent them.
You may indicate in a reasonable manner the information such as the title or version of This Work or parts thereof that You use; if This Work or parts thereof that You use or Your Adapted Work is Disseminated through information networks, You may use hyperlinks for provision of the foregoing texts or URIs in (1)-(3) of Section 4.
4. Breach and Termination
4.1 If You breached This License, any Contributor has the right to notify You in writing to terminate its license granted to You under This License. The license granted to You by such Contributor terminates upon Your receipt of such notice of termination. Notwithstanding the foregoing, Your license will not be terminated even if You received a notice of termination from Contributor, under three circumstances as set forth below:
(1) You have cured all the breaches prior to receipt of such notice of termination; or,
(2) its Your first time to receive a notice of termination from such Contributor pursuant to This License, and You have cured all the breaches within 30 days of receipt of such notice; or,
(3) Contributor has expressly reinstated the license granted to You.
4.2 Termination of Your license under This License shall not affect any rights under This License granted to any others who directly or indirectly receive This Work from You, provided that they comply with the terms and conditions of This License.
4.3 Sections 0, 4, 5, and 6 survive termination of This License.
5. Disclaimer of Warranty and Limitation of Liability
THIS WORK IS PROVIDED WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO ANY DIRECT OR INDIRECT DAMAGES ARISING FROM YOUR USE OR INABILITY TO USE THIS WORK, NO MATTER HOW IT IS CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
6. Language
THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN CASE OF DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION SHALL PREVAIL.
END OF THE TERMS AND CONDITIONS

61
options/license/NICTA-1.0 Normal file
View File

@ -0,0 +1,61 @@
NICTA Public Software Licence
Version 1.0
Copyright © 2004 National ICT Australia Ltd
All rights reserved.
By this licence, National ICT Australia Ltd (NICTA) grants permission,
free of charge, to any person who obtains a copy of this software
and any associated documentation files ("the Software") to use and
deal with the Software in source code and binary forms without
restriction, with or without modification, and to permit persons
to whom the Software is furnished to do so, provided that the
following conditions are met:
- Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimers.
- Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimers in
the documentation and/or other materials provided with the
distribution.
- The name of NICTA may not be used to endorse or promote products
derived from this Software without specific prior written permission.
EXCEPT AS EXPRESSLY STATED IN THIS LICENCE AND TO THE FULL EXTENT
PERMITTED BY APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS-IS" AND
NICTA MAKES NO REPRESENTATIONS, WARRANTIES OR CONDITIONS OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY
REPRESENTATIONS, WARRANTIES OR CONDITIONS REGARDING THE CONTENTS
OR ACCURACY OF THE SOFTWARE, OR OF TITLE, MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, THE ABSENCE OF LATENT
OR OTHER DEFECTS, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR
NOT DISCOVERABLE.
TO THE FULL EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL
NICTA BE LIABLE ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) FOR ANY LOSS OR DAMAGE WHATSOEVER, INCLUDING (WITHOUT
LIMITATION) LOSS OF PRODUCTION OR OPERATION TIME, LOSS, DAMAGE OR
CORRUPTION OF DATA OR RECORDS; OR LOSS OF ANTICIPATED SAVINGS,
OPPORTUNITY, REVENUE, PROFIT OR GOODWILL, OR OTHER ECONOMIC LOSS;
OR ANY SPECIAL, INCIDENTAL, INDIRECT, CONSEQUENTIAL, PUNITIVE OR
EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THIS LICENCE,
THE SOFTWARE OR THE USE OF THE SOFTWARE, EVEN IF NICTA HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
If applicable legislation implies warranties or conditions, or
imposes obligations or liability on NICTA in respect of the Software
that cannot be wholly or partly excluded, restricted or modified,
NICTA's liability is limited, to the full extent permitted by the
applicable legislation, at its option, to:
a. in the case of goods, any one or more of the following:
i. the replacement of the goods or the supply of equivalent goods;
ii. the repair of the goods;
iii. the payment of the cost of replacing the goods or of acquiring
equivalent goods;
iv. the payment of the cost of having the goods repaired; or
b. in the case of services:
i. the supplying of the services again; or
ii. the payment of the cost of having the services supplied
again.

View File

@ -0,0 +1,193 @@
PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
--------------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using this software ("Python") in source or binary form and
its associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF hereby
grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python alone or in any derivative version,
provided, however, that PSF's License Agreement and PSF's notice of copyright,
i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Python Software Foundation;
All Rights Reserved" are retained in Python alone or in any derivative version
prepared by Licensee.
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python.
4. PSF is making Python available to Licensee on an "AS IS"
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between PSF and
Licensee. This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.
8. By copying, installing or otherwise using Python, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.
BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0
-------------------------------------------
BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1
1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an
office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the
Individual or Organization ("Licensee") accessing and otherwise using
this software in source or binary form and its associated
documentation ("the Software").
2. Subject to the terms and conditions of this BeOpen Python License
Agreement, BeOpen hereby grants Licensee a non-exclusive,
royalty-free, world-wide license to reproduce, analyze, test, perform
and/or display publicly, prepare derivative works, distribute, and
otherwise use the Software alone or in any derivative version,
provided, however, that the BeOpen Python License is retained in the
Software, alone or in any derivative version prepared by Licensee.
3. BeOpen is making the Software available to Licensee on an "AS IS"
basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE
SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS
AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY
DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
5. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
6. This License Agreement shall be governed by and interpreted in all
respects by the law of the State of California, excluding conflict of
law provisions. Nothing in this License Agreement shall be deemed to
create any relationship of agency, partnership, or joint venture
between BeOpen and Licensee. This License Agreement does not grant
permission to use BeOpen trademarks or trade names in a trademark
sense to endorse or promote products or services of Licensee, or any
third party. As an exception, the "BeOpen Python" logos available at
http://www.pythonlabs.com/logos.html may be used according to the
permissions granted on that web page.
7. By copying, installing or otherwise using the software, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.
CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1
---------------------------------------
1. This LICENSE AGREEMENT is between the Corporation for National
Research Initiatives, having an office at 1895 Preston White Drive,
Reston, VA 20191 ("CNRI"), and the Individual or Organization
("Licensee") accessing and otherwise using Python 1.6.1 software in
source or binary form and its associated documentation.
2. Subject to the terms and conditions of this License Agreement, CNRI
hereby grants Licensee a nonexclusive, royalty-free, world-wide
license to reproduce, analyze, test, perform and/or display publicly,
prepare derivative works, distribute, and otherwise use Python 1.6.1
alone or in any derivative version, provided, however, that CNRI's
License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)
1995-2001 Corporation for National Research Initiatives; All Rights
Reserved" are retained in Python 1.6.1 alone or in any derivative
version prepared by Licensee. Alternately, in lieu of CNRI's License
Agreement, Licensee may substitute the following text (omitting the
quotes): "Python 1.6.1 is made available subject to the terms and
conditions in CNRI's License Agreement. This Agreement together with
Python 1.6.1 may be located on the internet using the following
unique, persistent identifier (known as a handle): 1895.22/1013. This
Agreement may also be obtained from a proxy server on the internet
using the following URL: http://hdl.handle.net/1895.22/1013".
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python 1.6.1 or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python 1.6.1.
4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"
basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. This License Agreement shall be governed by the federal
intellectual property law of the United States, including without
limitation the federal copyright law, and, to the extent such
U.S. federal law does not apply, by the law of the Commonwealth of
Virginia, excluding Virginia's conflict of law provisions.
Notwithstanding the foregoing, with regard to derivative works based
on Python 1.6.1 that incorporate non-separable material that was
previously distributed under the GNU General Public License (GPL), the
law of the Commonwealth of Virginia shall govern this License
Agreement only as to issues arising under or with respect to
Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this
License Agreement shall be deemed to create any relationship of
agency, partnership, or joint venture between CNRI and Licensee. This
License Agreement does not grant permission to use CNRI trademarks or
trade name in a trademark sense to endorse or promote products or
services of Licensee, or any third party.
8. By clicking on the "ACCEPT" button where indicated, or by copying,
installing or otherwise using Python 1.6.1, Licensee agrees to be
bound by the terms and conditions of this License Agreement.
ACCEPT
CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2
--------------------------------------------------
Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,
The Netherlands. All rights reserved.
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.
STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@ -7,5 +7,3 @@ Permission is granted to anyone to use this software for any purpose on any comp
2. The origin of this software must not be misrepresented, either by explicit claim or by omission.
3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software.
Beware that some of this code is subtly aware of the way operator precedence is structured in regular expressions. Serious changes in regular-expression syntax might require a total rethink.

View File

@ -1,21 +0,0 @@
Copyright (c) 0000, Obelix the Gaul <obelix@galia.org>.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of
a permission notice identical to this one.
Since the Linux kernel and libraries are constantly changing, this
manual page may be incorrect or out-of-date. The author(s) assume
no responsibility for errors or omissions, or for damages resulting
from the use of the information contained herein. The author(s) may
not have taken the same level of care in the production of this
manual, which is licensed free of charge, as they might when working
professionally.
Formatted or processed versions of this manual, if unaccompanied by
the source, must acknowledge the copyright and authors of this work.

9
options/license/checkmk Normal file
View File

@ -0,0 +1,9 @@
# Copyright (c) 2006, 2010 Micah Cowan
#
# Redistribution of this program in any form, with or without
# modifications, is permitted, provided that the above copyright is
# retained in distributions of this program in source form.
#
# (This is a free, non-copyleft license compatible with pretty much any
# other free or proprietary license, including the GPL. It's essentially
# a scaled-down version of the "modified" BSD license.)

View File

@ -1 +1 @@
As a special exception, if you link this library with other files to produce an executable, this library does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License."
As a special exception, if you link this library with other files to produce an executable, this library does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License.

View File

@ -0,0 +1,15 @@
* Copyright (C) 2000-2004 by Etnus, LLC
*
* Permission is hereby granted to use, reproduce, prepare derivative
* works, and to redistribute to others.
*
* DISCLAIMER
*
* Neither Etnus, nor any of their employees, makes any warranty
* express or implied, or assumes any legal liability or
* responsibility for the accuracy, completeness, or usefulness of any
* information, apparatus, product, or process disclosed, or
* represents that its use would not infringe privately owned rights.
*
* This code was written by
* James Cownie: Etnus, LLC. <jcownie@etnus.com>

View File

@ -3,11 +3,17 @@ COPYRIGHT
The following is a notice of limited availability of the code, and disclaimer which must be included in the prologue of the code and in all source listings of the code.
Copyright Notice
+ 2002 University of Chicago
1998--2020, Argonne National Laboratory
Permission is hereby granted to use, reproduce, prepare derivative works, and to redistribute to others. This software was authored by:
Argonne National Laboratory Group W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: gropp@mcs.anl.gov E. Lusk: (630) 252-7852; FAX: (630) 252-5986; e-mail: lusk@mcs.anl.gov Mathematics and Computer Science Division Argonne National Laboratory, Argonne IL 60439
Mathematics and Computer Science Division
Argonne National Laboratory, Argonne IL 60439
(and)
Department of Computer Science
University of Illinois at Urbana-Champaign
GOVERNMENT LICENSE

View File

@ -72,7 +72,7 @@ Thomas Fanninger <gogs DOT thomas AT fanninger DOT at>
Tilmann Bach <tilmann AT outlook DOT com>
Toni Villena Jiménez <tonivj5 AT gmail DOT com>
Viktor Sperl <viktike32 AT gmail DOT com>
Vladimir Jigulin mogaika AT yandex DOT ru
Vladimir Jigulin <mogaika AT yandex DOT ru>
Vladimir Vissoultchev <wqweto AT gmail DOT com>
Yaşar Çiv <yasarciv67 AT gmail DOT com>
YJSoft <yjsoft AT yjsoft DOT pe DOT kr>

View File

@ -8,7 +8,6 @@ sign_out=Изход
sign_up=Регистриране
link_account=Свържи профил
register=Регистрация
website=Уебсайт
version=Версия
powered_by=С подкрепата на %s
page=Страница
@ -73,6 +72,8 @@ error404=Страницата, която се опитвате да достъ
[filter]
[error]
[startpage]
@ -129,7 +130,6 @@ log_root_path_helper=Директория, в която да се съхран
optional_title=Опционални настройки
email_title=Имейл настройки
smtp_host=SMTP сървър
smtp_from=Изпрати имейл като
smtp_from_helper=E-mail адрес, който да се използва от Gitea. Въведете само E-mail адреса или име и E-mail във формат "Name <email@example.com>".
mailer_user=SMTP потребител
@ -201,6 +201,7 @@ org_no_results=Не бяха намерени съответстващи орг
code_search_results=Резултати от търсене за '%s'
code_last_indexed_at=Последно индексиран %s
[auth]
create_new_account=Регистриране на акаунт
register_helper_msg=Вече имате профил? Впишете се сега!
@ -262,6 +263,7 @@ register_success=Успешна регистрация
[modal]
yes=Да
no=Не
@ -772,6 +774,7 @@ pulls.status_checks_success=Всички проверявания бяха ус
milestones.new=Нов етап
milestones.closed=Затворен %s
milestones.no_due_date=Няма краен срок
@ -1150,9 +1153,7 @@ config.queue_length=Дължина на опашка
config.deliver_timeout=Време за отказ при изпращане
config.mailer_enabled=Активен
config.mailer_disable_helo=Изключи HELO
config.mailer_name=Име
config.mailer_host=Сървър
config.mailer_user=Потребител
config.oauth_config=OAuth конфигурация
@ -1192,6 +1193,7 @@ config.log_config=Конфигурация на журнал
config.log_mode=Режим на журнал
config.disabled_logger=Изключено
monitor.cron=Cron задачи
monitor.name=Име
monitor.schedule=График

View File

@ -2,13 +2,13 @@ home=Domů
dashboard=Přehled
explore=Procházet
help=Nápověda
logo=Logo
sign_in=Přihlásit se
sign_in_with=Přihlásit se pomocí
sign_out=Odhlásit se
sign_up=Registrovat se
link_account=Propojit účet
register=Registrovat se
website=Webové stránky
version=Verze
powered_by=Běží na %s
page=Strana
@ -46,7 +46,6 @@ webauthn_error_unable_to_process=Server nemohl zpracovat váš požadavek.
webauthn_error_duplicated=Zabezpečovací klíč není pro tento požadavek povolen. Prosím ujistěte se, zda klíč není již registrován.
webauthn_error_empty=Musíte nastavit název tohoto klíče.
webauthn_error_timeout=Požadavek vypršel dříve, než se podařilo přečíst váš klíč. Znovu načtěte tuto stránku a akci opakujte.
webauthn_u2f_deprecated=Klíč: „%s“ autentifikuje pomocí zastaralého procesu U2F. Měli byste znovu zaregistrovat tento klíč a zrušit starou registraci.
webauthn_reload=Znovu načíst
repository=Repozitář
@ -107,6 +106,8 @@ never=Nikdy
rss_feed=RSS kanál
[filter]
[error]
occurred=Došlo k chybě
report_message=Pokud jste si jisti, že se jedná o chybu Gitea, prosím vyhledejte problém na <a href="https://github.com/go-gitea/gitea/issues">GitHub</a> a v případě potřeby otevřete nový problém.
@ -147,6 +148,8 @@ sqlite_helper=Cesta k souboru SQLite3 databáze.<br>Pokud spouštíte Gitea jako
reinstall_error=Pokoušíte se nainstalovat do existující databáze Gitea
reinstall_confirm_message=Přeinstalování s existující databází Gitea může způsobit více problémů. Ve většině případů byste měli použít existující „app.ini“ pro spuštění Gitea. Pokud víte, co děláte, potvrďte následující:
reinstall_confirm_check_1=Data šifrovaná pomocí SECRET_KEY v souboru api.ini mohou být ztracena: uživatelé nemusí být schopni se přihlásit s 2FA/OTP a zrcadla nemusí fungovat správně. Zaškrtnutím tohoto políčka potvrdíte, že aktuální soubor app.ini obsahuje správný SECRET_KEY.
reinstall_confirm_check_2=Může být nutné znovu synchronizovat repozitáře a nastavení. Zaškrtnutím tohoto políčka potvrzujete, že budete háčky pro repozitáře a soubor authorized_keys znovu synchronizovat ručně. Potvrzujete, že zajistíte správnost nastavení repozitáře a zrcadla.
reinstall_confirm_check_3=Potvrzujete, že jste si naprosto jisti, že tato Gitea je spuštěna se správným umístěním souboru app.ini a že jste si jisti, že musíte provést novou instalaci. Potvrzujete, že berete na vědomí výše uvedená rizika.
err_empty_db_path=Cesta k SQLite3 databázi nemůže být prázdná.
no_admin_and_disable_registration=Nemůžete vypnout registraci účtů bez vytvoření účtu správce.
err_empty_admin_password=Heslo administrátora nemůže být prázdné.
@ -177,7 +180,8 @@ log_root_path_helper=Soubory protokolu budou zapsány do tohoto adresáře.
optional_title=Dodatečná nastavení
email_title=Nastavení e-mailu
smtp_host=Server SMTP
smtp_addr=Server SMTP
smtp_port=Port SMTP
smtp_from=Odeslat e-mail jako
smtp_from_helper=E-mailová adresa, kterou bude Gitea používat. Zadejte běžnou e-mailovou adresu, nebo použijte formát "Jméno"<email@example.com>.
mailer_user=Uživatelské jméno SMTP
@ -212,8 +216,11 @@ install_btn_confirm=Nainstalovat Gitea
test_git_failed=Chyba při testu příkazu 'git': %v
sqlite3_not_available=Tato verze Gitea nepodporuje SQLite3. Stáhněte si oficiální binární verzi od %s (nikoli verzi „gobuild“).
invalid_db_setting=Nastavení databáze je neplatné: %v
invalid_db_table=Databázová tabulka „%s“ je neplatná: %v
invalid_repo_path=Kořenový adresář repozitářů není správný: %v
invalid_app_data_path=Cesta k datům aplikace je neplatná: %v
run_user_not_match="Run as" uživatelské jméno není aktuální uživatelské jméno: %s -> %s
internal_token_failed=Nepodařilo se vytvořit interní token: %v
secret_key_failed=Nepodařilo se vytvořit tajný klíč: %v
save_config_failed=Uložení konfigurace se nezdařilo: %v
invalid_admin_setting=Nastavení účtu správce není správné: %v
@ -243,6 +250,7 @@ view_home=Zobrazit %s
search_repos=Nalézt repozitář…
filter=Ostatní filtry
filter_by_team_repositories=Filtrovat podle repozitářů týmu
feed_of=Kanál z „%s“
show_archived=Archivováno
show_both_archived_unarchived=Zobrazeny jak archivované tak nearchivované
@ -262,8 +270,11 @@ users=Uživatelé
organizations=Organizace
search=Vyhledat
code=Zdrojový kód
search.type.tooltip=Druh vyhledávání
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
search.match=Shoda
search.match.tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
code_search_unavailable=V současné době není vyhledávání kódu dostupné. Obraťte se na správce webu.
repo_no_results=Nebyly nalezeny žádné odpovídající repozitáře.
user_no_results=Nebyly nalezeni žádní odpovídající uživatelé.
@ -271,6 +282,9 @@ org_no_results=Nebyly nalezeny žádné odpovídající organizace.
code_no_results=Nebyl nalezen žádný zdrojový kód odpovídající hledanému výrazu.
code_search_results=Výsledky hledání pro „%s“
code_last_indexed_at=Naposledy indexováno %s
relevant_repositories_tooltip=Repozitáře, které jsou rozštěpení nebo nemají žádné téma, ikonu a žádný popis jsou skryty.
relevant_repositories=Zobrazují se pouze relevantní repositáře, <a href="%s">zobrazit nefiltrované výsledky</a>.
[auth]
create_new_account=Registrovat účet
@ -317,7 +331,9 @@ oauth_signup_submit=Dokončit účet
oauth_signin_tab=Propojit s existujícím účtem
oauth_signin_title=Přihlaste se pro ověření propojeného účtu
oauth_signin_submit=Propojit účet
oauth.signin.error=Došlo k chybě při zpracování žádosti o autorizaci. Pokud tato chyba přetrvává, obraťte se na správce webu.
oauth.signin.error.access_denied=Žádost o autorizaci byla zamítnuta.
oauth.signin.error.temporarily_unavailable=Autorizace se nezdařila, protože ověřovací server je dočasně nedostupný. Opakujte akci později.
openid_connect_submit=Připojit
openid_connect_title=Připojení k existujícímu účtu
openid_connect_desc=Zvolené OpenID URI není známé. Přidružte nový účet zde.
@ -368,7 +384,7 @@ issue_assigned.pull=@%[1]s vás přiřadil/a k požadavku na natažení %[2]v re
issue_assigned.issue=@%[1]s vás přiřadil/a k úkolu %[2]v repozitáři %[3]s.
issue.x_mentioned_you=<b>@%s</b> vás zmínil/a:
issue.action.force_push=<b>%[1]s</b> vynutil/a nahrání <b>%[2]s</b> z %[3]do %[4].
issue.action.force_push=<b>%[1]s</b> vynutil/a nahrání <b>%[2]s</b> z %[3]s do %[4]s.
issue.action.push_1=<b>@%[1]s</b> nahrál/a %[3]d commit do %[2]s
issue.action.push_n=<b>@%[1]s</b> nahrál/a %[3]d commity do %[2]s
issue.action.close=<b>@%[1]s</b> uzavřel/a #%[2]d.
@ -398,6 +414,7 @@ repo.transfer.body=Chcete-li ji přijmout nebo odmítnout, navštivte %s nebo ji
repo.collaborator.added.subject=%s vás přidal do %s
repo.collaborator.added.text=Byl jste přidán jako spolupracovník repozitáře:
[modal]
yes=Ano
no=Ne
@ -434,6 +451,7 @@ size_error=` musí být minimálně velikosti %s.`
min_size_error=` musí obsahovat nejméně %s znaků.`
max_size_error=` musí obsahovat maximálně %s znaků.`
email_error=` není správná e-mailová adresa.`
url_error=`„%s“ není platná adresa URL.`
include_error=` musí obsahovat řetězec „%s“.`
glob_pattern_error=`zástupný vzor je neplatný: %s.`
regex_pattern_error=` regex vzor je neplatný: %s.`
@ -445,6 +463,7 @@ lang_select_error=Vyberte jazyk ze seznamu.
username_been_taken=Uživatelské jméno je již obsazeno.
username_change_not_local_user=Uživatelé, kteří jsou ověřováni jinak než lokálně, si nemohou změnit uživatelské jméno.
repo_name_been_taken=Název repozitáře je již použit.
repository_force_private=Vynucené soukromí je povoleno: soukromé repozitáře nelze zveřejnit.
repository_files_already_exist=Soubory pro tento repozitář již existují. Obraťte se na správce systému.
repository_files_already_exist.adopt=Soubory pro tento repozitář již existují a mohou být pouze přijaty.
repository_files_already_exist.delete=Soubory pro tento repozitář již existují. Musíte je odstranit.
@ -480,7 +499,9 @@ auth_failed=Ověření selhalo: %v
still_own_repo=Váš účet vlastní jeden nebo více repozitářů; smažte je nebo převeďte.
still_has_org=Váš účet je člen jedné nebo více organizací; nejdříve je opusťte.
still_own_packages=Váš účet vlastní jeden nebo více balíčků. Nejprve je musíte odstranit.
org_still_own_repo=Organizace stále vlastní jeden nebo více repozitářů; smažte je nebo převeďte.
org_still_own_packages=Organizace stále vlastní jeden nebo více balíčků; nejprve je smažte.
target_branch_not_exist=Cílová větev neexistuje.
@ -492,6 +513,7 @@ activity=Veřejná aktivita
followers=Sledující
starred=Oblíbené repozitáře
watched=Sledované repozitáře
code=Kód
projects=Projekty
following=Sledovaní
follow=Sledovat
@ -543,6 +565,7 @@ continue=Pokračovat
cancel=Zrušit
language=Jazyk
ui=Motiv vzhledu
hidden_comment_types=Skryté typy komentářů
comment_type_group_reference=Reference
comment_type_group_label=Štítek
comment_type_group_milestone=Milník
@ -553,9 +576,11 @@ comment_type_group_time_tracking=Sledování času
comment_type_group_deadline=Uzávěrka
comment_type_group_dependency=Závislost
comment_type_group_lock=Stav zámku
comment_type_group_review_request=Žádost o posouzení
comment_type_group_pull_request_push=Přidané commity
comment_type_group_project=Projekt
comment_type_group_issue_ref=Referenční číslo úkolu
saved_successfully=Vaše nastavení bylo úspěšně uloženo.
privacy=Soukromí
keep_activity_private=Skrýt aktivitu z profilové stránky
keep_activity_private_popup=Učinit aktivitu viditelnou pouze pro vás a administrátory
@ -641,10 +666,18 @@ gpg_token_required=Musíte zadat podpis pro níže uvedený token
gpg_token=Token
gpg_token_help=Podpis můžete vygenerovat pomocí:
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Zakódovaný podpis GPG
key_signature_gpg_placeholder=Začíná s „-----BEGIN PGP SIGNATURE-----“
verify_gpg_key_success=GPG klíč „%s“ byl ověřen.
ssh_key_verified=Ověřený klíč
ssh_key_verified_long=Klíč byl ověřen pomocí tokenu a může být použit k ověření commitů shodujících se s libovolnou vaší aktivovanou e-mailovou adresou pro tohoto uživatele.
ssh_key_verify=Ověřit
ssh_invalid_token_signature=Zadaný SSH klíč, podpis nebo token se neshodují nebo je token zastaralý.
ssh_token_required=Musíte zadat podpis pro níže uvedený token
ssh_token=Token
ssh_token_help=Podpis můžete vygenerovat pomocí:
ssh_token_signature=Zakódovaný podpis SSH
key_signature_ssh_placeholder=Začíná s „-----BEGIN SSH SIGNATURE-----“
verify_ssh_key_success=SSH klíč „%s“ byl ověřen.
subkeys=Podklíče
key_id=ID klíče
@ -672,7 +705,7 @@ no_activity=Žádná aktuální aktivita
can_read_info=Čtení
can_write_info=Zápis
key_state_desc=Tento klíč byl použit během posledních 7 dní
token_state_desc=Tato poukázka byla použita během posledních 7 dní
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í
show_openid=Zobrazit na profilu
hide_openid=Odstranit z profilu
@ -683,23 +716,26 @@ social_desc=Tyto účty sociálních síti jsou propojeny s vaším Gitea účte
unbind=Odpojit
unbind_success=Účet sociální sítě byl odpojen od vašeho Gitea účtu.
manage_access_token=Spravovat přístupové poukázky
generate_new_token=Vygenerovat novou poukázku
tokens_desc=Tyto poukázky umožňují přístup k vašemu účtu pomocí Gitea API.
new_token_desc=Aplikace používající poukázku mají plný přístup k vašemu účtu.
token_name=Název poukázky
generate_token=Vygenerovat poukázku
generate_token_success=Váše nová poukázka byla vytvořena. Zkopírujte ji nyní protože se již znovu nezobrazí.
manage_access_token=Spravovat přístupové tokeny
generate_new_token=Vygenerovat nový token
tokens_desc=Tyto tokeny umožňují přístup k vašemu účtu pomocí Gitea API.
new_token_desc=Aplikace používající token mají plný přístup k vašemu účtu.
token_name=Název tokenu
generate_token=Vygenerovat token
generate_token_success=Váš nový token byl vytvořen. Zkopírujte jej nyní protože se již znovu nezobrazí.
generate_token_name_duplicate=<strong>%s</strong> byl již použit jako název aplikace. Použijte prosím nový.
delete_token=Smazat
access_token_deletion=Odstranit přístupovou poukázku
delete_token_success=Poukázka byla odstraněna. Aplikace, které ji používají již nemají přístup k vašemu účtu.
access_token_deletion=Odstranit přístupový token
access_token_deletion_cancel_action=Zrušit
access_token_deletion_confirm_action=Smazat
access_token_deletion_desc=Smazání tokenu zruší přístup k vašemu účtu pro aplikace, které jej používají. Tuto akci nelze vrátit. Pokračovat?
delete_token_success=Token byl odstraněn. Aplikace, které jej používají již nemají přístup k vašemu účtu.
manage_oauth2_applications=Spravovat OAuth2 aplikace
edit_oauth2_application=Upravit OAuth2 aplikaci
oauth2_applications_desc=OAuth2 aplikace umožní aplikacím třetích stran bezpečně ověřit uživatele v této instanci Gitea.
remove_oauth2_application=Odstranit OAuth2 aplikaci
remove_oauth2_application_desc=Odstraněním OAuth2 aplikace odeberete přístup všem podepsaným přístupovým poukázkám. Pokračovat?
remove_oauth2_application_desc=Odstraněním OAuth2 aplikace odeberete přístup všem podepsaným přístupovým tokenům. Pokračovat?
remove_oauth2_application_success=Aplikace byla odstraněna.
create_oauth2_application=Vytvořit novou OAuth2 aplikaci
create_oauth2_application_button=Vytvořit aplikaci
@ -731,12 +767,12 @@ twofa_desc=Dvoufaktorový způsob ověřování zvýší zabezpečení vašeho
twofa_is_enrolled=Váš účet aktuálně <strong>používá</strong> dvoufaktorové ověřování.
twofa_not_enrolled=Váš účet aktuálně nepoužívá dvoufaktorové ověřování.
twofa_disable=Zakázat dvoufaktorové ověřování
twofa_scratch_token_regenerate=Obnovit pomocnou poukázku
twofa_scratch_token_regenerated=Vaše pomocná poukázka je nyní %s. Uložte ji na bezpečném místě.
twofa_scratch_token_regenerate=Obnovit pomocný token
twofa_scratch_token_regenerated=Váš pomocný token je nyní %s. Uložte jej na bezpečném místě.
twofa_enroll=Povolit dvoufaktorové ověřování
twofa_disable_note=Dvoufaktorové ověřování můžete zakázat, když bude potřeba.
twofa_disable_desc=Zakážete-li dvoufaktorové ověřování, bude váš účet méně zabezpečený. Pokračovat?
regenerate_scratch_token_desc=Jestli jste někam založili vaši pomocnou poukázku nebo jste ji již použili k přihlášení, můžete ji resetovat zde.
regenerate_scratch_token_desc=Jestli jste někam založili váš pomocný token nebo jste jej již použili k přihlášení, můžete jej resetovat zde.
twofa_disabled=Dvoufaktorové ověřování bylo zakázáno.
scan_this_image=Naskenujte tento obrázek s vaší ověřovací aplikací:
or_enter_secret=Nebo zadejte tajný kód: %s
@ -745,13 +781,16 @@ passcode_invalid=Přístupový kód není platný. Zkuste to znovu.
twofa_enrolled=Ve vašem účtu bylo povoleno dvoufaktorové ověřování. Uložte si pomocný token (%s) na bezpečném místě, protože bude zobrazen pouze jednou!
twofa_failed_get_secret=Nepodařilo se získat tajemství.
webauthn_desc=Bezpečnostní klíče jsou hardwarová zařízení obsahující kryptografické klíče. Mohou být použity pro dvoufaktorové ověřování. Bezpečnostní klíče musí podporovat <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a> standard.
webauthn_register_key=Přidat bezpečnostní klíč
webauthn_nickname=Přezdívka
webauthn_delete_key=Odstranit bezpečnostní klíč
webauthn_delete_key_desc=Pokud odstraníte bezpečnostní klíč, již se s ním nebudete moci přihlásit. Pokračovat?
manage_account_links=Správa propojených účtů
manage_account_links_desc=Tyto externí účty jsou propojeny s vaším Gitea účtem.
account_links_not_available=K vašemu Gitea účtu nejsou aktuálně připojené žádné externí účty.
link_account=Propojit účet
remove_account_link=Odstranit propojený účet
remove_account_link_desc=Odstraněním propojeného účtu zrušíte jeho přístup k vašemu Gitea účtu. Pokračovat?
remove_account_link_success=Propojený účet byl odstraněn.
@ -770,6 +809,7 @@ email_notifications.enable=Povolit e-mailová oznámení
email_notifications.onmention=E-mail pouze při zmínce
email_notifications.disable=Zakázat e-mailová oznámení
email_notifications.submit=Nastavit předvolby e-mailu
email_notifications.andyourown=A Vaše vlastní upozornění
visibility=Viditelnost uživatele
visibility.public=Veřejný
@ -798,6 +838,7 @@ visibility_fork_helper=(Změna tohoto ovlivní všechny rozštěpení repozitá
clone_helper=Potřebujete pomoci s klonováním? Navštivte <a target="_blank" rel="noopener noreferrer" href="%s">nápovědu</a>.
fork_repo=Rozštěpení repozitáře
fork_from=Rozštěpit z
already_forked=Již jsi rozštěpil %s
fork_to_different_account=Rozštěpit na jiný účet
fork_visibility_helper=Viditelnost rozštěpeného repozitáře nemůže být změněna.
use_template=Použít tuto šablonu
@ -831,7 +872,9 @@ default_branch=Výchozí větev
default_branch_helper=Výchozí větev je základní větev pro požadavky na natažení a commity kódu.
mirror_prune=Vyčistit
mirror_prune_desc=Odstranit zastaralé reference na vzdálené sledování
mirror_interval=Interval zrcadlení (platné časové jednotky jsou „h“, „m“ a „s“). 0 zakáže periodickou synchronizaci. (Minimální interval: %s)
mirror_interval_invalid=Interval zrcadlení není platný.
mirror_sync_on_commit=Synchronizovat při nahrávání revizí
mirror_address=Klonovat z URL
mirror_address_desc=Zadejte požadované přístupové údaje do sekce Ověření.
mirror_address_url_invalid=Poskytnutá URL je neplatná. Všechny komponenty musíte správně nahradit escape sekvencí.
@ -860,6 +903,7 @@ delete_preexisting_label=Smazat
delete_preexisting=Odstranit již existující soubory
delete_preexisting_content=Odstranit soubory v %s
delete_preexisting_success=Smazány nepřijaté soubory v %s
blame_prior=Zobrazit blame před touto změnou
transfer.accept=Přijmout převod
transfer.accept_desc=Převést do „%s“
@ -879,6 +923,7 @@ desc.archived=Archivováno
template.items=Položky šablony
template.git_content=Obsah gitu (výchozí větev)
template.git_hooks=Háčky Gitu
template.git_hooks_tooltip=Momentálně nemůžete po přidání upravovat nebo odebrat háčky gitu. Vyberte pouze v případě, že důvěřujete šabloně repozitáře.
template.webhooks=Webové háčky
template.topics=Témata
template.avatar=Avatar
@ -898,7 +943,7 @@ form.name_pattern_not_allowed=Vzor „%s“ není povolený v názvu repozitář
need_auth=Ověření
migrate_options=Možnosti migrace
migrate_service=Migrační služba
migrate_options_mirror_helper=Tento repozitář bude <span class="text blue">zrcadlem</span>
migrate_options_mirror_helper=Tento repozitář bude zrcadlem
migrate_options_lfs=Migrovat LFS soubory
migrate_options_lfs_endpoint.label=Koncový bod LFS
migrate_options_lfs_endpoint.description=Migrace se pokusí použít váš vzdálený Git pro <a target="_blank" rel="noopener noreferrer" href="%s">určení LFS serveru</a>. Můžete také zadat vlastní koncový bod, pokud jsou data LFS repozitáře uložena někde jinde.
@ -915,8 +960,10 @@ migrate_items_releases=Vydání
migrate_repo=Migrovat repozitář
migrate.clone_address=Migrovat / klonovat z URL
migrate.clone_address_desc=HTTP(S) nebo URL pro klonování existujícího repozitáře
migrate.github_token_desc=Můžete sem vložit jeden nebo více tokenů oddělených čárkou, abyste urychlili migraci kvůli omezení rychlosti rozhraní GitHub API. VAROVÁNÍ: Zneužití této funkce může vést k porušení zásad poskytovatele služeb a zablokování účtu.
migrate.clone_local_path=nebo místní cesta serveru
migrate.permission_denied=Není dovoleno importovat místní repozitáře.
migrate.permission_denied_blocked=Nelze importovat z nepovolených hostitelů, prosím požádejte správce, aby zkontroloval nastavení ALLOWED_DOMAINS/ALLOW_LOCALETWORKS/BLOCKED_DOMAINS.
migrate.invalid_local_path=Místní cesta je neplatná, buď neexistuje nebo není adresářem.
migrate.invalid_lfs_endpoint=Koncový bod LFS není platný.
migrate.failed=Přenesení selhalo: %v
@ -964,6 +1011,7 @@ clone_this_repo=Naklonovat tento repozitář
create_new_repo_command=Vytvořit nový repozitář na příkazové řádce
push_exist_repo=Nahrání existujícího repozitáře z příkazové řádky
empty_message=Tento repozitář nemá žádný obsah.
broken_message=Data gitu, která jsou základem tohoto repozitáře, nelze číst. Kontaktujte správce této instance nebo smažte tento repositář.
code=Zdrojový kód
code.desc=Přístup ke zdrojovým kódům, souborům, commitům a větvím.
@ -977,6 +1025,7 @@ tags=Značky
issues=Úkoly
pulls=Požadavky na natažení
project_board=Projekty
packages=Balíčky
labels=Štítky
org_labels_desc=Štítky na úrovni organizace, které mohou být použity se <strong>všemi repozitáři</strong> v rámci této organizace
org_labels_desc_manage=spravovat
@ -996,10 +1045,18 @@ file_view_rendered=Zobrazit vykreslené
file_view_raw=Zobrazit v surovém stavu
file_permalink=Trvalý odkaz
file_too_large=Soubor je příliš velký pro zobrazení.
bidi_bad_header=`Tento soubor obsahuje neočekávané obousměrné znaky Unicode!`
line_unicode=`Tento řádek má skryté unicode znaky`
invisible_runes_header=`Tento soubor obsahuje neviditelné znaky Unicode!`
invisible_runes_description=`Tento soubor obsahuje neviditelné znaky Unicode, které mohou být zpracovány jinak než níže uvedeným způsobem. Pokud je váš případ úmyslný a legitimní, můžete toto varování bezpečně ignorovat. Použijte tlačítko Escape sekvence k odhalení skrytých znaků.`
ambiguous_runes_header=`Tento soubor obsahuje nejednoznačné znaky Unicode!`
ambiguous_runes_description=`Tento soubor obsahuje nejednoznačné znaky Unicode, které mohou být zaměněny s ostatními v aktuálním prostředí. Pokud je váš případ úmyslný a legitimní, můžete toto varování bezpečně ignorovat. Použijte tlačítko Escape sekvence pro zvýraznění těchto znaků.`
invisible_runes_line=`Tento řádek má neviditelné znaky Unicode`
ambiguous_runes_line=`Tento řádek má nejednoznačné znaky Unicode`
ambiguous_character=`%[1]c [U+%04[1]X] je zaměnitelný s %[2]c [U+%04[2]X]`
escape_control_characters=Escape sekvence
unescape_control_characters=Bez escape sekvencí
file_copy_permalink=Kopírovat trvalý odkaz
view_git_blame=Zobrazit Git Blame
video_not_supported_in_browser=Váš prohlížeč nepodporuje značku pro HTML5 video.
audio_not_supported_in_browser=Váš prohlížeč nepodporuje značku pro HTML5 audio.
stored_lfs=Uloženo pomocí Git LFS
@ -1015,6 +1072,7 @@ normal_view=Normální zobrazení
line=řádek
lines=řádky
editor.add_file=Přidat soubor
editor.new_file=Nový soubor
editor.upload_file=Nahrát soubor
editor.edit_file=Upravit soubor
@ -1038,6 +1096,10 @@ editor.add_tmpl=Přidán „<nazev_souboru>“
editor.add=Přidat „%s“
editor.update=Aktualizovat „%s“
editor.delete=Smazat „%s“
editor.patch=Použít záplatu
editor.patching=Záplatování:
editor.fail_to_apply_patch=Nelze použít záplatu „%s“
editor.new_patch=Nová záplata
editor.commit_message_desc=Přidat volitelný rozšířený popis…
editor.signoff_desc=Přidat Signed-off-by podpis přispěvatele na konec zprávy o commitu.
editor.commit_directly_to_this_branch=Odevzdat přímo do větve <strong class="branch-name">%s</strong>.
@ -1062,6 +1124,8 @@ editor.commit_empty_file_text=Soubor, který se chystáte odevzdat, je prázdný
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_summary=Chybové hlášení:
editor.push_rejected_no_message=Změna byla serverem zamítnuta bez zprávy. Prosím, zkontrolujte háčky Gitu.
editor.push_rejected=Změna byla serverem zamítnuta. Prosím, zkontrolujte háčky Gitu.
editor.push_rejected_summary=Úplná zpráva o odmítnutí:
editor.add_subdir=Přidat adresář…
editor.unable_to_upload_files=Nepodařilo se nahrát soubor „%s“. Chyba: %v
@ -1071,6 +1135,8 @@ editor.cannot_commit_to_protected_branch=Nelze vytvořit commit v chráněné v
editor.no_commit_to_branch=Nelze odevzdat přímo do větve, protože:
editor.user_no_push_to_branch=Uživatel nemůže nahrávat do větve
editor.require_signed_commit=Větev vyžaduje podepsaný commit
editor.cherry_pick=Cherry-pick %s na:
editor.revert=Vrátit %s na:
commits.desc=Procházet historii změn zdrojového kódu.
commits.commits=Commity
@ -1097,7 +1163,9 @@ commit.revert-header=Vrátit: %s
commit.revert-content=Vyberte větev pro návrat na:
commit.cherry-pick=Cherry-pick
commit.cherry-pick-header=Cherry-pick: %s
commit.cherry-pick-content=Vyberte větev pro Cherry-pick na:
ext_issues=Přístup k externím úkolům
ext_issues.desc=Odkaz na externí systém úkolů.
projects=Projekty
@ -1170,6 +1238,8 @@ issues.new.add_reviewer_title=Požádat o posouzení
issues.choose.get_started=Začínáme
issues.choose.blank=Výchozí
issues.choose.blank_about=Vytvořit úkol z výchozí šablony.
issues.choose.ignore_invalid_templates=Neplatné šablony byly ignorovány
issues.choose.invalid_templates=%v nalezených neplatných šablon
issues.no_ref=Není určena žádná větev/značka
issues.create=Vytvořit úkol
issues.new_label=Nový štítek
@ -1199,6 +1269,7 @@ issues.add_assignee_at=`byl přiřazen <b>%s</b> %s`
issues.remove_assignee_at=`byl odstraněn z přiřazení <b>%s</b> %s`
issues.remove_self_assignment=`odstranil/a jejich přiřazení %s`
issues.change_title_at=`změnil/a název z <b><strike>%s</strike></b> na <b>%s</b> %s`
issues.change_ref_at=`změnil/a referenci z <b><strike>%s</strike></b> na <b>%s</b> %s`
issues.remove_ref_at=`odstranil/a referenci <b>%s</b> %s`
issues.add_ref_at=`přidal/a referenci <b>%s</b> %s`
issues.delete_branch_at=`odstranil/a větev <b>%s</b> %s`
@ -1209,6 +1280,8 @@ issues.filter_milestone=Milník
issues.filter_milestone_no_select=Všechny milníky
issues.filter_assignee=Zpracovatel
issues.filter_assginee_no_select=Všichni zpracovatelé
issues.filter_poster=Autor
issues.filter_poster_no_select=Všichni autoři
issues.filter_type=Typ
issues.filter_type.all_issues=Všechny úkoly
issues.filter_type.assigned_to_you=Přiřazené vám
@ -1228,6 +1301,7 @@ issues.filter_sort.moststars=Nejvíce hvězdiček
issues.filter_sort.feweststars=Nejméně hvězdiček
issues.filter_sort.mostforks=Nejvíce rozštěpení
issues.filter_sort.fewestforks=Nejméně rozštěpení
issues.keyword_search_unavailable=V současné době vyhledávání podle klíčového slova není dostupné. Obraťte se na správce webu.
issues.action_open=Otevřít
issues.action_close=Zavřít
issues.action_label=Štítek
@ -1236,12 +1310,16 @@ issues.action_milestone_no_select=Žádný milník
issues.action_assignee=Zpracovatel
issues.action_assignee_no_select=Bez zpracovatele
issues.opened_by=otevřeno %[1]s uživatelem <a href="%[2]s">%[3]s</a>
pulls.merged_by=od <a href="%[2]s">%[3]s</a> byl sloučen %[1]s
pulls.merged_by_fake=od %[2]s byl sloučen %[1]s
issues.closed_by=od <a href="%[2]s">%[3]s</a> byl uzavřen %[1]s
issues.opened_by_fake=otevřeno %[1]s uživatelem %[2]s
issues.closed_by_fake=od %[2]s byl uzavřen %[1]s
issues.previous=Předchozí
issues.next=Další
issues.open_title=otevřený
issues.closed_title=zavřený
issues.draft_title=Koncept
issues.num_comments=%d komentářů
issues.commented_at=`okomentoval <a href="#%s">%s</a>`
issues.delete_comment_confirm=Jste si jist, že chcete smazat tento komentář?
@ -1358,7 +1436,7 @@ issues.due_date_form_remove=Odstranit
issues.due_date_not_writer=Potřebujete práva na zápis do repozitáře pro úpravy termínu dokončení úkolu.
issues.due_date_not_set=Žádný termín dokončení.
issues.due_date_added=přidal/a termín dokončení %s %s
issues.due_date_modified=upravil/a termín dokončení z %s na %s %s
issues.due_date_modified=upravil/a termín termínu z %[2]s na %[1]s %[3]s
issues.due_date_remove=odstranil/a termín dokončení %s %s
issues.due_date_overdue=Zpožděné
issues.due_date_invalid=Termín dokončení není platný nebo je mimo rozsah. Použijte prosím formát „rrrr-mm-dd“.
@ -1403,6 +1481,7 @@ issues.review.add_review_request=vyžádal posouzení od %s %s
issues.review.remove_review_request=odstranil žádost o posouzení na %s %s
issues.review.remove_review_request_self=odmítl posoudit %s
issues.review.pending=Čekající
issues.review.pending.tooltip=Tento komentář není momentálně viditelný pro ostatní uživatele. Chcete-li odeslat Vaše čekající komentáře, vyberte „%s“ → „%s/%s/%s“ v horní části stránky.
issues.review.review=Posouzení
issues.review.reviewers=Posuzovatelé
issues.review.outdated=Zastaralé
@ -1421,8 +1500,9 @@ issues.content_history.created=vytvořeno
issues.content_history.delete_from_history=Smazat z historie
issues.content_history.delete_from_history_confirm=Smazat z historie?
issues.content_history.options=Možnosti
issues.reference_link=Reference: %s
compare.compare_base=základ
compare.compare_base=základ
compare.compare_head=porovnat
pulls.desc=Povolit požadavky na natažení a posuzování kódu.
@ -1433,13 +1513,18 @@ pulls.allow_edits_from_maintainers=Povolit úpravy od správců
pulls.allow_edits_from_maintainers_desc=Uživatelé s přístupem k zápisu do základní větve mohou také nahrávat do této větve
pulls.allow_edits_from_maintainers_err=Aktualizace se nezdařila
pulls.compare_changes_desc=Vyberte větev pro sloučení a větev pro natažení.
pulls.has_viewed_file=Zobrazeno
pulls.has_changed_since_last_review=Změněno od vašeho posledního posouzení
pulls.viewed_files_label=%[1]d / %[2]d souborů zobrazeno
pulls.compare_base=sloučit do
pulls.compare_compare=natáhnout z
pulls.switch_comparison_type=Přepnout typ porovnání
pulls.switch_head_and_base=Prohodit hlavní a základní větev
pulls.filter_branch=Filtrovat větev
pulls.no_results=Nebyly nalezeny žádné výsledky.
pulls.nothing_to_compare=Tyto větve jsou stejné. Není potřeba vytvářet požadavek na natažení.
pulls.nothing_to_compare_and_allow_empty_pr=Tyto větve jsou stejné. Tento požadavek na natažení bude prázdný.
pulls.has_pull_request=`Požadavek na natažení mezi těmito větvemi již existuje: <a href="%[1]s">%[2]s#%[3]d</a>`
pulls.create=Vytvořit požadavek na natažení
pulls.title_desc=chce sloučit %[1]d commity z větve <code>%[2]s</code> do <code id="branch_target">%[3]s</code>
pulls.merged_title_desc=sloučil %[1]d commity z větve <code>%[2]s</code> do větve <code>%[3]s</code> před %[4]s
@ -1463,7 +1548,8 @@ pulls.remove_prefix=Odstranit prefix <strong>%s</strong>
pulls.data_broken=Tento požadavek na natažení je rozbitý kvůli chybějícím informacím o rozštěpení.
pulls.files_conflicted=Tento požadavek na natažení obsahuje změny, které kolidují s cílovou větví.
pulls.is_checking=Právě probíhá kontrola konfliktů při sloučení. Zkuste to za chvíli.
pulls.is_empty=Tato větev je stejná jako cílová větev.
pulls.is_ancestor=Tato větev je již součástí cílové větve. Není co sloučit.
pulls.is_empty=Změny na této větvi jsou již na cílové větvi. Toto bude prázdný commit.
pulls.required_status_check_failed=Některé požadované kontroly nebyly úspěšné.
pulls.required_status_check_missing=Některé požadované kontroly chybí.
pulls.required_status_check_administrator=Jako administrátor stále můžete sloučit tento požadavek na natažení.
@ -1492,6 +1578,7 @@ pulls.no_merge_wip=Požadavek na natažení nemůže být sloučen protože je o
pulls.no_merge_not_ready=Tento požadavek na natažení není připraven na sloučení, zkontrolujte stav posouzení a kontrolu stavu.
pulls.no_merge_access=Nemáte oprávnění sloučit tento požadavek na natažení.
pulls.merge_pull_request=Vytvořit slučovací commit
pulls.rebase_merge_pull_request=Rebase pak fast-forward
pulls.rebase_merge_commit_pull_request=Rebase a poté vytvořit slučovací commit
pulls.squash_merge_pull_request=Vytvořit squash commit
pulls.merge_manually=Sloučeno ručně
@ -1504,9 +1591,12 @@ 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_summary=Chybové hlášení
; </summary><code>%[2]s<br>%[3]s</code></details>
pulls.unrelated_histories=Sloučení selhalo: Základní revize nesdílí společnou historii. Tip: Zkuste jinou strategii
pulls.unrelated_histories=Sloučení selhalo: Hlavní a základní revize nesdílí společnou historii. Tip: Zkuste jinou strategii
pulls.merge_out_of_date=Sloučení selhalo: Základ byl aktualizován při generování sloučení. Tip: Zkuste to znovu.
pulls.head_out_of_date=Sloučení selhalo: Hlavní revize byla aktualizován při generování sloučení. Tip: Zkuste to znovu.
pulls.push_rejected=Sloučení selhalo: Nahrání bylo zamítnuto. Zkontrolujte háčky Gitu pro tento repozitář.
pulls.push_rejected_summary=Úplná zpráva o odmítnutí
pulls.push_rejected_no_message=Sloučení se nezdařilo: Nahrání bylo odmítnuto, ale nebyla nalezena žádná vzdálená zpráva.<br>Zkontrolujte háčky gitu 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.status_checking=Některé kontroly jsou nedořešeny
pulls.status_checks_success=Všechny kontroly byly úspěšné
@ -1526,8 +1616,20 @@ pulls.merge_instruction_hint=`Můžete také zobrazit <a class="show-instruction
pulls.merge_instruction_step1_desc=Z vašeho repositáře projektu se podívejte na novou větev a vyzkoušejte změny.
pulls.merge_instruction_step2_desc=Slučte změny a aktualizujte je na Gitea.
pulls.auto_merge_button_when_succeed=(Když kontroly uspějí)
pulls.auto_merge_when_succeed=Automaticky sloučit, když všechny kontroly uspějí
pulls.auto_merge_newly_scheduled=Požadavek na natažení byl naplánován na sloučení, jakmile všechny kontroly uspějí.
pulls.auto_merge_has_pending_schedule=%[1]s naplánoval/a tento požadavek na natažení pro automatické sloučení, když všechny kontroly uspějí v %[2]s.
pulls.auto_merge_cancel_schedule=Zrušit automatické sloučení
pulls.auto_merge_not_scheduled=Tento požadavek na natažení není naplánován na automatické sloučení.
pulls.auto_merge_canceled_schedule=Automatické sloučení bylo zrušeno pro tento požadavek na natažení.
pulls.auto_merge_newly_scheduled_comment=`požadavek na automatické sloučení tohoto požadavku na natažení je naplánován, když všechny kontroly uspějí %[1]s`
pulls.auto_merge_canceled_schedule_comment=`zrušil/a automatické sloučení tohoto požadavku na natažení, když všechny kontroly uspějí %[1]s`
pulls.delete.title=Odstranit tento požadavek na natažení?
pulls.delete.text=Opravdu chcete tento požadavek na natažení smazat? (Tím se trvale odstraní veškerý obsah. Pokud jej hodláte archivovat, zvažte raději jeho uzavření.)
milestones.new=Nový milník
milestones.closed=Zavřen dne %s
@ -1568,7 +1670,7 @@ signing.wont_sign.pubkey=Commit nebude podepsán, protože nemáte veřejný kl
signing.wont_sign.twofa=Pro podepsání commitů musíte mít povoleno dvoufaktorové ověření
signing.wont_sign.parentsigned=Commit nebude podepsán, protože nadřazený commit není podepsán
signing.wont_sign.basesigned=Sloučení nebude podepsáno, protože základní commit není podepsaný
signing.wont_sign.headsigned=Sloučení nebude podepsáno, protože základní commit není podepaný
signing.wont_sign.headsigned=Sloučení nebude podepsáno, protože hlavní revize není podepsána
signing.wont_sign.commitssigned=Sloučení nebude podepsáno, protože všechny přidružené revize nejsou podepsány
signing.wont_sign.approved=Sloučení nebude podepsáno, protože požadavek na natažení není schválen
signing.wont_sign.not_signed_in=Nejste přihlášeni
@ -1598,6 +1700,7 @@ wiki.page_already_exists=Stránka Wiki se stejným názvem již existuje.
wiki.reserved_page=Jméno Wiki stránky „%s“ je rezervováno.
wiki.pages=Stránky
wiki.last_updated=Naposledy aktualizováno: %s
wiki.page_name_desc=Zadejte název této Wiki stránky. Některé speciální názvy jsou: „Home“, „_Sidebar“ a „_Footer“.
activity=Aktivita
activity.period.filter_label=Období:
@ -1667,9 +1770,14 @@ activity.git_stats_deletion_n=%d odebrání
search=Vyhledat
search.search_repo=Hledat repozitář
search.type.tooltip=Druh vyhledávání
search.fuzzy=Fuzzy
search.fuzzy.tooltip=Zahrnout výsledky, které také úzce odpovídají hledanému výrazu
search.match=Shoda
search.match.tooltip=Zahrnout pouze výsledky, které odpovídají přesnému hledanému výrazu
search.results=Výsledky hledání „%s“ v <a href="%s">%s</a>
search.code_no_results=Nebyl nalezen žádný zdrojový kód odpovídající hledanému výrazu.
search.code_search_unavailable=V současné době není vyhledávání kódu dostupné. Obraťte se na správce webu.
settings=Nastavení
settings.desc=Nastavení je místo, kde můžete měnit nastavení repozitáře
@ -1684,6 +1792,7 @@ settings.hooks=Webové háčky
settings.githooks=Háčky Gitu
settings.basic_settings=Základní nastavení
settings.mirror_settings=Nastavení zrcadla
settings.mirror_settings.docs=Nastavte váš projekt pro automatické nahrávání a/nebo stahování změn z/do jiného repozitáře. Větve, značky a commity budou synchronizovány automaticky. <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/repo-mirror/">Jak mohu zrcadlit repozitáře?</a>
settings.mirror_settings.mirrored_repository=Zrcadlený repozitář
settings.mirror_settings.direction=Směr
settings.mirror_settings.direction.pull=Natáhnout
@ -1694,10 +1803,6 @@ settings.mirror_settings.push_mirror.remote_url=URL vzdáleného Git repozitář
settings.mirror_settings.push_mirror.add=Přidat zrcadlo pro nahrání
settings.sync_mirror=Synchronizovat nyní
settings.mirror_sync_in_progress=Právě probíhá synchronizace zrcadla. Zkuste to za chvíli.
settings.email_notifications.enable=Povolit e-mailová oznámení
settings.email_notifications.onmention=E-mail pouze při zmínce
settings.email_notifications.disable=Zakázat e-mailová oznámení
settings.email_notifications.submit=Nastavit předvolby e-mailu
settings.site=Webová stránka
settings.update_settings=Aktualizovat nastavení
settings.branches.update_default_branch=Aktualizovat výchozí větev
@ -1719,6 +1824,9 @@ settings.tracker_url_format_error=Formát URL externího systému úkolu není p
settings.tracker_issue_style=Formát čísel externího systému úkolů
settings.tracker_issue_style.numeric=Číselný
settings.tracker_issue_style.alphanumeric=Alfanumerický
settings.tracker_issue_style.regexp=Regulární výraz
settings.tracker_issue_style.regexp_pattern=Vzor regulárního výrazu
settings.tracker_issue_style.regexp_pattern_desc=První zachycená skupina bude použita místo <code>{index}</code>.
settings.tracker_url_format_desc=Použijte zástupné symboly <code>{user}</code>, <code>{repo}</code> a <code>{index}</code> pro uživatelské jméno, jméno repozitáře a číslo úkolu.
settings.enable_timetracker=Povolit sledování času
settings.allow_only_contributors_to_track_time=Povolit sledování času pouze přispěvatelům
@ -1730,6 +1838,9 @@ settings.pulls.allow_rebase_merge_commit=Povolit rebase s vyžádaným slučovac
settings.pulls.allow_squash_commits=Povolit squash pro slučovací commity
settings.pulls.allow_manual_merge=Povolit označování požadavků na natažení jako ručně sloučené
settings.pulls.enable_autodetect_manual_merge=Povolit autodetekci ručních sloučení (Poznámka: V některých zvláštních případech může dojít k nesprávnému rozhodnutí)
settings.pulls.allow_rebase_update=Povolit aktualizaci větve požadavku na natažení pomocí rebase
settings.pulls.default_delete_branch_after_merge=Ve výchozím nastavení mazat větev požadavku na natažení po jeho sloučení
settings.packages_desc=Povolit registr balíčků repozitáře
settings.projects_desc=Povolit projekty v repozitáři
settings.admin_settings=Nastavení správce
settings.admin_enable_health_check=Povolit kontrolu stavu repozitáře (git fsck)
@ -1763,6 +1874,7 @@ settings.transfer_form_title=Zadejte jméno repozitáře pro potvrzení:
settings.transfer_in_progress=V současné době probíhá převod. Zrušte jej, pokud chcete převést tento repozitář jinému uživateli.
settings.transfer_notices_1=- Ztratíte přístup k repozitáři, pokud jej převedete na uživatele.
settings.transfer_notices_2=- Zůstane vám přístup k repozitáři, pokud jej převedete na organizaci kterou (spolu)vlastníte.
settings.transfer_notices_3=- Pokud je repozitář soukromý a je předán jednotlivému uživateli, tato akce se ujistí, že uživatel má alespoň oprávnění ke čtení (a v případě potřeby změní oprávnění).
settings.transfer_owner=Nový vlastník
settings.transfer_perform=Provést převod
settings.transfer_started=Tento repozitář byl označen pro převod a čeká na potvrzení od „%s“
@ -1796,6 +1908,7 @@ settings.confirm_delete=Smazat repozitář
settings.add_collaborator=Přidat spolupracovníka
settings.add_collaborator_success=Spolupracovník byl přidán.
settings.add_collaborator_inactive_user=Nelze přidat neaktivního uživatele jako spolupracovníka.
settings.add_collaborator_owner=Vlastníka nelze přidat jako spolupracovníka.
settings.add_collaborator_duplicate=Spolupracovník je již přidán k tomuto repozitáři.
settings.delete_collaborator=Odstranit
settings.collaborator_deletion=Odstranit spolupracovníka
@ -1827,6 +1940,8 @@ settings.webhook.headers=Hlavičky
settings.webhook.payload=Obsah
settings.webhook.body=Tělo zprávy
settings.webhook.replay.description=Zopakovat tento webový háček.
settings.webhook.delivery.success=Událost byla přidána do fronty doručení. Může to trvat několik sekund, než se zobrazí v historii doručení.
settings.githooks_desc=Jelikož háčky Gitu jsou spravovány Gitem samotným, můžete upravit soubory háčků k provádění uživatelských operací.
settings.githook_edit_desc=Je-li háček neaktivní, bude zobrazen vzorový obsah. Nebude-li zadán žádný obsah, háček bude vypnut.
settings.githook_name=Název háčku
settings.githook_content=Obsah háčku
@ -1852,6 +1967,8 @@ settings.event_delete=Smazat
settings.event_delete_desc=Větev nebo značka smazána.
settings.event_fork=Rozštěpit
settings.event_fork_desc=Repozitář rozštěpen.
settings.event_wiki=Wiki
settings.event_wiki_desc=Wiki stránka vytvořena, přejmenována nebo smazána.
settings.event_release=Vydání
settings.event_release_desc=Vydání v tomto repozitáři bylo publikováno, aktualizováno nebo smazáno.
settings.event_push=Nahrát
@ -1887,6 +2004,7 @@ settings.event_pull_request_sync_desc=Požadavek na natažení synchronizován.
settings.event_package=Balíček
settings.event_package_desc=Balíček vytvořen nebo odstraněn v repozitáři.
settings.branch_filter=Filtr větví
settings.branch_filter_desc=Povolené větve pro události nahrání, vytvoření větve a smazání větve jsou určeny pomocí zástupného vzoru. Pokud je prázdný nebo <code>*</code>, všechny události jsou ohlášeny. Podívejte se na dokumentaci syntaxe na <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a>. Příklady: <code>master</code>, <code>{master,release*}</code>.
settings.active=Aktivní
settings.active_helper=Informace o spuštěných událostech budou odeslány na URL webového háčku.
settings.add_hook_success=Webový háček byl přidán.
@ -1895,9 +2013,10 @@ settings.update_hook_success=Webový háček byl aktualizován.
settings.delete_webhook=Odstranit webový háček
settings.recent_deliveries=Nedávné dodávky
settings.hook_type=Typ háčku
settings.slack_token=Poukázka
settings.slack_token=Token
settings.slack_domain=Doména
settings.slack_channel=Kanál
settings.add_web_hook_desc=Integrovat <a target="_blank" rel="noreferrer" href="%s">%s</a> do vašeho repozitáře.
settings.web_hook_name_gitea=Gitea
settings.web_hook_name_gogs=Gogs
settings.web_hook_name_slack=Slack
@ -1967,6 +2086,7 @@ settings.require_signed_commits_desc=Odmítnout nahrání do této větve pokud
settings.protect_protected_file_patterns=Chráněné vzory souborů (oddělené středníkem „\;“):
settings.protect_protected_file_patterns_desc=Chráněné soubory, které nemají povoleno být měněny přímo, i když uživatel má právo přidávat, upravovat nebo mazat soubory v této větvi. Více vzorů lze oddělit pomocí středníku („\;“). Podívejte se na <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a> dokumentaci pro syntaxi vzoru. Příklady: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.protect_unprotected_file_patterns=Nechráněné vzory souborů (oddělené středníkem „\;“):
settings.protect_unprotected_file_patterns_desc=Nechráněné soubory, které je možné měnit přímo, pokud má uživatel právo zápisu, čímž se obejde omezení push. Více vzorů lze oddělit pomocí středníku ('\;'). Podívejte se na <a href="https://pkg.go.dev/github.com/gobwas/glob#Compile">github.com/gobwas/glob</a> dokumentaci pro syntaxi vzoru. Příklady: <code>.drone.yml</code>, <code>/docs/**/*.txt</code>.
settings.add_protected_branch=Zapnout ochranu
settings.delete_protected_branch=Vypnout ochranu
settings.update_protect_branch_success=Ochrana větví pro větev „%s“ byla aktualizována.
@ -1994,7 +2114,8 @@ settings.tags.protection.allowed.teams=Povolené týmy
settings.tags.protection.allowed.noone=Nikdo
settings.tags.protection.create=Chránit značku
settings.tags.protection.none=Neexistují žádné chráněné značky.
settings.bot_token=Poukázka pro robota
settings.tags.protection.pattern.description=Můžete použít jediné jméno nebo vzor glob nebo regulární výraz, který bude odpovídat více značek. Přečtěte si více v <a target="_blank" rel="noopener" href="https://docs.gitea.io/en-us/protected-tags/">průvodci chráněnými značkami</a>.
settings.bot_token=Token pro robota
settings.chat_id=ID chatu
settings.matrix.homeserver_url=URL adresa Homeserveru
settings.matrix.room_id=ID místnosti
@ -2053,7 +2174,7 @@ diff.git-notes=Poznámky
diff.data_not_available=Rozdílový obsah není dostupný
diff.options_button=Možnosti rozdílového porovnání
diff.show_diff_stats=Zobrazit statistiky
diff.download_patch=Stáhněte soubor opravy
diff.download_patch=Stáhněte soubor záplaty
diff.download_diff=Stáhněte rozdílový soubor
diff.show_split_view=Rozdělené zobrazení
diff.show_unified_view=Jednotný pohled
@ -2076,7 +2197,9 @@ diff.file_suppressed=Rozdílový obsah nebyl zobrazen, protože je příliš vel
diff.file_suppressed_line_too_long=Rozdílový obsah nebyl zobrazen, protože některé řádky jsou příliš dlouhá
diff.too_many_files=Některé soubory nejsou zobrazny, neboť je v této revizi změněno mnoho souborů
diff.show_more=Zobrazit více
diff.load=Načíst rozdílové porovnání
diff.generated=vygenerováno
diff.vendored=vendorováno
diff.comment.placeholder=Zanechat komentář
diff.comment.markdown_info=Je podporována úprava vzhledu pomocí markdown.
diff.comment.add_single_comment=Přidat jeden komentář
@ -2182,6 +2305,8 @@ topic.done=Hotovo
topic.count_prompt=Nelze vybrat více než 25 témat
topic.format_prompt=Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
find_file.go_to_file=Přejít na soubor
find_file.no_matching=Nebyl nalezen žádný odpovídající soubor
error.csv.too_large=Tento soubor nelze vykreslit, protože je příliš velký.
error.csv.unexpected=Tento soubor nelze vykreslit, protože obsahuje neočekávaný znak na řádku %d ve sloupci %d.
@ -2195,6 +2320,7 @@ create_org=Vytvořit organizaci
repo_updated=Upraveno
people=Lidé
teams=Týmy
code=Kód
lower_members=členové
lower_repositories=repozitáře
create_new_team=Nový tým
@ -2263,7 +2389,9 @@ teams.leave.detail=Opustit %s?
teams.can_create_org_repo=Vytvořit repozitáře
teams.can_create_org_repo_helper=Členové mohou vytvářet nové repozitáře v organizaci. Tvůrce získá přístup správce do nového repozitáře.
teams.none_access=Bez přístupu
teams.none_access_helper=Členové nemohou prohlížet ani dělat žádnou jinou akci pro tuto jednotku.
teams.general_access=Obecný přístup
teams.general_access_helper=O oprávnění členů bude rozhodnuto níže uvedenou tabulkou oprávnění.
teams.read_access=Čtení
teams.read_access_helper=Členové mohou zobrazit a klonovat repozitáře týmu.
teams.write_access=Zápis
@ -2317,9 +2445,11 @@ first_page=První
last_page=Poslední
total=Celkem: %d
dashboard.new_version_hint=Gitea %s je nyní k dispozici, používáte %s. Pro více informací si přečtěte <a target="_blank" rel="noreferrer" href="https://blog.gitea.io">blog</a>.
dashboard.statistic=Souhrn
dashboard.operations=Operace údržby
dashboard.system_status=Status systému
dashboard.statistic_info=Databáze Gitea obsahuje <b>%d</b> uživatelů, <b>%d</b> organizací, <b>%d</b> veřejných klíčů, <b>%d</b> repozitářů, <b>%d</b> hlídání, <b>%d</b> oblíbení, ~<b>%d</b> akcí, <b>%d</b> přístupů, <b>%d</b> úkolů, <b>%d</b> komentářů, <b>%d</b> účtů sociálních sítí, <b>%d</b> sledování, <b>%d</b> zrcadel, <b>%d</b> vydání, <b>%d</b> zdrojů ověřování, <b>%d</b> webových háčků, <b>%d</b> milníků, <b>%d</b> štítků, <b>%d</b> háčků, <b>%d</b> týmů, <b>%d</b> úkolů změn, <b>%d</b> příloh.
dashboard.operation_name=Název operace
dashboard.operation_switch=Přepnout
dashboard.operation_run=Spustit
@ -2391,6 +2521,7 @@ dashboard.gc_times=Časy GC
dashboard.delete_old_actions=Odstranit všechny staré akce z databáze
dashboard.delete_old_actions.started=Začalo odstraňování všech starých akcí z databáze.
dashboard.update_checker=Kontrola aktualizací
dashboard.delete_old_system_notices=Odstranit všechna stará systémová upozornění z databáze
users.user_manage_panel=Správa uživatelských účtů
users.new_account=Vytvořit uživatelský účet
@ -2425,8 +2556,12 @@ users.allow_import_local=Může importovat lokální repozitáře
users.allow_create_organization=Může vytvářet organizace
users.update_profile=Aktualizovat uživatelský účet
users.delete_account=Smazat uživatelský účet
users.cannot_delete_self=Nemůžete smazat sami sebe
users.still_own_repo=Tento uživatel stále vlastní jeden nebo více repozitářů. Tyto repozitáře nejprve smažte nebo je převeďte.
users.still_has_org=Uživatel je člen organizace. Nejprve odstraňte uživatele ze všech organizací.
users.purge=Vymazat uživatele
users.purge_help=Vynuceně smazat uživatele a všechny repositáře, organizace a balíčky vlastněné uživatelem. Všechny komentáře budou také smazány.
users.still_own_packages=Tento uživatel stále vlastní jeden nebo více balíčků. Nejprve odstraňte tyto balíčky.
users.deletion_success=Uživatelský účet byl smazán.
users.reset_2fa=Resetovat 2FA
users.list_status_filter.menu_text=Filtr
@ -2517,6 +2652,7 @@ auths.attribute_name=Atribut křestního jména
auths.attribute_surname=Atribut příjmení
auths.attribute_mail=Atribut e-mailové adresy
auths.attribute_ssh_public_key=Atribut veřejného SSH klíče
auths.attribute_avatar=Atributy avataru
auths.attributes_in_bind=Získat atributy v kontextu Bind DN
auths.allow_deactivate_all=Povolit prázdný výsledek hledání pro deaktivaci všech uživatelů
auths.use_paged_search=Použijte vyhledávání ve stránce
@ -2525,6 +2661,7 @@ auths.filter=Uživatelský filtr
auths.admin_filter=Správcovský filtr
auths.restricted_filter=Filtr omezení
auths.restricted_filter_helper=Ponechte prázdné, pokud nechcete nastavit žádné uživatele jako omezené. Použijte hvězdičku („*“) pro nastavení všech uživatelů, kteří neodpovídají filtru administrátora, jako omezené.
auths.verify_group_membership=Ověřit členství ve skupině v LDAP (ponechte prázdný filtr pro přeskočení)
auths.group_search_base=Základní DN pro hledání skupin
auths.group_attribute_list_users=Skupinový atribut obsahující seznam uživatelů
auths.user_attribute_in_group=Atribut uživatele ve skupině
@ -2539,7 +2676,9 @@ auths.allowed_domains=Povolené domény
auths.allowed_domains_helper=Nechte prázdné k povolení všech domén. Oddělte více domén pomocí čárky („,“).
auths.skip_tls_verify=Přeskočit ověření TLS
auths.force_smtps=Vynutit SMTPS
auths.force_smtps_helper=SMTPS se vždy používá na portu 465. Nastavením této hodnoty vynutíte použití SMTPS na jiných portech. (V opačném případě se na ostatních portech použije STARTTLS, pokud je podporován hostiteslkým serverem.)
auths.helo_hostname=HELO Hostname
auths.helo_hostname_helper=Název hostitele odeslaný s HELO. Chcete-li odeslat aktuální název hostitele, ponechte prázdné.
auths.disable_helo=Zakázat HELO
auths.pam_service_name=Název služby PAM
auths.pam_email_domain=PAM e-mailová doména (volitelné)
@ -2549,11 +2688,21 @@ auths.oauth2_clientID=Klientské ID (klíč)
auths.oauth2_clientSecret=Tajný klíč klienta
auths.openIdConnectAutoDiscoveryURL=OpenID URL pro automatické objevování
auths.oauth2_use_custom_url=Použijte vlastní URL místo výchozích
auths.oauth2_tokenURL=URL poukázky
auths.oauth2_tokenURL=URL tokenu
auths.oauth2_authURL=Autorizační URL
auths.oauth2_profileURL=URL profilu
auths.oauth2_emailURL=URL e-mailu
auths.skip_local_two_fa=Přeskočit lokální 2FA
auths.skip_local_two_fa_helper=Ponechání nenastavené hodnoty znamená, že místní uživatelé s nastavenou funkcí 2FA budou muset při přihlašování stále projít funkcí 2FA
auths.oauth2_tenant=Nájemník
auths.oauth2_scopes=Další rozsahy
auths.oauth2_required_claim_name=Požadovaný název tvrzení
auths.oauth2_required_claim_name_helper=Nastavte toto jméno pro omezení přihlášení z tohoto zdroje pro uživatele s tvrzením s tímto jménem
auths.oauth2_required_claim_value=Požadovaná hodnota tvrzení
auths.oauth2_required_claim_value_helper=Nastavte tuto hodnotu pro omezení přihlášení z tohoto zdroje pro uživatele s tvrzením s tímto jménem a hodnotou
auths.oauth2_group_claim_name=Název tvrzení poskytující názvy skupin pro tento zdroj. (nepovinné)
auths.oauth2_admin_group=Hodnota tvrzení pro skupinu uživatelů administrátorů. (Volitelné - vyžaduje název tvrzení výše)
auths.oauth2_restricted_group=Hodnota tvrzení pro skupinu omezených uživatelů. (Volitelné - vyžaduje název tvrzení výše)
auths.enable_auto_register=Povolit zaregistrování se
auths.sspi_auto_create_users=Automaticky vytvářet uživatele
auths.sspi_auto_create_users_helper=Povolit SSPI autentizační metodě automaticky vytvářet nové účty pro uživatele, kteří se poprvé přihlásili
@ -2668,16 +2817,19 @@ config.queue_length=Délka fronty
config.deliver_timeout=Časový limit doručení
config.skip_tls_verify=Přeskočit verifikaci TLS
config.mailer_config=Konfigurace služby SMTP
config.mailer_config=Nastavení odesílání e-mailů
config.mailer_enabled=Zapnutý
config.mailer_disable_helo=Zakázat HELO
config.mailer_enable_helo=Povolit HELO
config.mailer_name=Název
config.mailer_host=Server
config.mailer_protocol=Protokol
config.mailer_smtp_addr=Adresa SMTP
config.mailer_smtp_port=Port SMTP
config.mailer_user=Uživatel
config.mailer_use_sendmail=Použít Sendmail
config.mailer_sendmail_path=Cesta k Sendmail
config.mailer_sendmail_args=Dodatečné argumenty pro Sendmail
config.mailer_sendmail_timeout=Časový limit Sandmail
config.mailer_use_dummy=Fiktivní
config.test_email_placeholder=E-mail (např.: test@example.com)
config.send_test_mail=Odeslat zkušební e-mail
config.test_mail_failed=Odeslání testovacího e-mailu na „%s“ selhalo: %v
@ -2730,6 +2882,9 @@ config.access_log_template=Šablona
config.xorm_log_mode=Režim logování XORM
config.xorm_log_sql=Logovat SQL
config.get_setting_failed=Získání nastavení %s se nezdařilo
config.set_setting_failed=Nastavení %s se nezdařilo
monitor.cron=Naplánované úlohy
monitor.name=Název
monitor.schedule=Rozvrh
@ -2737,6 +2892,8 @@ monitor.next=Příští čas spuštění
monitor.previous=Předešlý čas spuštění
monitor.execute_times=Vykonání
monitor.process=Spuštěné procesy
monitor.stacktrace=Výpisy zásobníku
monitor.goroutines=%d Go-rutiny
monitor.desc=Popis
monitor.start=Čas zahájení
monitor.execute_time=Doba provádění
@ -2744,6 +2901,7 @@ monitor.last_execution_result=Výsledek
monitor.process.cancel=Zrušit proces
monitor.process.cancel_desc=Zrušení procesu může způsobit ztrátu dat
monitor.process.cancel_notices=Zrušit: <strong>%s</strong>?
monitor.process.children=Potomek
monitor.queues=Fronty
monitor.queue=Fronta: %s
monitor.queue.name=Název
@ -2751,6 +2909,7 @@ monitor.queue.type=Typ
monitor.queue.exemplar=Typ vzoru
monitor.queue.numberworkers=Počet workerů
monitor.queue.maxnumberworkers=Maximální počet workerů
monitor.queue.numberinqueue=Číslo ve frontě
monitor.queue.review=Konfigurace posouzení
monitor.queue.review_add=Posoudit/přidat workery
monitor.queue.configuration=Výchozí konfigurace
@ -2758,6 +2917,7 @@ monitor.queue.nopool.title=Žádný fond workerů
monitor.queue.nopool.desc=Tato fronta obaluje jiné fronty ale sama o sobě nemá fond workerů.
monitor.queue.wrapped.desc=Zabalená fronta zabalí pomalou startující frontu ukládáním požadavků do vyrovnávací paměti. Nemá vlastní fond workerů.
monitor.queue.persistable-channel.desc=Trvalý kanál obaluje dvě fronty, frontu kanálu, která má vlastní fond workerů a vyrovnávací frontu pro přetrvávající požadavky z předchozích vypnutí. Nemá sám o sobě svůj fond workerů.
monitor.queue.flush=Vyprázdnit worker
monitor.queue.pool.timeout=Časový limit
monitor.queue.pool.addworkers.title=Přidat workery
monitor.queue.pool.addworkers.submit=Přidat workery
@ -2832,18 +2992,23 @@ comment_issue=`okomentoval/a problém <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`okomentoval/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`sloučil/a požadavek na natažení <a href="%[1]s">%[3]s#%[2]s</a>`
transfer_repo=předal/a repozitář <code>%s</code> uživateli/organizaci <a href="%s">%s</a>
delete_tag=smazána značka %[2]s z <a href="%[1]s">%[3]s</a>
push_tag=nahrál/a značku <a href="%[2]s">%[3]s</a> do <a href="%[1]s">%[4]s</a>
delete_tag=smazal/a značku %[2]s z <a href="%[1]s">%[3]s</a>
delete_branch=smazal/a větev %[2]s z <a href="%[1]s">%[3]s</a>
compare_branch=Porovnat
compare_commits=Porovnat %d revizí
compare_commits_general=Porovnat revize
mirror_sync_push=synchronizoval/a commity do <a href="%[2]s">%[3]s</a> v <a href="%[1]s">%[4]s</a> ze zrcadla
mirror_sync_create=synchronizoval/a novou referenci <a href="%[2]s">%[3]s</a> do <a href="%[1]s">%[4]s</a> ze zrcadla
mirror_sync_delete=synchronizoval/a a smazal/a referenci <code>%[2]s</code> v <a href="%[1]s">%[3]s</a> ze zrcadla
approve_pull_request=`schválil/a <a href="%[1]s">%[3]s#%[2]s</a>`
reject_pull_request=`navrhl/a změny pro <a href="%[1]s">%[3]s#%[2]s</a>`
publish_release=`vydal/a <a href="%[2]s"> "%[4]s" </a> v <a href="%[1]s">%[3]s</a>`
review_dismissed=`zamítl/a posouzení z <b>%[4]s</b> pro <a href="%[1]s">%[3]s#%[2]s</a>`
review_dismissed_reason=Důvod:
create_branch=vytvořil/a větev <a href="%[2]s">%[3]s</a> v <a href="%[1]s">%[4]s</a>
starred_repo=si oblíbil/a <a href="%[1]s">%[2]s</a>
watched_repo=začal/a sledovat <a href="%[1]s">%[2]s</a>
[tool]
ago=před %s
@ -2883,6 +3048,9 @@ pin=Připnout upozornění
mark_as_read=Označit jako přečtené
mark_as_unread=Označit jako nepřečtené
mark_all_as_read=Označit vše jako přečtené
subscriptions=Odběry
watching=Sledované
no_subscriptions=Žádné odběry
[gpg]
default_key=Podepsáno výchozím klíčem
@ -2904,9 +3072,15 @@ error.unit_not_allowed=Nejste oprávněni přistupovat k této části repozitá
title=Balíčky
desc=Správa balíčků repozitáře.
empty=Zatím nejsou žádné balíčky.
empty.documentation=Další informace o registru balíčků naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/overview">dokumentaci</a>.
empty.repo=Nahráli jste balíček, ale nezobrazil se zde? Přejděte na <a href="%[1]s">nastavení balíčku</a> a propojte jej s tímto repozitářem.
filter.type=Typ
filter.type.all=Vše
filter.no_result=Váš filtr nepřinesl žádné výsledky.
filter.container.tagged=Označeno
filter.container.untagged=Neoznačeno
published_by=Zveřejněno %[1]s od <a href="%[2]s">%[3]s</a>
published_by_in=Zveřejněno %[1]s od <a href="%[2]s">%[3]s</a> v <a href="%[4]s"><strong>%[5]s</strong></a>
installation=Instalace
about=O tomto balíčku
requirements=Požadavky
@ -2916,25 +3090,38 @@ details=Podrobnosti
details.author=Autor
details.project_site=Stránka projektu
details.license=Licence
assets=Prostředky
versions=Verze
versions.on=
versions.view_all=Zobrazit všechny
dependency.id=ID
dependency.version=Verze
composer.registry=Nastavit tento registr v souboru <code>~/.composer/config.json</code>:
composer.install=Pro instalaci balíčku pomocí Compposer spusťte následující příkaz:
composer.documentation=Další informace o registru Composer naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/composer/">dokumentaci</a>.
composer.dependencies=Závislosti
composer.dependencies.development=Vývojové závislosti
conan.details.repository=Repozitář
conan.registry=Nastavte tento registr z příkazového řádku:
conan.install=Pro instalaci balíčku pomocí Conan spusťte následující příkaz:
conan.documentation=Další informace o registru Conan naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/conan/">dokumentaci</a>.
container.details.type=Typ obrazu
container.details.platform=Platforma
container.details.repository_site=Stránka repositáře
container.details.documentation_site=Stránka dokumentace
container.pull=Stáhněte obraz z příkazové řádky:
container.digest=Výběr:
container.documentation=Další informace o registru Container naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/container/">dokumentaci</a>.
container.multi_arch=OS/architektura
container.layers=Vrstvy obrazů
container.labels=Štítky
container.labels.key=Klíč
container.labels.value=Hodnota
generic.download=Stáhnout balíček z příkazové řádky:
generic.documentation=Další informace o obecném registru naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/generic">dokumentaci</a>.
helm.registry=Nastavte tento registr z příkazového řádku:
helm.install=Pro instalaci balíčku spusťte následující příkaz:
helm.documentation=Další informace o Helm registru naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/helm/">dokumentaci</a>.
maven.registry=Nastavte tento registr ve vašem projektu <code>pom.xml</code> souboru:
maven.install=Pro použití balíčku uveďte následující v bloku <code>dependencies</code> v souboru <code>pom.xml</code>:
maven.install2=Spustit pomocí příkazové řádky:
@ -2950,8 +3137,13 @@ npm.install2=nebo ho přidejte do souboru package.json:
npm.documentation=Další informace o npm registru naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/npm/">dokumentaci</a>.
npm.dependencies=Závislosti
npm.dependencies.development=Vývojové závislosti
npm.dependencies.peer=Vzájemné závislosti
npm.dependencies.optional=Volitelné závislosti
npm.details.tag=Značka
pub.install=Chcete-li nainstalovat balíček pomocí Dart, spusťte následující příkaz:
pub.documentation=Další informace o registru Pub naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">dokumentaci</a>.
pub.details.repository_site=Stránka repositáře
pub.details.documentation_site=Stránka dokumentace
pypi.requires=Vyžaduje Python
pypi.install=Pro instalaci balíčku pomocí pip spusťte následující příkaz:
pypi.documentation=Další informace o registru PyPI naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">dokumentaci</a>.
@ -2962,6 +3154,8 @@ rubygems.dependencies.development=Vývojové závislosti
rubygems.required.ruby=Vyžaduje verzi Ruby
rubygems.required.rubygems=Vyžaduje verzi RubyGem
rubygems.documentation=Další informace o registru RubyGems naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">dokumentaci</a>.
vagrant.install=Pro přidání Vagrant box spusťte následující příkaz:
vagrant.documentation=Další informace o registru Vagrant naleznete v <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">dokumentaci</a>.
settings.link=Propojit tento balíček s repozitářem
settings.link.description=Pokud propojíte balíček s repozitářem, je tento balíček uveden v seznamu balíčků repozitáře.
settings.link.select=Vybrat repozitář

View File

@ -9,7 +9,6 @@ sign_out=Abmelden
sign_up=Registrieren
link_account=Account verbinden
register=Registrieren
website=Webseite
version=Version
powered_by=Powered by %s
page=Seite
@ -47,7 +46,6 @@ webauthn_error_unable_to_process=Der Server konnte deine Anfrage nicht bearbeite
webauthn_error_duplicated=Für diese Anfrage ist der Sicherheitsschlüssel nicht erlaubt. Bitte stell sicher, dass er nicht bereits registriert ist.
webauthn_error_empty=Du musst einen Namen für diesen Schlüssel festlegen.
webauthn_error_timeout=Das Zeitlimit wurde erreicht, bevor dein Schlüssel gelesen werden konnte. Bitte lade die Seite erneut.
webauthn_u2f_deprecated=Der Schlüssel: '%s' authentifiziert sich über den veralteten U2F-Prozess. Bitte registriere den Schlüssel neu und lösche die alte Registrierung.
webauthn_reload=Neu laden
repository=Repository
@ -108,6 +106,8 @@ never=Niemals
rss_feed=RSS Feed
[filter]
[error]
occurred=Ein Fehler ist aufgetreten
report_message=Wenn du dir sicher bist, dass dies ein Fehler von Gitea ist, suche bitte auf <a href="https://github.com/go-gitea/gitea/issues">GitHub</a> nach diesem Fehler und erstelle gegebenenfalls ein neues Issue.
@ -180,7 +180,6 @@ log_root_path_helper=Log-Dateien werden in diesem Verzeichnis gespeichert.
optional_title=Optionale Einstellungen
email_title=E-Mail-Einstellungen
smtp_host=SMTP-Server
smtp_from=E-Mail senden als
smtp_from_helper=E-Mail-Adresse, die von Gitea genutzt werden soll. Bitte gib die E-Mail-Adresse im Format „"Name" <email@example.com>“ ein.
mailer_user=SMTP-Benutzername
@ -230,7 +229,7 @@ default_keep_email_private_popup=E-Mail-Adressen von neuen Benutzern standardmä
default_allow_create_organization=Erstellen von Organisationen standardmäßig erlauben
default_allow_create_organization_popup=Neuen Nutzern das Erstellen von Organisationen standardmäßig erlauben.
default_enable_timetracking=Zeiterfassung standardmäßig aktivieren
default_enable_timetracking_popup=Zeiterfassung standardmäßig für neue Repositories aktivieren.
default_enable_timetracking_popup=Zeiterfassung standardmäßig für neue Repositorys aktivieren.
no_reply_address=Versteckte E-Mail-Domain
no_reply_address_helper=Domain-Name für Benutzer mit einer versteckten Emailadresse. Zum Beispiel wird der Benutzername „Joe“ in Git als „joe@noreply.example.org“ protokolliert, wenn die versteckte E-Mail-Domain „noreply.example.org“ festgelegt ist.
password_algorithm=Passwort Hashing Algorithmus
@ -240,15 +239,15 @@ password_algorithm_helper=Lege den Passwort Hashing Algorithmus fest. Unterschie
uname_holder=E-Mail-Adresse oder Benutzername
password_holder=Passwort
switch_dashboard_context=Kontext der Übersichtsseite wechseln
my_repos=Repositories
show_more_repos=Zeige mehr Repositories…
collaborative_repos=Gemeinschaftliche Repositories
my_repos=Repositorys
show_more_repos=Zeige mehr Repositorys…
collaborative_repos=Gemeinschaftliche Repositorys
my_orgs=Meine Organisationen
my_mirrors=Meine Mirrors
view_home=%s ansehen
search_repos=Finde ein Repository…
filter=Andere Filter
filter_by_team_repositories=Nach Team Repositories filtern
filter_by_team_repositories=Nach Team-Repositorys filtern
feed_of=Feed von "%s"
show_archived=Archiviert
@ -261,10 +260,10 @@ show_both_private_public=Öffentliche und private anzeigen
show_only_private=Nur private anzeigen
show_only_public=Nur öffentliche anzeigen
issues.in_your_repos=Eigene Repositories
issues.in_your_repos=Eigene Repositorys
[explore]
repos=Repositories
repos=Repositorys
users=Benutzer
organizations=Organisationen
search=Suche
@ -272,12 +271,15 @@ code=Code
search.fuzzy=Ähnlich
search.match=Genau
code_search_unavailable=Derzeit ist die Code-Suche nicht verfügbar. Bitte wende dich an den Website-Administrator.
repo_no_results=Keine passenden Repositories gefunden.
repo_no_results=Keine passenden Repositorys gefunden.
user_no_results=Keine passenden Benutzer gefunden.
org_no_results=Keine passenden Organisationen gefunden.
code_no_results=Es konnte kein passender Code für deinen Suchbegriff gefunden werden.
code_search_results=Suchergebnisse für „%s“
code_last_indexed_at=Zuletzt indexiert %s
relevant_repositories_tooltip=Repositorys, die Forks sind oder die kein Thema, kein Symbol und keine Beschreibung haben, werden ausgeblendet.
relevant_repositories=Es werden nur relevante Repositorys angezeigt, <a href="%s">zeigt ungefilterte Ergebnisse</a> an.
[auth]
create_new_account=Konto anlegen
@ -339,7 +341,7 @@ email_domain_blacklisted=Du kannst dich nicht mit deiner E-Mail-Adresse registri
authorize_application=Anwendung autorisieren
authorize_redirect_notice=Du wirst zu %s weitergeleitet, wenn du diese Anwendung autorisierst.
authorize_application_created_by=Diese Anwendung wurde von %s erstellt.
authorize_application_description=Wenn du diese Anwendung autorisierst, wird sie die Berechtigung erhalten, alle Informationen zu deinem Account zu bearbeiten oder zu lesen. Dies beinhaltet auch private Repositories und Organisationen.
authorize_application_description=Wenn du diese Anwendung autorisierst, wird sie die Berechtigung erhalten, alle Informationen zu deinem Account zu bearbeiten oder zu lesen. Dies beinhaltet auch private Repositorys und Organisationen.
authorize_title="%s" den Zugriff auf deinen Account gestatten?
authorization_failed=Autorisierung fehlgeschlagen
authorization_failed_desc=Die Autorisierung ist fehlgeschlagen, da wir eine ungültige Anfrage festgestellt haben. Bitte kontaktiere den Betreiber der Anwendung, die du gerade autorisieren wolltest.
@ -407,6 +409,7 @@ repo.transfer.body=Um es anzunehmen oder abzulehnen, öffne %s, oder ignoriere e
repo.collaborator.added.subject=%s hat dich zu %s hinzugefügt
repo.collaborator.added.text=Du wurdest als Mitarbeiter für folgendes Repository hinzugefügt:
[modal]
yes=Ja
no=Abbrechen
@ -455,7 +458,7 @@ lang_select_error=Wähle eine Sprache aus der Liste aus.
username_been_taken=Der Benutzername ist bereits vergeben.
username_change_not_local_user=Nicht-lokale Benutzer dürfen ihren Nutzernamen nicht ändern.
repo_name_been_taken=Der Repository-Name wird schon verwendet.
repository_force_private=Privat erzwingen ist aktiviert: Private Repositories können nicht veröffentlicht werden.
repository_force_private=Privat erzwingen ist aktiviert: Private Repositorys können nicht veröffentlicht werden.
repository_files_already_exist=Dateien für dieses Repository sind bereits vorhanden. Kontaktiere den Systemadministrator.
repository_files_already_exist.adopt=Dateien für dieses Repository existieren bereits und können nur übernommen werden.
repository_files_already_exist.delete=Dateien für dieses Repository sind bereits vorhanden. Du must sie löschen.
@ -489,7 +492,7 @@ invalid_ssh_principal=Ungültige Identität: %s
unable_verify_ssh_key=Dein SSH-Key kann nicht überprüft werden, probiere es erneut.
auth_failed=Authentifizierung fehlgeschlagen: %v
still_own_repo=Dein Konto besitzt ein oder mehrere Repositories. Diese müssen zuerst gelöscht oder übertragen werden.
still_own_repo=Dein Konto besitzt ein oder mehrere Repositorys. Diese müssen zuerst gelöscht oder übertragen werden.
still_has_org=Dein Account ist Mitglied in mindestens einer Organisation. Bitte verlasse diese zuerst.
still_own_packages=Ihr Konto besitzt ein oder mehrere Pakete; löschen Sie diese zuerst.
org_still_own_repo=Diese Organisation besitzt noch mindestens ein Repository. Bitte lösche oder übertrage diese zuerst.
@ -500,7 +503,7 @@ target_branch_not_exist=Der Ziel-Branch existiert nicht.
[user]
change_avatar=Profilbild ändern…
join_on=Beigetreten am
repositories=Repositories
repositories=Repositorys
activity=Öffentliche Aktivität
followers=Follower
starred=Favoriten
@ -800,6 +803,7 @@ email_notifications.enable=E-Mail Benachrichtigungen aktivieren
email_notifications.onmention=Nur E-Mail bei Erwähnung
email_notifications.disable=E-Mail Benachrichtigungen deaktivieren
email_notifications.submit=E-Mail-Einstellungen festlegen
email_notifications.andyourown=Und deine Eigenen Benachrichtigungen
visibility=Nutzer Sichtbarkeit
visibility.public=Öffentlich
@ -862,7 +866,6 @@ default_branch=Standardbranch
default_branch_helper=Der default Branch ist der Basisbranch für Pull-Requests und Commits.
mirror_prune=Entfernen
mirror_prune_desc=Entferne veraltete remote-tracking Referenzen
mirror_interval=Mirror-Intervall. Gültige Zeiteinheiten sind 'h', 'm', sowie 's'. 0 deaktiviert die automatische Synchronisierung. (Minimum: %s)
mirror_interval_invalid=Das Spiegel-Intervall ist ungültig.
mirror_address=Klonen via URL
mirror_address_desc=Gib alle erforderlichen Anmeldedaten im Abschnitt "Authentifizierung" ein.
@ -932,7 +935,7 @@ form.name_pattern_not_allowed='%s' ist nicht erlaubt für Repository-Namen.
need_auth=Authentifizierung
migrate_options=Migrationsoptionen
migrate_service=Migrationsdienst
migrate_options_mirror_helper=Dieses Repository wird ein <span class="text blue">Mirror</span> sein
migrate_options_mirror_helper=Dieses Repository wird ein Spiegel sein
migrate_options_lfs=LFS-Dateien migrieren
migrate_options_lfs_endpoint.label=LFS-Endpunkt
migrate_options_lfs_endpoint.description=Migration wird versuchen, über den entfernten Git-Server <a target="_blank" rel="noopener noreferrer" href="%s">den LFS-Server zu bestimmen</a>. Du kannst auch einen eigenen Endpunkt angeben, wenn die LFS-Dateien woanders gespeichert werden.
@ -972,7 +975,7 @@ migrate.gogs.description=Daten von notabug.org oder anderen Gogs Instanzen migri
migrate.onedev.description=Daten von code.onedev.io oder anderen OneDev Instanzen migrieren.
migrate.codebase.description=Daten von codebasehq.com migrieren.
migrate.gitbucket.description=Daten von GitBucket Instanzen migrieren.
migrate.migrating_git=Git Daten werden migriert
migrate.migrating_git=Git-Daten werden migriert
migrate.migrating_topics=Themen werden migriert
migrate.migrating_milestones=Meilensteine werden migriert
migrate.migrating_labels=Labels werden migriert
@ -1034,13 +1037,7 @@ file_view_rendered=Ansicht rendern
file_view_raw=Originalformat anzeigen
file_permalink=Permalink
file_too_large=Die Datei ist zu groß zum Anzeigen.
bidi_bad_header=`Diese Datei enthält unerwartete Bidirektionale Unicode-Zeichen!`
bidi_bad_description=`Diese Datei enthält unerwartete Bidirektionale Unicode-Zeichen, die anders verarbeitet werden können als nachstehend angezeigt. Wenn dein Anwendungsfall absichtlich und legitim ist, kannst du diese Warnung ignorieren. Benutze den "Escape" Button, um versteckte Zeichen anzuzeigen.`
bidi_bad_description_escaped=`Diese Datei enthält unerwartete Unicode-Zeichen. Versteckte Unicode-Zeichen werden unten escaped. Benutze den "Unescapen" Button, um zu sehen, wie sie ansonsten aussehen.`
unicode_header=`Diese Datei enthält versteckte Unicode-Zeichen!`
unicode_description=`Diese Datei enthält versteckte Unicode-Zeichen, die anders verarbeitet werden können als unten angezeigt. Wenn dein Anwendungsfall absichtlich und legitim ist, kannst du diese Warnung ignorieren. Benutze den Escape Button, um versteckte Zeichen anzuzeigen.`
unicode_description_escaped=`Diese Datei enthält versteckte Unicode-Zeichen. Versteckte Unicode-Zeichen werden unten escaped. Benutze den "Unescapen" Button, um zu sehen, wie sie ansonsten aussehen.`
line_unicode=`Diese Zeile hat versteckte Unicode-Zeichen`
ambiguous_character=`%[1]c [U+%04[1]X] kann mit %[2]c [U+%04[2]X] verwechselt werden`
escape_control_characters=Escapen
unescape_control_characters=Unescapen
@ -1267,6 +1264,8 @@ issues.filter_milestone=Meilenstein
issues.filter_milestone_no_select=Alle Meilensteine
issues.filter_assignee=Zuständig
issues.filter_assginee_no_select=Alle Zuständigen
issues.filter_poster=Autor
issues.filter_poster_no_select=Alle Autoren
issues.filter_type=Typ
issues.filter_type.all_issues=Alle Issues
issues.filter_type.assigned_to_you=Dir zugewiesen
@ -1304,6 +1303,7 @@ issues.previous=Vorherige
issues.next=Nächste
issues.open_title=Offen
issues.closed_title=Geschlossen
issues.draft_title=Entwurf
issues.num_comments=%d Kommentare
issues.commented_at=`hat <a href="#%s">%s</a> kommentiert`
issues.delete_comment_confirm=Bist du sicher dass du diesen Kommentar löschen möchtest?
@ -1420,7 +1420,7 @@ issues.due_date_form_remove=Entfernen
issues.due_date_not_writer=Du musst Schreibrechte in diesem Repository haben, um das Fälligkeitsdatum zu ändern.
issues.due_date_not_set=Kein Fälligkeitsdatum gesetzt.
issues.due_date_added=hat %[2]s das Fälligkeitsdatum %[1]s hinzugefügt
issues.due_date_modified=hat %[3]s das Fälligkeitsdatum von %[2]s zu %[1]s geändert
issues.due_date_modified=ändert das Abgabedatum von %[2]s auf %[1]s %[3]s s
issues.due_date_remove=hat %[2]s das Fälligkeitsdatum %[1]s entfernt
issues.due_date_overdue=Überfällig
issues.due_date_invalid=Das Fälligkeitsdatum ist ungültig oder außerhalb des zulässigen Bereichs. Bitte verwende das Format „jjjj-mm-tt“.
@ -1517,7 +1517,7 @@ pulls.tab_conversation=Diskussion
pulls.tab_commits=Commits
pulls.tab_files=Geänderte Dateien
pulls.reopen_to_merge=Bitte diesen Pull-Request wieder öffnen, um zu mergen.
pulls.cant_reopen_deleted_branch=Dieser Pull-Request kann nicht wieder geöffnet werden, da die Branche bereits gelöscht wurde.
pulls.cant_reopen_deleted_branch=Dieser Pull-Request kann nicht wieder geöffnet werden, da die Branch bereits gelöscht wurde.
pulls.merged=Zusammengeführt
pulls.merged_as=Der Pull Request wurde als <a rel="nofollow" class="ui sha" href="%[1]s"><code>%[2]s</code></a> gemergt.
pulls.manually_merged=Manuell gemergt
@ -1532,7 +1532,7 @@ pulls.remove_prefix=<strong>%s</strong> Präfix entfernen
pulls.data_broken=Dieser Pull-Requests ist kaputt, da Fork-Informationen gelöscht wurden.
pulls.files_conflicted=Dieser Pull-Request hat Änderungen, die im Widerspruch zum Ziel-Branch stehen.
pulls.is_checking=Die Konfliktprüfung läuft noch. Bitte aktualisiere die Seite in wenigen Augenblicken.
pulls.is_empty=Dieser Branch ist gleich mit dem Zielbranch.
pulls.is_ancestor=Dieser Branch ist bereits im Zielbranch enthalten. Es gibt nichts zu mergen.
pulls.required_status_check_failed=Einige erforderliche Prüfungen waren nicht erfolgreich.
pulls.required_status_check_missing=Einige erforderliche Prüfungen fehlen.
pulls.required_status_check_administrator=Als Administrator kannst du diesen Pull-Request weiterhin zusammenführen.
@ -1611,6 +1611,9 @@ pulls.auto_merge_canceled_schedule=Der Automerge dieses Pull-Requests wurde abge
pulls.auto_merge_newly_scheduled_comment=`hat einen Automerge für diesen Pull-Request %[1]s geplant`
pulls.auto_merge_canceled_schedule_comment=`hat den Automerge für diesen Pull-Request %[1]s abgebrochen`
pulls.delete.title=Diesen Pull-Request löschen?
pulls.delete.text=Willst du diesen Pull-Request wirklich löschen? (Dies wird den Inhalt unwiderruflich löschen. Überlege, ob du ihn nicht lieber schließen willst, um ihn zu archivieren)
milestones.new=Neuer Meilenstein
milestones.closed=Geschlossen %s
milestones.update_ago=Vor %s aktualisiert
@ -1780,10 +1783,6 @@ settings.mirror_settings.push_mirror.remote_url=URL zum Git-Remote-Repository
settings.mirror_settings.push_mirror.add=Push-Mirror hinzufügen
settings.sync_mirror=Jetzt synchronisieren
settings.mirror_sync_in_progress=Mirror-Synchronisierung wird zurzeit ausgeführt. Komm in ein paar Minuten zurück.
settings.email_notifications.enable=E-Mail Benachrichtigungen aktivieren
settings.email_notifications.onmention=E-Mail-Benachrichtigungen nur bei Erwähnung
settings.email_notifications.disable=E-Mail Benachrichtigungen deaktivieren
settings.email_notifications.submit=E-Mail-Einstellungen festlegen
settings.site=Webseite
settings.update_settings=Einstellungen speichern
settings.branches.update_default_branch=Standardbranch aktualisieren
@ -2341,7 +2340,7 @@ settings.delete_prompt=Die Organisation wird dauerhaft gelöscht. Dies <strong>K
settings.confirm_delete_account=Löschen bestätigen
settings.delete_org_title=Organisation löschen
settings.delete_org_desc=Diese Organisation wird dauerhaft gelöscht. Fortfahren?
settings.hooks_desc=Webhooks hinzufügen, die für <strong>alle</strong> Repositories dieser Organisation ausgelöst werden.
settings.hooks_desc=Webhooks hinzufügen, die für <strong>alle</strong> Repositorys dieser Organisation ausgelöst werden.
settings.labels_desc=Labels hinzufügen, die für <strong>alle Repositories</strong> dieser Organisation genutzt werden können.
@ -2445,7 +2444,7 @@ dashboard.cron.error=Fehler in Cron: %s: %[3]s
dashboard.cron.finished=Cron: %[1]s ist beendet
dashboard.delete_inactive_accounts=Alle nicht aktivierten Konten löschen
dashboard.delete_inactive_accounts.started=Löschen aller nicht aktivierten Account-Aufgabe gestartet.
dashboard.delete_repo_archives=Lösche alle Repository Archive (ZIP, TAR.GZ, …)
dashboard.delete_repo_archives=Lösche alle Repository-Archive (ZIP, TAR.GZ, …)
dashboard.delete_repo_archives.started=Löschen aller Repository-Archive gestartet.
dashboard.delete_missing_repos=Alle Repository-Datensätze mit verloren gegangenen Git-Dateien löschen
dashboard.delete_missing_repos.started=Alle Repositories löschen, die die Git-Dateien-Aufgabe nicht gestartet haben.
@ -2534,8 +2533,9 @@ users.allow_create_organization=Darf Organisationen erstellen
users.update_profile=Benutzerkonto aktualisieren
users.delete_account=Benutzerkonto löschen
users.cannot_delete_self=Du kannst dich nicht selbst löschen
users.still_own_repo=Dieser Benutzer besitzt noch mindestens ein Repository. Bitte lösche oder übertrage diese zuerst.
users.still_own_repo=Dieser Benutzer besitzt noch mindestens ein Repository. Bitte lösche oder übertrage diese(s) zuerst.
users.still_has_org=Dieser Nutzer ist Mitglied einer Organisation. Du musst ihn zuerst aus allen Organisationen entfernen.
users.purge_help=Erzwinge das Löschen des Benutzers inklusive aller seiner Repositorys, Organisationen, Pakete und Kommentare.
users.still_own_packages=Dieser Benutzer besitzt noch ein oder mehrere Pakete. Lösche diese Pakete zuerst.
users.deletion_success=Der Account wurde gelöscht.
users.reset_2fa=2FA zurücksetzen
@ -2792,11 +2792,10 @@ config.queue_length=Warteschlangenlänge
config.deliver_timeout=Zeitlimit für Zustellung
config.skip_tls_verify=TLS-Verifikation überspringen
config.mailer_config=SMTP-Mailer-Konfiguration
config.mailer_enabled=Aktiviert
config.mailer_disable_helo=HELO deaktivieren
config.mailer_enable_helo=HELO aktivieren
config.mailer_name=Name
config.mailer_host=Host
config.mailer_protocol=Protokoll
config.mailer_user=Benutzer
config.mailer_use_sendmail=Sendmail benutzen
config.mailer_sendmail_path=Sendmail-Pfad
@ -2854,6 +2853,7 @@ config.access_log_template=Vorlage
config.xorm_log_mode=XORM Log-Modus
config.xorm_log_sql=SQL protokollieren
monitor.cron=Cron-Aufgaben
monitor.name=Name
monitor.schedule=Zeitplan
@ -3103,6 +3103,7 @@ npm.dependencies.development=Entwicklungsabhängigkeiten
npm.dependencies.peer=Peer Abhängigkeiten
npm.dependencies.optional=Optionale Abhängigkeiten
npm.details.tag=Tag
pub.install=Um das Paket mit Dart zu installieren, führe den folgenden Befehl aus:
pypi.requires=Erfordert Python
pypi.install=Nutze folgenden Befehl, um das Paket mit pip zu installieren:
pypi.documentation=Weitere Informationen zur PyPI-Paketverwaltung findest du in der <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">Dokumentation</a>.

View File

@ -9,7 +9,6 @@ sign_out=Έξοδος
sign_up=Εγγραφή
link_account=Σύνδεση λογαριασμού
register=Εγγραφή
website=Ιστοσελίδα
version=Έκδοση
powered_by=Με τη δύναμη του %s
page=Σελίδα
@ -47,7 +46,6 @@ webauthn_error_unable_to_process=Ο διακομιστής δεν μπόρεσε
webauthn_error_duplicated=Το κλειδί ασφαλείας δεν επιτρέπεται για αυτό το αίτημα. Βεβαιωθείτε ότι το κλειδί δεν έχει ήδη καταχωρηθεί.
webauthn_error_empty=Πρέπει να ορίσετε ένα όνομα για αυτό το κλειδί.
webauthn_error_timeout=Το χρονικό όριο έφτασε πριν το κλειδί να διαβαστεί. Παρακαλώ ανανεώστε τη σελίδα και προσπαθήστε ξανά.
webauthn_u2f_deprecated=Το κλειδί: '%s' πιστοποιεί χρησιμοποιώντας το παρωχημένο πρωτόκολλο U2F. Θα πρέπει να καταχωρήσετε ξανά αυτό το κλειδί και να καταργήσετε την παλιά εγγραφή.
webauthn_reload=Ανανέωση
repository=Αποθετήριο
@ -108,6 +106,8 @@ never=Ποτέ
rss_feed=Ροή RSS
[filter]
[error]
occurred=Παρουσιάστηκε ένα σφάλμα
report_message=Αν είστε σίγουροι ότι πρόκειται για ένα πρόβλημα στο Gitea, παρακαλώ αναζητήστε στα ζητήματα στο <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> ή ανοίξτε ένα νέο ζήτημα εάν είναι απαραίτητο.
@ -180,7 +180,8 @@ log_root_path_helper=Τα αρχεία καταγραφής θα γράφοντ
optional_title=Προαιρετικές Ρυθμίσεις
email_title=Ρυθμίσεις Email
smtp_host=Διακομιστής SMTP
smtp_addr=Διακομιστής SMTP
smtp_port=Θύρα SMTP
smtp_from=Αποστολή Email Ως
smtp_from_helper=Η διεύθυνση email που θα χρησιμοποιεί το Gitea. Εισάγετε μια απλή διεύθυνση ηλεκτρονικού ταχυδρομείου ή χρησιμοποιήστε τη μορφή "Όνομα" <email@example.com>.
mailer_user=Όνομα Χρήστη SMTP
@ -278,6 +279,9 @@ org_no_results=Δεν βρέθηκαν οργανισμοί που να ταιρ
code_no_results=Δεν βρέθηκε πηγαίος κώδικας που να ταιριάζει με τον όρο αναζήτησης.
code_search_results=Αποτελέσματα αναζήτησης για '%s'
code_last_indexed_at=Τελευταίο δημιουργία ευρετηρίου στις %s
relevant_repositories_tooltip=Τα αποθετήρια που είναι forks ή που δεν έχουν θέμα, εικονίδιο και περιγραφή είναι κρυμμένα.
relevant_repositories=Εμφανίζονται μόνο τα σχετικά αποθετήρια, <a href="%s">εμφάνιση χωρίς φίλτρο</a>.
[auth]
create_new_account=Εγγραφή Λογαριασμού
@ -407,6 +411,7 @@ repo.transfer.body=Για να το αποδεχτείτε ή να το απορ
repo.collaborator.added.subject=%s σας πρόσθεσε στο %s
repo.collaborator.added.text=Έχετε προστεθεί ως συνεργάτης του αποθετηρίου:
[modal]
yes=Ναι
no=Όχι
@ -443,6 +448,7 @@ size_error=`πρέπει να έχει μέγεθος %s.`
min_size_error=` πρέπει να περιέχει τουλάχιστον %s χαρακτήρες.`
max_size_error=` πρέπει να περιέχει το πολύ %s χαρακτήρες.`
email_error=` δεν είναι έγκυρη διεύθυνση email.`
url_error=`'%s' δεν είναι έγκυρο URL.`
include_error=` πρέπει να περιέχει τη σειρά χαρακτήρων '%s'.`
glob_pattern_error=` το μοτίβο ταιριάσματος (glob) δεν είναι έγκυρο: %s.`
regex_pattern_error=` το μοτίβο regex δεν είναι έγκυρο: %s.`
@ -799,6 +805,7 @@ email_notifications.enable=Ενεργοποίηση Ειδοποιήσεων Μ
email_notifications.onmention=Email Μόνο κατά την Αναφορά
email_notifications.disable=Απενεργοποίηση Ειδοποιήσεων μέσω Email
email_notifications.submit=Ορισμός Προτιμότερου Email
email_notifications.andyourown=Και Τις Δικές Σας Ειδοποιήσεις
visibility=Ορατότητα χρήστη
visibility.public=Δημόσια
@ -863,6 +870,7 @@ mirror_prune=Καθαρισμός
mirror_prune_desc=Αφαίρεση παρωχημένων αναφορών απομακρυσμένης-παρακολούθησης
mirror_interval=Διάστημα ανανέωσης ειδώλου (έγκυρες μονάδες ώρας είναι 'h', 'm', 's'). 0 για απενεργοποίηση του αυτόματου συγχρονισμού. (Ελάχιστο διάστημα: %s)
mirror_interval_invalid=Το χρονικό διάστημα του ειδώλου δεν είναι έγκυρο.
mirror_sync_on_commit=Συγχρονισμός κατά την ώθηση
mirror_address=Κλωνοποίηση Από Το URL
mirror_address_desc=Τοποθετήστε όλα τα απαιτούμενα διαπιστευτήρια στην ενότητα Εξουσιοδότηση.
mirror_address_url_invalid=Η διεύθυνση url που δώσατε δεν είναι έγκυρη. Πρέπει να μεταφράσετε όλα τα στοιχεία του url σωστά.
@ -931,7 +939,7 @@ form.name_pattern_not_allowed=Το μοτίβο '%s' δεν επιτρέπετα
need_auth=Εξουσιοδότηση
migrate_options=Επιλογές Μεταφοράς
migrate_service=Υπηρεσία Μεταφοράς
migrate_options_mirror_helper=Αυτό το αποθετήριο θα είναι ένα <span class="text blue">είδωλο</span>
migrate_options_mirror_helper=Αυτό το αποθετήριο θα είναι είδωλο
migrate_options_lfs=Μεταφορά αρχείων LFS
migrate_options_lfs_endpoint.label=LFS Endpoint
migrate_options_lfs_endpoint.description=Η μεταφορά θα προσπαθήσει να χρησιμοποιήσει το Git remote για να <a target="_blank" rel="noopener noreferrer" href="%s">καθορίσει τον διακομιστή LFS</a>. Μπορείτε επίσης να καθορίσετε ένα δικό σας endpoint αν τα δεδομένα LFS του αποθετηρίου αποθηκεύονται κάπου αλλού.
@ -1033,13 +1041,13 @@ file_view_rendered=Προβολή Απόδοσης
file_view_raw=Προβολή Ακατέργαστου
file_permalink=Permalink
file_too_large=Το αρχείο είναι πολύ μεγάλο για να εμφανιστεί.
bidi_bad_header=`Αυτό το αρχείο περιέχει μη αναμενόμενους χαρακτήρες Unicode!`
bidi_bad_description=`Αυτό το αρχείο περιέχει μη αναμενόμενους χαρακτήρες Bidirectional Unicode που ίσως να επεξεργάζονται διαφορετικά από ότι εμφανίζεται παρακάτω. Αν η χρήση αυτή είναι σκόπιμη και νόμιμη, μπορείτε να αγνοήσετε με ασφάλεια αυτή την προειδοποίηση. Χρησιμοποιήστε το κουμπί Escape για να αποκαλύψετε κρυμμένους χαρακτήρες.`
bidi_bad_description_escaped=`Αυτό το αρχείο περιέχει μη αναμενόμενους χαρακτήρες Bidirectional Unicode. Οι κρυμμένοι χαρακτήρες unicode εμφανίζονται κωδικοποιημένοι παρακάτω. Χρησιμοποιήστε το κουμπί Unescape για να δείτε πώς αποδίδονται.`
unicode_header=`Αυτό το αρχείο περιέχει κρυφούς χαρακτήρες Unicode!`
unicode_description=`Αυτό το αρχείο περιέχει κρυφούς χαρακτήρες Unicode που μπορεί να επεξεργάζονται διαφορετικά από όπως εμφανίζονται παρακάτω. Αν η χρήση είναι σκόπιμη και νόμιμη, μπορείτε να αγνοήσετε με ασφάλεια αυτή την προειδοποίηση. Χρησιμοποιήστε το κουμπί Escape για να αποκαλύψετε τους κρυφούς χαρακτήρες.`
unicode_description_escaped=`Αυτό το αρχείο περιέχει κρυφούς χαρακτήρες Unicode. Οι κρυφοί χαρακτήρες unicode εμφανίζονται κωδικοποιημένοι παρακάτω. Χρησιμοποιήστε το κουμπί Unescape για να δείτε πώς αποδίδονται.`
line_unicode=`Αυτή η γραμμή έχει κρυφούς χαρακτήρες unicode`
invisible_runes_header=`Αυτό το αρχείο περιέχει αόρατους χαρακτήρες Unicode!`
invisible_runes_description=`Αυτό το αρχείο περιέχει αόρατους χαρακτήρες Unicode που μπορεί να επεξεργάζονται διαφορετικά από ό, τι εμφανίζονται παρακάτω. Αν η περίπτωση χρήσης σας είναι σκόπιμη και νόμιμη, μπορείτε να αγνοήσετε με ασφάλεια αυτή την προειδοποίηση. Χρησιμοποιήστε το κουμπί Escape για να αποκαλύψετε κρυμμένους χαρακτήρες.`
ambiguous_runes_header=`Αυτό το αρχείο περιέχει ασαφείς χαρακτήρες Unicode!`
ambiguous_runes_description=`Αυτό το αρχείο περιέχει ασαφείς χαρακτήρες Unicode που μπορεί να συγχέονται με άλλους στην τοπική σας γλώσσα. Αν η περίπτωση χρήσης σας είναι σκόπιμη και νόμιμη, μπορείτε να αγνοήσετε με ασφάλεια αυτή την προειδοποίηση. Χρησιμοποιήστε το κουμπί Escape για να επισημάνετε αυτούς τους χαρακτήρες.`
invisible_runes_line=`Αυτή η γραμμή έχει αόρατους χαρακτήρες unicode `
ambiguous_runes_line=`Αυτή η γραμμή έχει ασαφείς χαρακτήρες unicode `
ambiguous_character=`ο %[1]c [U+%04[1]X] μπορεί να μπερδευτεί με τον %[2]c [U+%04[2]X]`
escape_control_characters=Escape
unescape_control_characters=Unescape
@ -1060,6 +1068,7 @@ normal_view=Κανονική Προβολή
line=γραμμή
lines=γραμμές
editor.add_file=Προσθήκη Αρχείου
editor.new_file=Νέο Αρχείο
editor.upload_file=Ανέβασμα Αρχείου
editor.edit_file=Επεξεργασία Αρχείου
@ -1176,7 +1185,7 @@ projects.type.basic_kanban=Βασικό Kanban
projects.type.bug_triage=Διαλογή Σφαλμάτων
projects.template.desc=Πρότυπο έργου
projects.template.desc_helper=Επιλέξτε ένα πρότυπο έργου για να ξεκινήσετε
projects.type.uncategorized=Αταξινόμητο
projects.type.uncategorized=Χωρίς Κατηγορία
projects.board.edit=Επεξεργασία πίνακα
projects.board.edit_title=Νέο Όνομα Πίνακα
projects.board.new_title=Νέο Όνομα Πίνακα
@ -1185,7 +1194,7 @@ projects.board.new=Νέος Πίνακας
projects.board.set_default=Ορισμός Προεπιλογής
projects.board.set_default_desc=Ορίστε αυτόν τον πίνακα ως προεπιλογή για μη κατηγοριοποιημένα ζητήματα και pull requests
projects.board.delete=Διαγραφή Πίνακα
projects.board.deletion_desc=Η διαγραφή ενός πίνακα έργου μετακινεί όλα τα σχετιζόμενα ζητήματα σε 'Αταξινόμητα'. Συνέχεια;
projects.board.deletion_desc=Η διαγραφή ενός πίνακα έργου μετακινεί όλα τα σχετιζόμενα ζητήματα σε 'Χωρίς Κατηγορία'. Συνέχεια;
projects.board.color=Χρώμα
projects.open=Άνοιγμα
projects.close=Κλείσιμο
@ -1225,6 +1234,8 @@ issues.new.add_reviewer_title=Αίτηση επανεξέτασης
issues.choose.get_started=Ας Αρχίσουμε
issues.choose.blank=Προεπιλογή
issues.choose.blank_about=Δημιουργήστε ένα ζήτημα από το προεπιλεγμένο πρότυπο.
issues.choose.ignore_invalid_templates=Μη έγκυρα πρότυπα έχουν αγνοηθεί
issues.choose.invalid_templates=%v βρέθηκε μη έγκυρο πρότυπο(α)
issues.no_ref=Δεν Έχει Οριστεί Κλάδος/Ετικέτα
issues.create=Δημιουργία Ζητήματος
issues.new_label=Νέο Σήμα
@ -1265,6 +1276,8 @@ issues.filter_milestone=Ορόσημο
issues.filter_milestone_no_select=Όλα τα ορόσημα
issues.filter_assignee=Αποδέκτης
issues.filter_assginee_no_select=Όλοι οι αποδέκτες
issues.filter_poster=Συγγραφέας
issues.filter_poster_no_select=Όλοι οι συγγραφείς
issues.filter_type=Τύπος
issues.filter_type.all_issues=Όλα τα ζητήματα
issues.filter_type.assigned_to_you=Ανατέθηκαν σε εσάς
@ -1275,7 +1288,7 @@ issues.filter_sort=Ταξινόμηση
issues.filter_sort.latest=Νεότερα
issues.filter_sort.oldest=Παλαιότερα
issues.filter_sort.recentupdate=Ενημερώθηκαν πρόσφατα
issues.filter_sort.leastupdate=Λιγότερο πρόσφατα ανανεωμένο
issues.filter_sort.leastupdate=Ενημερώθηκαν παλαιότερα
issues.filter_sort.mostcomment=Περισσότερο σχολιασμένα
issues.filter_sort.leastcomment=Λιγότερο σχολιασμένα
issues.filter_sort.nearduedate=Πλησιέστερη παράδοση
@ -1302,6 +1315,7 @@ issues.previous=Προηγούμενο
issues.next=Επόμενο
issues.open_title=Ανοιχτό
issues.closed_title=Κλειστό
issues.draft_title=Προσχέδιο
issues.num_comments=%d σχόλια
issues.commented_at=`σχολίασε <a href="#%s">%s</a>`
issues.delete_comment_confirm=Θέλετε σίγουρα να διαγράψετε αυτό το σχόλιο;
@ -1418,7 +1432,7 @@ issues.due_date_form_remove=Διαγραφή
issues.due_date_not_writer=Χρειάζεστε πρόσβαση εγγραφής στο αποθετήριο για να ενημερώσετε την ημερομηνία λήξης ενός ζητήματος.
issues.due_date_not_set=Δεν ορίστηκε ημερομηνία παράδοσης.
issues.due_date_added=πρόσθεσε την ημερομηνία παράδοσης %s %s
issues.due_date_modified=τροποποίησε την ημερομηνία παράδοσης σε %s από %s %s
issues.due_date_modified=τροποποίησε την ημερομηνία παράδοσης από %[2]s σε %[1]s %[3]s
issues.due_date_remove=αφαίρεσε την ημερομηνία παράδοσης %s %s
issues.due_date_overdue=Εκπρόθεσμο
issues.due_date_invalid=Η ημερομηνία παράδοσης δεν είναι έγκυρη ή εκτός εύρους. Παρακαλούμε χρησιμοποιήστε τη μορφή 'εεεε-μμ-ηη'.
@ -1530,7 +1544,8 @@ pulls.remove_prefix=Αφαίρεση <strong>%s</strong> προθέματος
pulls.data_broken=Αυτό το pull request είναι κατεστραμμένο λόγω των πληροφοριών του fork που λείπουν.
pulls.files_conflicted=Αυτό το pull request περιέχει αλλαγές που συγκρούονται με το κλάδο προορισμού.
pulls.is_checking=Ο έλεγχος συγκρούσεων κατά την συγχώνευση είναι σε εξέλιξη. Δοκιμάστε ξανά σε λίγα λεπτά.
pulls.is_empty=Αυτός ο κλάδος είναι ίσος με τον κλάδο-στόχο.
pulls.is_ancestor=Αυτός ο κλάδος περιλαμβάνεται ήδη στον κλάδο προορισμού. Δεν υπάρχει τίποτα για συγχώνευση.
pulls.is_empty=Οι αλλαγές σε αυτόν τον κλάδο είναι ήδη στον κλάδο προορισμού. Θα είναι μια κενή υποβολή.
pulls.required_status_check_failed=Ορισμένοι απαιτούμενοι έλεγχοι δεν ήταν επιτυχείς.
pulls.required_status_check_missing=Λείπουν ορισμένοι απαιτούμενοι έλεγχοι.
pulls.required_status_check_administrator=Ως διαχειριστής, μπορείτε ακόμα να συγχωνεύσετε αυτό το pull request.
@ -1597,8 +1612,20 @@ pulls.merge_instruction_hint=`Μπορείτε επίσης να δείτε <a c
pulls.merge_instruction_step1_desc=Από το αποθετήριο του έργου σας, ελέγξτε έναν νέο κλάδο και τεστάρετε τις αλλαγές.
pulls.merge_instruction_step2_desc=Συγχώνευσε τις αλλαγές και ενημέρωσε στο Gitea.
pulls.auto_merge_button_when_succeed=(Όταν οι έλεγχοι πετύχουν)
pulls.auto_merge_when_succeed=Αυτόματη συγχώνευση όταν όλοι οι έλεγχοι πετύχουν
pulls.auto_merge_newly_scheduled=Το pull request προγραμματίστηκε για συγχώνευση όταν όλοι οι έλεγχοι πετύχουν.
pulls.auto_merge_has_pending_schedule=%[1]s προγραμμάτισε αυτό το pull request για αυτόματη συγχώνευση όταν όλοι οι έλεγχοι πετύχουν %[2]s.
pulls.auto_merge_cancel_schedule=Ακύρωση αυτόματης συγχώνευσης
pulls.auto_merge_not_scheduled=Αυτό το pull request δεν έχει προγραμματιστεί να συγχωνευτεί αυτόματα.
pulls.auto_merge_canceled_schedule=Η αυτόματη συγχώνευση ακυρώθηκε για αυτό το pull request.
pulls.auto_merge_newly_scheduled_comment=`προγραμμάτισε αυτό το PR να συγχωνευτεί αυτόματα όταν όλοι οι έλεγχοι πετύχουν %[1]s`
pulls.auto_merge_canceled_schedule_comment=`ακύρωσε την αυτόματη συγχώνευση αυτού του pull request όταν όλοι οι έλεγχοι πετύχουν %[1]s`
pulls.delete.title=Διαγραφή αυτού του pull request;
pulls.delete.text=Θέλετε πραγματικά να διαγράψετε αυτό το pull request; (Αυτό θα αφαιρέσει μόνιμα όλο το περιεχόμενο. Κλείστε το, αν σκοπεύετε να το κρατήσετε αρχειοθετημένο)
milestones.new=Νέο Ορόσημο
milestones.closed=Έκλεισε %s
@ -1769,10 +1796,6 @@ settings.mirror_settings.push_mirror.remote_url=URL Απομακρυσμένου
settings.mirror_settings.push_mirror.add=Προσθήκη Είδωλου Push
settings.sync_mirror=Συγχρονισμός Τώρα
settings.mirror_sync_in_progress=Ο συγχρονισμός ειδώλου είναι σε εξέλιξη. Ελέγξτε ξανά σε λίγο.
settings.email_notifications.enable=Ενεργοποίηση Ειδοποιήσεων Email
settings.email_notifications.onmention=Email Μόνο σε Αναφορά
settings.email_notifications.disable=Απενεργοποίηση Ειδοποιήσεων Email
settings.email_notifications.submit=Ορισμός Προτίμησης Email
settings.site=Ιστοσελίδα
settings.update_settings=Ενημέρωση Ρυθμίσεων
settings.branches.update_default_branch=Ενημέρωση Προεπιλεγμένου Κλάδου
@ -1794,6 +1817,9 @@ settings.tracker_url_format_error=Η μορφή URL της εξωτερικής
settings.tracker_issue_style=Αρίθμηση Εξωτερικής Υπηρεσίας Ζητημάτων
settings.tracker_issue_style.numeric=Αριθμητικό
settings.tracker_issue_style.alphanumeric=Αλφαριθμητικό
settings.tracker_issue_style.regexp=Κανονική Έκφραση
settings.tracker_issue_style.regexp_pattern=Μοτίβο Κανονικής Έκφρασης
settings.tracker_issue_style.regexp_pattern_desc=Η πρώτη ομάδα θα χρησιμοποιηθεί στη θέση του <code>{index}</code>.
settings.tracker_url_format_desc=Χρησιμοποιήστε τα <code>{user}</code>, <code>{repo}</code> και <code>{index}</code> για το όνομα χρήστη, το όνομα αποθετηρίου και το ευρετήριο ζητημάτων.
settings.enable_timetracker=Ενεργοποίηση Καταγραφής Χρόνου
settings.allow_only_contributors_to_track_time=Μόνο οι Συμμετέχοντες να Καταγράφουν Χρόνο
@ -1933,6 +1959,8 @@ settings.event_delete=Διαγραφή
settings.event_delete_desc=Ο κλάδος ή η ετικέτα διαγράφηκε.
settings.event_fork=Fork
settings.event_fork_desc=Το αποθετήριο έγινε fork.
settings.event_wiki=Wiki
settings.event_wiki_desc=Η σελίδα Wiki δημιουργήθηκε, μετονομάστηκε, επεξεργάστηκε ή διαγράφηκε.
settings.event_release=Έκδοση
settings.event_release_desc=Η έκδοση δημοσιεύτηκε, ενημερώθηκε ή διαγράφηκε από ένα αποθετήριο.
settings.event_push=Push
@ -2522,6 +2550,8 @@ users.delete_account=Διαγραφή Λογαριασμού Χρήστη
users.cannot_delete_self=Δεν μπορείτε να διαγράψετε τον εαυτό σας
users.still_own_repo=Αυτός ο χρήστης εξακολουθεί να κατέχει ένα ή περισσότερα αποθετήρια. Διαγράψτε ή μεταφέρετε αυτά τα αποθετήρια πρώτα.
users.still_has_org=Αυτός ο χρήστης είναι μέλος ενός οργανισμού. Αφαιρέστε πρώτα τον χρήστη από οποιονδήποτε οργανισμό.
users.purge=Εκκαθάριση Χρήστη
users.purge_help=Αναγκαστική διαγραφή χρήστη και των αποθετηρίων, οργανισμών και πακέτων που του ανήκουν. Όλα τα σχόλια επίσης θα διαγραφούν.
users.still_own_packages=Αυτός ο χρήστης εξακολουθεί να κατέχει ένα ή περισσότερα πακέτα. Διαγράψτε πρώτα αυτά τα πακέτα.
users.deletion_success=Ο λογαριασμός χρήστη έχει διαγραφεί.
users.reset_2fa=Επαναφορά 2FA
@ -2778,16 +2808,19 @@ config.queue_length=Μέγεθος Ουράς
config.deliver_timeout=Χρονικό Όριο Παράδοσης
config.skip_tls_verify=Παράλειψη Επαλήθευσης TLS
config.mailer_config=Ρυθμίσεις SMTP Mailer
config.mailer_config=Ρυθμίσεις Αλληλογραφίας
config.mailer_enabled=Ενεργοποιημένο
config.mailer_disable_helo=Απενεργοποίηση HELO
config.mailer_enable_helo=Ενεργοποίηση HELO
config.mailer_name=Όνομα
config.mailer_host=Διακομιστής
config.mailer_protocol=Πρωτόκολλο
config.mailer_smtp_addr=Διευθ SMTP
config.mailer_smtp_port=Θύρα SMTP
config.mailer_user=Χρήστης
config.mailer_use_sendmail=Χρήση Sendmail
config.mailer_sendmail_path=Διαδρομή Sendmail
config.mailer_sendmail_args=Επιπλέον παράμετροι για το Sendmail
config.mailer_sendmail_timeout=Χρονικό Όριο Sendmail
config.mailer_use_dummy=Ψεύτικο
config.test_email_placeholder=Email (π.χ. test@example.com)
config.send_test_mail=Αποστολή Δοκιμαστικού Email
config.test_mail_failed=Αποτυχία αποστολής δοκιμαστικού email στο'%s': %v
@ -2840,6 +2873,7 @@ config.access_log_template=Πρότυπο
config.xorm_log_mode=Λειτουργία Καταγραφών XORM
config.xorm_log_sql=Καταγραφή SQL
monitor.cron=Προγραμματισμένες Εργασίες
monitor.name=Όνομα
monitor.schedule=Πρόγραμμα
@ -2872,6 +2906,7 @@ monitor.queue.nopool.title=Χωρίς Δεξαμενή Εργατών
monitor.queue.nopool.desc=Αυτή η ουρά συμπεριλαμβάνει άλλες ουρές και δεν έχει η ίδια δεξαμενή εργατών.
monitor.queue.wrapped.desc=Μια ουρά συμπερίληψης, περιλαμβάνει μια ουρά αργής εκκίνησης, κρατώντας προσωρινά τις αιτήσεις πού βρίσκονται στην ουρά, μέσα σε ένα κανάλι. Δεν διαθέτει μια δεξαμενή εργατών.
monitor.queue.persistable-channel.desc=Ένα ανθεκτικό-κανάλι περιλαμβάνει δύο ουρές, μια ουρά καναλιών που έχει τη δική του δεξαμενή εργατών και μια ουρά επιπέδου για κρατημένα αιτήματα από προηγούμενες απενεργοποιήσεις. Δεν έχει το ίδιο δεξαμενή εργατών.
monitor.queue.flush=Εκκαθάριση εργάτη
monitor.queue.pool.timeout=Λήξη ορίου χρόνου
monitor.queue.pool.addworkers.title=Προσθήκη Εργατών
monitor.queue.pool.addworkers.submit=Προσθήκη Εργατών
@ -3024,6 +3059,7 @@ title=Πακέτα
desc=Διαχείριση πακέτων μητρώου.
empty=Δεν υπάρχουν πακέτα ακόμα.
empty.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο πακέτων, ανατρέξτε <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/overview">στην τεκμηρίωση</a>.
empty.repo=Μήπως ανεβάσατε ένα πακέτο, αλλά δεν εμφανίζεται εδώ; Πηγαίνετε στις <a href="%[1]s">ρυθμίσεις πακέτων</a> και συνδέστε το σε αυτό το αποθετήριο.
filter.type=Τύπος
filter.type.all=Όλα
filter.no_result=Το φίλτρο δεν παρήγαγε αποτελέσματα.
@ -3089,6 +3125,10 @@ npm.dependencies.development=Εξαρτήσεις Ανάπτυξης
npm.dependencies.peer=Εξαρτήσεις Ομότιμου
npm.dependencies.optional=Προαιρετικές Εξαρτήσεις
npm.details.tag=Σήμανση
pub.install=Για να εγκαταστήσετε το πακέτο μέσω του Dart, εκτελέστε την ακόλουθη εντολή:
pub.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο Pub, ανατρέξτε <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">στην τεκμηρίωση</a>.
pub.details.repository_site=Ιστοσελίδα Αποθετηρίου
pub.details.documentation_site=Ιστοσελίδα Τεκμηρίωσης
pypi.requires=Απαιτεί Python
pypi.install=Για να εγκαταστήσετε το πακέτο χρησιμοποιώντας το pip, εκτελέστε την ακόλουθη εντολή:
pypi.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο PyPI, ανατρέξτε <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">στην τεκμηρίωση</a>.
@ -3099,6 +3139,8 @@ rubygems.dependencies.development=Εξαρτήσεις Ανάπτυξης
rubygems.required.ruby=Απαιτεί την έκδοση Ruby
rubygems.required.rubygems=Απαιτεί έκδοση RubyGem
rubygems.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο RubyGems, ανατρέξτε <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">στην τεκμηρίωση</a>.
vagrant.install=Για προσθήκη ενός κυτίου Vagrant, εκτελέστε την ακόλουθη εντολή:
vagrant.documentation=Για περισσότερες πληροφορίες σχετικά με το μητρώο του Vagrant, ανατρέξτε <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">στην τεκμηρίωση</a>.
settings.link=Σύνδεση αυτού του πακέτου με ένα αποθετήριο
settings.link.description=Εάν συνδέσετε ένα πακέτο με ένα αποθετήριο, το πακέτο περιλαμβάνεται στη λίστα πακέτων του αποθετηρίου.
settings.link.select=Επιλογή Αποθετηρίου

View File

@ -9,7 +9,6 @@ sign_out = Sign Out
sign_up = Register
link_account = Link Account
register = Register
website = Website
version = Version
powered_by = Powered by %s
page = Page
@ -47,7 +46,6 @@ webauthn_error_unable_to_process = The server could not process your request.
webauthn_error_duplicated = The security key is not permitted for this request. Please make sure that the key is not already registered.
webauthn_error_empty = You must set a name for this key.
webauthn_error_timeout = Timeout reached before your key could be read. Please reload this page and retry.
webauthn_u2f_deprecated = The key: '%s' authenticates using the deprecated U2F process. You should re-register this key and remove the old registration.
webauthn_reload = Reload
repository = Repository
@ -108,6 +106,10 @@ never = Never
rss_feed = RSS Feed
[filter]
string.asc = A - Z
string.desc = Z - A
[error]
occurred = An error occurred
report_message = If you are sure this is a Gitea bug, please search for issues on <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> or open a new issue if necessary.
@ -180,7 +182,8 @@ log_root_path_helper = Log files will be written to this directory.
optional_title = Optional Settings
email_title = Email Settings
smtp_host = SMTP Host
smtp_addr = SMTP Host
smtp_port = SMTP Port
smtp_from = Send Email As
smtp_from_helper = Email address Gitea will use. Enter a plain email address or use the "Name" <email@example.com> format.
mailer_user = SMTP Username
@ -269,8 +272,11 @@ users = Users
organizations = Organizations
search = Search
code = Code
search.type.tooltip = Search type
search.fuzzy = Fuzzy
search.fuzzy.tooltip = Include results that also matches the search term closely
search.match = Match
search.match.tooltip = Include only results that matches the exact search term
code_search_unavailable = Currently code search is not available. Please contact your site administrator.
repo_no_results = No matching repositories found.
user_no_results = No matching users found.
@ -278,6 +284,9 @@ org_no_results = No matching organizations found.
code_no_results = No source code matching your search term found.
code_search_results = Search results for '%s'
code_last_indexed_at = Last indexed %s
relevant_repositories_tooltip = Repositories that are forks or that have no topic, no icon, and no description are hidden.
relevant_repositories = Only relevant repositories are being shown, <a href="%s">show unfiltered results</a>.
[auth]
create_new_account = Register Account
@ -407,6 +416,11 @@ repo.transfer.body = To accept or reject it visit %s or just ignore it.
repo.collaborator.added.subject = %s added you to %s
repo.collaborator.added.text = You have been added as a collaborator of repository:
team_invite.subject = %[1]s has invited you to join the %[2]s organization
team_invite.text_1 = %[1]s has invited you to join team %[2]s in organization %[3]s.
team_invite.text_2 = Please click the following link to join the team:
team_invite.text_3 = Note: This invitation was intended for %[1]s. If you were not expecting this invitation, you can ignore this email.
[modal]
yes = Yes
no = No
@ -482,6 +496,8 @@ user_not_exist = The user does not exist.
team_not_exist = The team does not exist.
last_org_owner = You cannot remove the last user from the 'owners' team. There must be at least one owner for an organization.
cannot_add_org_to_team = An organization cannot be added as a team member.
duplicate_invite_to_team = The user was already invited as a team member.
organization_leave_success = You have successfully left the organization %s.
invalid_ssh_key = Can not verify your SSH key: %s
invalid_gpg_key = Can not verify your GPG key: %s
@ -505,6 +521,7 @@ activity = Public Activity
followers = Followers
starred = Starred Repositories
watched = Watched Repositories
code = Code
projects = Projects
following = Following
follow = Follow
@ -733,9 +750,7 @@ create_oauth2_application_button = Create Application
create_oauth2_application_success = You've successfully created a new OAuth2 application.
update_oauth2_application_success = You've successfully updated the OAuth2 application.
oauth2_application_name = Application Name
oauth2_select_type = Which application type fits?
oauth2_type_web = Web (e.g. Node.JS, Tomcat, Go)
oauth2_type_native = Native (e.g. Mobile, Desktop, Browser)
oauth2_confidential_client = Confidential Client. Select for apps that keep the secret confidential, such as web apps. Do not select for native apps including desktop and mobile apps.
oauth2_redirect_uri = Redirect URI
save_application = Save
oauth2_client_id = Client ID
@ -800,6 +815,7 @@ email_notifications.enable = Enable Email Notifications
email_notifications.onmention = Only Email on Mention
email_notifications.disable = Disable Email Notifications
email_notifications.submit = Set Email Preference
email_notifications.andyourown = And Your Own Notifications
visibility = User visibility
visibility.public = Public
@ -862,8 +878,9 @@ default_branch = Default Branch
default_branch_helper = The default branch is the base branch for pull requests and code commits.
mirror_prune = Prune
mirror_prune_desc = Remove obsolete remote-tracking references
mirror_interval = Mirror Interval (valid time units are 'h', 'm', 's'). 0 to disable automatic sync. (Minimum interval: %s)
mirror_interval = Mirror Interval (valid time units are 'h', 'm', 's'). 0 to disable periodic sync. (Minimum interval: %s)
mirror_interval_invalid = The mirror interval is not valid.
mirror_sync_on_commit = Sync when commits are pushed
mirror_address = Clone From URL
mirror_address_desc = Put any required credentials in the Authorization section.
mirror_address_url_invalid = The provided url is invalid. You must escape all components of the url correctly.
@ -932,7 +949,7 @@ form.name_pattern_not_allowed = The pattern '%s' is not allowed in a repository
need_auth = Authorization
migrate_options = Migration Options
migrate_service = Migration Service
migrate_options_mirror_helper = This repository will be a <span class="text blue">mirror</span>
migrate_options_mirror_helper = This repository will be a mirror
migrate_options_lfs = Migrate LFS files
migrate_options_lfs_endpoint.label = LFS Endpoint
migrate_options_lfs_endpoint.description = Migration will attempt to use your Git remote to <a target="_blank" rel="noopener noreferrer" href="%s">determine the LFS server</a>. You can also specify a custom endpoint if the repository LFS data is stored somewhere else.
@ -1034,13 +1051,13 @@ file_view_rendered = View Rendered
file_view_raw = View Raw
file_permalink = Permalink
file_too_large = The file is too large to be shown.
bidi_bad_header = `This file contains unexpected Bidirectional Unicode characters!`
bidi_bad_description = `This file contains unexpected Bidirectional Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.`
bidi_bad_description_escaped = `This file contains unexpected Bidirectional Unicode characters. Hidden unicode characters are escaped below. Use the Unescape button to show how they render.`
unicode_header = `This file contains hidden Unicode characters!`
unicode_description = `This file contains hidden Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.`
unicode_description_escaped = `This file contains hidden Unicode characters. Hidden unicode characters are escaped below. Use the Unescape button to show how they render.`
line_unicode = `This line has hidden unicode characters`
invisible_runes_header = `This file contains invisible Unicode characters!`
invisible_runes_description = `This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.`
ambiguous_runes_header = `This file contains ambiguous Unicode characters!`
ambiguous_runes_description = `This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.`
invisible_runes_line = `This line has invisible unicode characters`
ambiguous_runes_line = `This line has ambiguous unicode characters`
ambiguous_character = `%[1]c [U+%04[1]X] is confusable with %[2]c [U+%04[2]X]`
escape_control_characters = Escape
unescape_control_characters = Unescape
@ -1227,6 +1244,8 @@ issues.new.add_reviewer_title = Request review
issues.choose.get_started = Get Started
issues.choose.blank = Default
issues.choose.blank_about = Create an issue from default template.
issues.choose.ignore_invalid_templates = Invalid templates have been ignored
issues.choose.invalid_templates = %v invalid template(s) found
issues.no_ref = No Branch/Tag Specified
issues.create = Create Issue
issues.new_label = New Label
@ -1267,6 +1286,8 @@ issues.filter_milestone = Milestone
issues.filter_milestone_no_select = All milestones
issues.filter_assignee = Assignee
issues.filter_assginee_no_select = All assignees
issues.filter_poster = Author
issues.filter_poster_no_select = All authors
issues.filter_type = Type
issues.filter_type.all_issues = All issues
issues.filter_type.assigned_to_you = Assigned to you
@ -1304,6 +1325,7 @@ issues.previous = Previous
issues.next = Next
issues.open_title = Open
issues.closed_title = Closed
issues.draft_title = Draft
issues.num_comments = %d comments
issues.commented_at = `commented <a href="#%s">%s</a>`
issues.delete_comment_confirm = Are you sure you want to delete this comment?
@ -1612,6 +1634,9 @@ pulls.auto_merge_canceled_schedule = The auto merge was canceled for this pull r
pulls.auto_merge_newly_scheduled_comment = `scheduled this pull request to auto merge when all checks succeed %[1]s`
pulls.auto_merge_canceled_schedule_comment = `canceled auto merging this pull request when all checks succeed %[1]s`
pulls.delete.title = Delete this pull request?
pulls.delete.text = Do you really want to delete this pull request? (This will permanently remove all content. Consider closing it instead, if you intend to keep it archived)
milestones.new = New Milestone
milestones.closed = Closed %s
milestones.update_ago = Updated %s ago
@ -1751,8 +1776,11 @@ activity.git_stats_deletion_n = %d deletions
search = Search
search.search_repo = Search repository
search.type.tooltip = Search type
search.fuzzy = Fuzzy
search.fuzzy.tooltip = Include results that also matches the search term closely
search.match = Match
search.match.tooltip = Include only results that matches the exact search term
search.results = Search results for "%s" in <a href="%s">%s</a>
search.code_no_results = No source code matching your search term found.
search.code_search_unavailable = Currently code search is not available. Please contact your site administrator.
@ -1781,10 +1809,6 @@ settings.mirror_settings.push_mirror.remote_url = Git Remote Repository URL
settings.mirror_settings.push_mirror.add = Add Push Mirror
settings.sync_mirror = Synchronize Now
settings.mirror_sync_in_progress = Mirror synchronization is in progress. Check back in a minute.
settings.email_notifications.enable = Enable Email Notifications
settings.email_notifications.onmention = Only Email on Mention
settings.email_notifications.disable = Disable Email Notifications
settings.email_notifications.submit = Set Email Preference
settings.site = Website
settings.update_settings = Update Settings
settings.branches.update_default_branch = Update Default Branch
@ -1890,6 +1914,7 @@ settings.confirm_delete = Delete Repository
settings.add_collaborator = Add Collaborator
settings.add_collaborator_success = The collaborator has been added.
settings.add_collaborator_inactive_user = Can not add an inactive user as a collaborator.
settings.add_collaborator_owner = Can not add an owner as a collaborator.
settings.add_collaborator_duplicate = The collaborator is already added to this repository.
settings.delete_collaborator = Remove
settings.collaborator_deletion = Remove Collaborator
@ -1948,6 +1973,8 @@ settings.event_delete = Delete
settings.event_delete_desc = Branch or tag deleted.
settings.event_fork = Fork
settings.event_fork_desc = Repository forked.
settings.event_wiki = Wiki
settings.event_wiki_desc = Wiki page created, renamed, edited or deleted.
settings.event_release = Release
settings.event_release_desc = Release published, updated or deleted in a repository.
settings.event_push = Push
@ -2299,6 +2326,7 @@ create_org = Create Organization
repo_updated = Updated
people = People
teams = Teams
code = Code
lower_members = members
lower_repositories = repositories
create_new_team = New Team
@ -2383,6 +2411,8 @@ teams.members = Team Members
teams.update_settings = Update Settings
teams.delete_team = Delete Team
teams.add_team_member = Add Team Member
teams.invite_team_member = Invite to %s
teams.invite_team_member.list = Pending Invitations
teams.delete_team_title = Delete Team
teams.delete_team_desc = Deleting a team revokes repository access from its members. Continue?
teams.delete_team_success = The team has been deleted.
@ -2407,6 +2437,9 @@ teams.all_repositories_helper = Team has access to all repositories. Selecting t
teams.all_repositories_read_permission_desc = This team grants <strong>Read</strong> access to <strong>all repositories</strong>: members can view and clone repositories.
teams.all_repositories_write_permission_desc = This team grants <strong>Write</strong> access to <strong>all repositories</strong>: members can read from and push to repositories.
teams.all_repositories_admin_permission_desc = This team grants <strong>Admin</strong> access to <strong>all repositories</strong>: members can read from, push to and add collaborators to repositories.
teams.invite.title = You've been invited to join team <strong>%s</strong> in organization <strong>%s</strong>.
teams.invite.by = Invited by %s
teams.invite.description = Please click the button below to join the team.
[admin]
dashboard = Dashboard
@ -2537,6 +2570,8 @@ users.delete_account = Delete User Account
users.cannot_delete_self = "You cannot delete yourself"
users.still_own_repo = This user still owns one or more repositories. Delete or transfer these repositories first.
users.still_has_org = This user is a member of an organization. Remove the user from any organizations first.
users.purge = Purge User
users.purge_help = Forcibly delete user and any repositories, organizations, and packages owned by the user. All comments will be deleted too.
users.still_own_packages = This user still owns one or more packages. Delete these packages first.
users.deletion_success = The user account has been deleted.
users.reset_2fa = Reset 2FA
@ -2793,16 +2828,19 @@ config.queue_length = Queue Length
config.deliver_timeout = Deliver Timeout
config.skip_tls_verify = Skip TLS Verification
config.mailer_config = SMTP Mailer Configuration
config.mailer_config = Mailer Configuration
config.mailer_enabled = Enabled
config.mailer_disable_helo = Disable HELO
config.mailer_enable_helo = Enable HELO
config.mailer_name = Name
config.mailer_host = Host
config.mailer_protocol = Protocol
config.mailer_smtp_addr = SMTP Addr
config.mailer_smtp_port = SMTP Port
config.mailer_user = User
config.mailer_use_sendmail = Use Sendmail
config.mailer_sendmail_path = Sendmail Path
config.mailer_sendmail_args = Extra Arguments to Sendmail
config.mailer_sendmail_timeout = Sendmail Timeout
config.mailer_use_dummy = Dummy
config.test_email_placeholder = Email (e.g. test@example.com)
config.send_test_mail = Send Testing Email
config.test_mail_failed = Failed to send a testing email to '%s': %v
@ -2855,6 +2893,9 @@ config.access_log_template = Template
config.xorm_log_mode = XORM Log Mode
config.xorm_log_sql = Log SQL
config.get_setting_failed = Get setting %s failed
config.set_setting_failed = Set setting %s failed
monitor.cron = Cron Tasks
monitor.name = Name
monitor.schedule = Schedule
@ -3018,6 +3059,9 @@ pin = Pin notification
mark_as_read = Mark as read
mark_as_unread = Mark as unread
mark_all_as_read = Mark all as read
subscriptions = Subscriptions
watching = Watching
no_subscriptions = No subscriptions
[gpg]
default_key=Signed with default key
@ -3077,6 +3121,7 @@ container.details.platform = Platform
container.details.repository_site = Repository Site
container.details.documentation_site = Documentation Site
container.pull = Pull the image from the command line:
container.digest = Digest:
container.documentation = For more information on the Container registry, see <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/container/">the documentation</a>.
container.multi_arch = OS / Arch
container.layers = Image Layers
@ -3106,6 +3151,10 @@ npm.dependencies.development = Development Dependencies
npm.dependencies.peer = Peer Dependencies
npm.dependencies.optional = Optional Dependencies
npm.details.tag = Tag
pub.install = To install the package using Dart, run the following command:
pub.documentation = For more information on the Pub registry, see <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">the documentation</a>.
pub.details.repository_site = Repository Site
pub.details.documentation_site = Documentation Site
pypi.requires = Requires Python
pypi.install = To install the package using pip, run the following command:
pypi.documentation = For more information on the PyPI registry, see <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">the documentation</a>.
@ -3116,6 +3165,8 @@ rubygems.dependencies.development = Development Dependencies
rubygems.required.ruby = Requires Ruby version
rubygems.required.rubygems = Requires RubyGem version
rubygems.documentation = For more information on the RubyGems registry, see <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">the documentation</a>.
vagrant.install = To add a Vagrant box, run the following command:
vagrant.documentation = For more information on the Vagrant registry, see <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">the documentation</a>.
settings.link = Link this package to a repository
settings.link.description = If you link a package with a repository, the package is listed in the repository's package list.
settings.link.select = Select Repository

View File

@ -9,7 +9,6 @@ sign_out=Cerrar sesión
sign_up=Registrarse
link_account=Vincular cuenta
register=Registro
website=Página web
version=Versión
powered_by=Impulsado por %s
page=Página
@ -37,9 +36,9 @@ passcode=Código de acceso
webauthn_insert_key=Introduzca su clave de seguridad
webauthn_sign_in=Presione el botón en su clave de seguridad. Si su clave de seguridad no tiene ningún botón, vuelva a insertarla.
webauthn_press_button=Por favor, preione el botón en su clave de seguridad…
webauthn_press_button=Por favor, presione el botón de su llave de seguridad…
webauthn_use_twofa=Utilice un código de doble factor desde su teléfono móvil
webauthn_error=No se pudo leer la clave de seguridad.
webauthn_error=No se pudo leer su llave de seguridad.
webauthn_unsupported_browser=Su navegador no soporta actualmente WebAuthn.
webauthn_error_unknown=Ha ocurrido un error desconocido. Por favor, inténtelo de nuevo.
webauthn_error_insecure=WebAuthn sólo soporta conexiones seguras. Para probar sobre HTTP, puede utilizar el origen "localhost" o "127.0.0.1"
@ -47,7 +46,6 @@ webauthn_error_unable_to_process=El servidor no pudo procesar su solicitud.
webauthn_error_duplicated=La clave de seguridad no está permitida para esta solicitud. Por favor, asegúrese de que la clave no está ya registrada.
webauthn_error_empty=Debe establecer un nombre para esta clave.
webauthn_error_timeout=Tiempo de espera máximo alcanzado antes de que su clave pudiese ser leída. Por favor, cargue la página y vuelva a intentarlo.
webauthn_u2f_deprecated=La clave: '%s' se autentifica usando el proceso U2F obsoleto. Debe volver a registrar esta clave y eliminar el registro antiguo.
webauthn_reload=Recargar
repository=Repositorio
@ -108,6 +106,10 @@ never=Nunca
rss_feed=Fuentes RSS
[filter]
string.asc=A - Z
string.desc=Z - A
[error]
occurred=Ha ocurrido un error
report_message=Si estás seguro de que este es un error de Gitea, por favor busca un problema en <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> y abre un nuevo problema si es necesario.
@ -180,7 +182,8 @@ log_root_path_helper=Archivos de registro se escribirán en este directorio.
optional_title=Configuración opcional
email_title=Configuración de Correo
smtp_host=Servidor SMTP
smtp_addr=Servidor SMTP
smtp_port=Puerto SMTP
smtp_from=Enviar correos electrónicos como
smtp_from_helper=Dirección de correo electrónico que utilizará Gitea. Introduzca una dirección de correo electrónico normal o utilice el formato "Nombre" <email@example.com>.
mailer_user=Nombre de usuario SMTP
@ -269,8 +272,11 @@ users=Usuarios
organizations=Organizaciones
search=Buscar
code=Código
search.type.tooltip=Tipo de búsqueda
search.fuzzy=Parcial
search.fuzzy.tooltip=Incluye los resultados que también coincidan con el término de búsqueda
search.match=Coincidir
search.match.tooltip=Incluye sólo los resultados que coincidan con el término de búsqueda exacto
code_search_unavailable=Actualmente la búsqueda de código no está disponible. Póngase en contacto con el administrador de su sitio.
repo_no_results=No se ha encontrado ningún repositorio coincidente.
user_no_results=No se ha encontrado ningún usuario coincidente.
@ -278,6 +284,9 @@ org_no_results=No se ha encontrado ninguna organización coincidente.
code_no_results=No se ha encontrado código de fuente que coincida con su término de búsqueda.
code_search_results=Resultados de búsqueda para '%s'
code_last_indexed_at=Indexado por última vez %s
relevant_repositories_tooltip=Repositorios que son bifurcaciones o que no tienen ningún tema, ningún icono, y ninguna descripción están ocultos.
relevant_repositories=Solo se muestran repositorios relevantes, <a href="%s">mostrar resultados sin filtrar</a>.
[auth]
create_new_account=Registrar una cuenta
@ -407,6 +416,11 @@ repo.transfer.body=Para aceptarlo o rechazarlo, visita %s o simplemente ignórel
repo.collaborator.added.subject=%s le añadió en %s
repo.collaborator.added.text=Has sido añadido como colaborador del repositorio:
team_invite.subject=%[1]s le ha invitado a unirse a la organización de %[2]s
team_invite.text_1=%[1]s le ha invitado a unirse al equipo %[2]s en la organización %[3]s.
team_invite.text_2=Por favor, haz clic en el siguiente enlace para unirte al equipo:
team_invite.text_3=Nota: Esta invitación estaba destinada a %[1]s. Si no esperabas esta invitación, puedes ignorar este correo electrónico.
[modal]
yes=
no=No
@ -482,6 +496,7 @@ user_not_exist=Este usuario no existe.
team_not_exist=Este equipo no existe.
last_org_owner=No puedes eliminar al último usuario del equipo de 'propietarios'. Todas las organizaciones deben tener al menos un propietario.
cannot_add_org_to_team=Una organización no puede ser añadida como miembro de un equipo.
duplicate_invite_to_team=El usuario ya fue invitado como miembro del equipo.
invalid_ssh_key=No se puede verificar su clave SSH: %s
invalid_gpg_key=No se puede verificar su clave GPG: %s
@ -505,6 +520,7 @@ activity=Actividad pública
followers=Seguidores
starred=Repositorios Favoritos
watched=Repositorios seguidos
code=Código
projects=Proyectos
following=Siguiendo
follow=Seguir
@ -534,7 +550,7 @@ twofa=Autenticación de doble factor
account_link=Cuentas vinculadas
organization=Organizaciones
uid=UUID
webauthn=Claves Seguridades
webauthn=Llaves de Seguridad
public_profile=Perfil público
biography_placeholder=Cuéntenos un poco más sobre usted
@ -765,7 +781,7 @@ twofa_disable_note=Puede deshabilitar la autenticación de doble factor si lo ne
twofa_disable_desc=Deshabilitar la autenticación de doble factor hará su cuenta menos segura. ¿Continuar?
regenerate_scratch_token_desc=Si extravió su código de respaldo, o ya lo usó para iniciar sesión, puede restablecerlo aquí.
twofa_disabled=La autenticación de doble factor ha sido deshabilitada.
scan_this_image=Analiza esta imagen con la aplicación de autenticación:
scan_this_image=Escanee esta imagen con su aplicación de autenticación:
or_enter_secret=O introduzca el secreto: %s
then_enter_passcode=E introduzca el código de acceso mostrado en la aplicación:
passcode_invalid=El código de acceso es incorrecto. Vuelva a intentarlo.
@ -776,7 +792,7 @@ webauthn_desc=Las claves de seguridad son dispositivos hardware que contienen cl
webauthn_register_key=Añadir clave de seguridad
webauthn_nickname=Apodo
webauthn_delete_key=Eliminar clave de seguridad
webauthn_delete_key_desc=Si elimina una clave de seguridad no podrá utilizarla para registrarte con ella. ¿Continuar?
webauthn_delete_key_desc=Si elimina una llave de seguridad ya no podrá utilizarla para iniciar sesión con ella. ¿Continuar?
manage_account_links=Administrar cuentas vinculadas
manage_account_links_desc=Estas cuentas externas están vinculadas a su cuenta de Gitea.
@ -800,6 +816,7 @@ email_notifications.enable=Habilitar notificaciones por correo electrónico
email_notifications.onmention=Enviar correo sólo al ser mencionado
email_notifications.disable=Deshabilitar las notificaciones por correo electrónico
email_notifications.submit=Establecer preferencias de correo electrónico
email_notifications.andyourown=Y sus propias notificaciones
visibility=Visibilidad del usuario
visibility.public=Público
@ -862,8 +879,9 @@ default_branch=Rama por defecto
default_branch_helper=La rama por defecto es la rama base para pull requests y commits de código.
mirror_prune=Purgar
mirror_prune_desc=Eliminar referencias de seguimiento de remotes obsoletas
mirror_interval=Intervalo de replicación (las unidades de tiempo válidas son «h», «m» y «s»). 0 desactiva la sincronización automática. (Intervalo mínimo: %s)
mirror_interval=Intervalo de réplica (Las unidades de tiempo válidas son 'h', 'm', 's'). 0 para deshabilitar la sincronización automática. (Intervalo mínimo: %s)
mirror_interval_invalid=El intervalo de réplica no es válido.
mirror_sync_on_commit=Sincronizar cuando los commits sean subidos
mirror_address=Clonar desde URL
mirror_address_desc=Ponga cualquier credencial requerida en la sección de Autorización.
mirror_address_url_invalid=La url proporcionada no es válida. Debe escapar correctamente de todos los componentes de la url.
@ -932,7 +950,7 @@ form.name_pattern_not_allowed=El patrón '%s' no está permitido en un nombre de
need_auth=Autorización
migrate_options=Opciones de migración
migrate_service=Servicio de Migración
migrate_options_mirror_helper=Este repositorio será uno <span class="text blue">replicado</span>
migrate_options_mirror_helper=Este repositorio será una réplica
migrate_options_lfs=Migrar archivos LFS
migrate_options_lfs_endpoint.label=Punto final de LFS
migrate_options_lfs_endpoint.description=Migración intentará usar su mando Git para <a target="_blank" rel="noopener noreferrer" href="%s">determinar el servidor LFS</a>. También puede especificar un punto final personalizado si los datos LFS del repositorio se almacenan en otro lugar.
@ -977,7 +995,7 @@ migrate.migrating_topics=Migrando Temas
migrate.migrating_milestones=Migrando Hitos
migrate.migrating_labels=Migrando etiquetas
migrate.migrating_releases=Migrando Lanzamientos
migrate.migrating_issues=Migrando Incidencías
migrate.migrating_issues=Migrando incidencias
migrate.migrating_pulls=Migrando Pull Requests
mirror_from=réplica de
@ -1034,13 +1052,13 @@ file_view_rendered=Ver procesado
file_view_raw=Ver original
file_permalink=Enlace permanente
file_too_large=El archivo es demasiado grande para ser mostrado.
bidi_bad_header=`¡Este archivo contiene caracteres Unicode bidireccional inesperados!`
bidi_bad_description=`Este archivo contiene caracteres Bidirectional Unicode inesperados que pueden ser procesados de forma diferente a lo que aparece a continuación. Si su caso de uso es intencional y legítimo, puede ignorar esta advertencia. Use el botón de Escape para revelar caracteres ocultos.`
bidi_bad_description_escaped=`Este archivo contiene caracteres Unicode bidireccionales inesperados. Los caracteres unicode ocultos se escapan debajo. Utilice el botón Unescape para mostrar cómo se renderizan.`
unicode_header=`¡Este archivo contiene caracteres Unicode ocultos!`
unicode_description=`Este archivo contiene caracteres Unicode ocultos que pueden ser procesados de forma diferente a lo que aparece a continuación. Si su caso de uso es intencional y legítimo, puede ignorar esta advertencia. Use el botón de Escape para revelar caracteres ocultos.`
unicode_description_escaped=`Este archivo contiene caracteres Unicode ocultos. Los caracteres unicode ocultos se escapan debajo. Utilice el botón Unescape para mostrar cómo renderizan.`
line_unicode=`Esta línea tiene caracteres unicode ocultos`
invisible_runes_header=`¡Este archivo contiene caracteres Unicode invisibles!`
invisible_runes_description=`Este archivo contiene caracteres Unicode invisibles que pueden ser procesados de forma diferente a lo que aparece a continuación. Si su caso de uso es intencional y legítimo, puede ignorar esta advertencia. Use el botón de Escape para revelar caracteres ocultos.`
ambiguous_runes_header=`¡Este archivo contiene caracteres Unicode ambiguos!`
ambiguous_runes_description=`Este archivo contiene caracteres Unicode ambiguos que pueden confundirse con otros en tu idioma actual. Si tu caso de uso es intencional y legítimo, puedes ignorar esta advertencia. Usa el botón de Escape para resaltar estos caracteres.`
invisible_runes_line=`Esta línea tiene caracteres unicode invisibles`
ambiguous_runes_line=`Esta línea tiene caracteres unicode ambiguos`
ambiguous_character=`%[1]c [U+%04[1]X] es confusable con %[2]c [U+%04[2]X]`
escape_control_characters=Escapar
unescape_control_characters=No Escapar
@ -1227,6 +1245,8 @@ issues.new.add_reviewer_title=Solicitar revisión
issues.choose.get_started=Comenzar
issues.choose.blank=Predeterminado
issues.choose.blank_about=Crear una incidencia a partir de la plantilla predeterminada.
issues.choose.ignore_invalid_templates=Las plantillas no válidas han sido ignoradas
issues.choose.invalid_templates=%v plantilla(s) no válida(s) encontradas
issues.no_ref=Ninguna Rama/Etiqueta especificada
issues.create=Crear incidencia
issues.new_label=Nueva Etiqueta
@ -1234,9 +1254,9 @@ issues.new_label_placeholder=Nombre etiqueta
issues.new_label_desc_placeholder=Descripción
issues.create_label=Crear etiqueta
issues.label_templates.title=Carga un conjunto predefinido de etiquetas
issues.label_templates.info=No hay etiquetas existentes todavía. Crea una etiqueta con "Nueva Etiqueta" o use la etiqueta predefinida:
issues.label_templates.info=Todavía no existen etiquetas. Cree una etiqueta con "Nueva Etiqueta" o use un conjunto predefinido de etiquetas:
issues.label_templates.helper=Seleccionar un conjunto de etiquetas
issues.label_templates.use=Utilice la etiqueta
issues.label_templates.use=Usar este conjunto de etiquetas
issues.label_templates.fail_to_load_file=Error al cargar el archivo de plantilla de etiqueta '%s': %v
issues.add_label=añadió la etiqueta %s %s
issues.add_labels=añadió las etiquetas %s %s
@ -1267,6 +1287,8 @@ issues.filter_milestone=Milestone
issues.filter_milestone_no_select=Todos los hitos
issues.filter_assignee=Asignada a
issues.filter_assginee_no_select=Todos los asignados
issues.filter_poster=Autor
issues.filter_poster_no_select=Todos los autores
issues.filter_type=Tipo
issues.filter_type.all_issues=Todas las incidencias
issues.filter_type.assigned_to_you=Asignadas a ti
@ -1304,6 +1326,7 @@ issues.previous=Página Anterior
issues.next=Página Siguiente
issues.open_title=Abierta
issues.closed_title=Cerrada
issues.draft_title=Borrador
issues.num_comments=%d comentarios
issues.commented_at=`comentado <a href="#%s">%s</a>`
issues.delete_comment_confirm=¿Seguro que deseas eliminar este comentario?
@ -1420,7 +1443,7 @@ issues.due_date_form_remove=Eliminar
issues.due_date_not_writer=Necesita acceso de escritura al repositorio para actualizar la fecha de vencimiento de un issue.
issues.due_date_not_set=Sin fecha de vencimiento.
issues.due_date_added=añadió la fecha de vencimiento %s %s
issues.due_date_modified=modificó la fecha de vencimiento a %s de %s %s
issues.due_date_modified=modificó la fecha de vencimiento de %[2]s a %[1]s %[3]s
issues.due_date_remove=eliminó la fecha de vencimiento %s %s
issues.due_date_overdue=Vencido
issues.due_date_invalid=La fecha de vencimiento es inválida o está fuera de rango. Por favor utilice el formato 'aaaa-mm-dd'.
@ -1532,7 +1555,8 @@ pulls.remove_prefix=Eliminar prefijo <strong>%s</strong>
pulls.data_broken=Este pull request está rota debido a que falta información del fork.
pulls.files_conflicted=Este pull request tiene cambios en conflicto con la rama de destino.
pulls.is_checking=La comprobación de conflicto de fusión está en progreso. Inténtalo de nuevo en unos momentos.
pulls.is_empty=Esta rama es igual a la rama objetivo.
pulls.is_ancestor=Esta rama ya está incluida en la rama de destino. No hay nada que fusionar.
pulls.is_empty=Los cambios en esta rama ya están en la rama de destino. Esto será un commit vacío.
pulls.required_status_check_failed=Algunos controles requeridos no han tenido éxito.
pulls.required_status_check_missing=Faltan algunos controles necesarios.
pulls.required_status_check_administrator=Como administrador, aún puede fusionar este Pull Request.
@ -1611,6 +1635,9 @@ pulls.auto_merge_canceled_schedule=Fusión automaticá estaba cancellada para es
pulls.auto_merge_newly_scheduled_comment=`programó este Pull Request para fusionar automática cuando todas las comprobaciones tengan éxito %[1]s`
pulls.auto_merge_canceled_schedule_comment=`canceló la fusión automática de este Pull Request %[1]s`
pulls.delete.title=¿Borrar este pull request?
pulls.delete.text=¿Realmente quieres eliminar esta pull request? (Esto eliminará permanentemente todo el contenido. Considera cerrarlo si simplemente deseas archivarlo)
milestones.new=Nuevo hito
milestones.closed=Cerrada %s
milestones.update_ago=Actualizado hace %s
@ -1750,8 +1777,11 @@ activity.git_stats_deletion_n=%d eliminaciones
search=Buscar
search.search_repo=Buscar repositorio
search.type.tooltip=Tipo de búsqueda
search.fuzzy=Parcial
search.fuzzy.tooltip=Incluye los resultados que también coinciden aproximadamente con el término de búsqueda
search.match=Coincidir
search.match.tooltip=Incluye sólo los resultados que coincidan con el término de búsqueda exacto
search.results=Resultados de la búsqueda para "%s" en <a href="%s">%s</a>
search.code_no_results=No se ha encontrado código de fuente que coincida con su término de búsqueda.
search.code_search_unavailable=Actualmente la búsqueda de código no está disponible. Póngase en contacto con el administrador de su sitio.
@ -1780,10 +1810,6 @@ settings.mirror_settings.push_mirror.remote_url=URL del repositorio remoto de Gi
settings.mirror_settings.push_mirror.add=Añadir Réplica de Push
settings.sync_mirror=Sincronizar ahora
settings.mirror_sync_in_progress=La sincronización del repositorio replicado está en curso. Vuelva a intentarlo más tarde.
settings.email_notifications.enable=Habilitar las notificaciones por correo electrónico
settings.email_notifications.onmention=Enviar correo sólo al mencionar
settings.email_notifications.disable=Deshabilitar las notificaciones por correo electrónico
settings.email_notifications.submit=Establecer Preferencia de correo electrónico
settings.site=Sitio web
settings.update_settings=Actualizar configuración
settings.branches.update_default_branch=Actualizar rama por defecto
@ -1889,6 +1915,7 @@ settings.confirm_delete=Eliminar este repositorio
settings.add_collaborator=Añadir colaborador
settings.add_collaborator_success=El nuevo colaborador ha sido añadido.
settings.add_collaborator_inactive_user=No se puede añadir un usuario inactivo como colaborador.
settings.add_collaborator_owner=No se puede añadir un propietario como colaborador.
settings.add_collaborator_duplicate=El colaborador ya está añadido a este repositorio.
settings.delete_collaborator=Eliminar
settings.collaborator_deletion=Eliminar colaborador
@ -1947,6 +1974,8 @@ settings.event_delete=Eliminar
settings.event_delete_desc=Rama o etiqueta eliminada.
settings.event_fork=Fork
settings.event_fork_desc=Repositorio forkeado.
settings.event_wiki=Wiki
settings.event_wiki_desc=Página de la Wiki creada, renombrada, editada o eliminada.
settings.event_release=Lanzamiento
settings.event_release_desc=Lanzamiento publicado, actualizado o eliminado en un repositorio.
settings.event_push=Push
@ -2201,7 +2230,7 @@ releases.desc=Seguir las versiones y descargas del proyecto.
release.releases=Lanzamientos
release.detail=Detalles de lanzamiento
release.tags=Etiquetas
release.new_release=Nueva Release
release.new_release=Nuevo lanzamiento
release.draft=Borrador
release.prerelease=Pre-lanzamiento
release.stable=Estable
@ -2220,7 +2249,7 @@ release.content=Contenido
release.prerelease_desc=Marcar como Pre-Lanzamiento
release.prerelease_helper=Marcar este lanzamiento como no es adecuada para usar en producción.
release.cancel=Cancelar
release.publish=Publicar Release
release.publish=Publicar lanzamiento
release.save_draft=Guardar borrador
release.edit_release=Actualizar Lanzamiento
release.delete_release=Eliminar Lanzamiento
@ -2298,6 +2327,7 @@ create_org=Crear Organización
repo_updated=Actualizado
people=Personas
teams=Equipos
code=Código
lower_members=miembros
lower_repositories=repositorios
create_new_team=Nuevo equipo
@ -2382,6 +2412,8 @@ teams.members=Miembros del equipo
teams.update_settings=Actualizar configuración
teams.delete_team=Eliminar equipo
teams.add_team_member=Añadir miembro al equipo
teams.invite_team_member=Invitar a %s
teams.invite_team_member.list=Invitaciones pendientes
teams.delete_team_title=Eliminar equipo
teams.delete_team_desc=Eliminar un equipo revoca el acceso de repositorio a sus miembros ¿Continuar?
teams.delete_team_success=El equipo ha sido eliminado.
@ -2406,6 +2438,9 @@ teams.all_repositories_helper=El equipo tiene acceso a todos los repositorios. S
teams.all_repositories_read_permission_desc=Este equipo concede <strong>Leer</strong> a <strong>todos los repositorios</strong>: los miembros pueden ver y clonar repositorios.
teams.all_repositories_write_permission_desc=Este equipo concede <strong>Escribir</strong> a <strong>todos los repositorios</strong>: los miembros pueden leer y enviar a los repositorios.
teams.all_repositories_admin_permission_desc=Este equipo concede a <strong>Administrador</strong> acceso a <strong>todos los repositorios</strong>: los miembros pueden leer, enviar y agregar colaboradores a los repositorios.
teams.invite.title=Has sido invitado a unirte al equipo <strong>%s</strong> en la organización <strong>%s</strong>.
teams.invite.by=Invitado por %s
teams.invite.description=Por favor, haga clic en el botón de abajo para unirse al equipo.
[admin]
dashboard=Panel de control
@ -2536,6 +2571,8 @@ users.delete_account=Eliminar Cuenta de Usuario
users.cannot_delete_self=No puedes eliminarte a ti mismo
users.still_own_repo=Este usuario todavía posee uno o más depósitos. Eliminar o transferir estos repositorios primero.
users.still_has_org=Este usuario es un miembro de una organización. Primero retire el usuario de cualquier organización.
users.purge=Borrar usuario
users.purge_help=Borrar forzosamente el usuario y cualquier repositorio, organización y paquete propiedad del usuario. Todos los comentarios también serán borrados.
users.still_own_packages=Este usuario todavía posee uno o más paquetes. Elimine estos paquetes primero.
users.deletion_success=La cuenta de usuario ha sido eliminada.
users.reset_2fa=Reiniciar 2FA
@ -2794,14 +2831,17 @@ config.skip_tls_verify=Saltar verificación TLS
config.mailer_config=Configuración del servidor de correo
config.mailer_enabled=Activado
config.mailer_disable_helo=Desactivar HELO
config.mailer_enable_helo=Habilitar HELO
config.mailer_name=Nombre
config.mailer_host=Servidor
config.mailer_protocol=Protocolo
config.mailer_smtp_addr=Dirección SMTP
config.mailer_smtp_port=Puerto SMTP
config.mailer_user=Usuario
config.mailer_use_sendmail=Usar Sendmail
config.mailer_sendmail_path=Ruta de Sendmail
config.mailer_sendmail_args=Argumentos adicionales por Sendmail
config.mailer_sendmail_timeout=Tiempo de espera de Sendmail
config.mailer_use_dummy=Dummy
config.test_email_placeholder=Correo electrónico (ej. test@ejemplo.com)
config.send_test_mail=Enviar prueba de correo
config.test_mail_failed=Fallo al enviar correo electrónico de prueba a '%s': %v
@ -2854,6 +2894,9 @@ config.access_log_template=Plantilla
config.xorm_log_mode=Modo de registro XORM
config.xorm_log_sql=Registrar SQL
config.get_setting_failed=Error al obtener la configuración %s
config.set_setting_failed=Error al configurar %s
monitor.cron=Tareas de Cron
monitor.name=Nombre
monitor.schedule=Agenda
@ -2886,6 +2929,7 @@ monitor.queue.nopool.title=No existe un grupo de trabajadores
monitor.queue.nopool.desc=Esta cola envuelve otras colas y no tiene grupos de trabajadores.
monitor.queue.wrapped.desc=Una cola de tipo envuelto envuelve una cola de inicio lenta, búfer de peticiones en un canal. No tiene grupos de trabajadores en si misma.
monitor.queue.persistable-channel.desc=Una cola de tipo canal persistente envuelve dos colas, una cola de canales que tiene sus propios grupos de trabajadores y una cola de niveles para peticiones persistentes de apagones anteriores. No tiene grupos de trabajadores en sí misma.
monitor.queue.flush=Vaciar trabajador
monitor.queue.pool.timeout=Tiempo de espera
monitor.queue.pool.addworkers.title=Añadir trabajadores
monitor.queue.pool.addworkers.submit=Añadir trabajadores
@ -3016,6 +3060,9 @@ pin=Fijar notificación
mark_as_read=Marcar como leído
mark_as_unread=Marcar como no leído
mark_all_as_read=Marcar todo como leído
subscriptions=Suscripciones
watching=Siguiendo
no_subscriptions=Sin suscripciones
[gpg]
default_key=Firmado con clave predeterminada
@ -3038,6 +3085,7 @@ title=Paquetes
desc=Administrar paquetes del repositorio.
empty=Todavía no hay paquetes.
empty.documentation=Para más información sobre el registro de paquetes, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/overview">la documentación</a>.
empty.repo=¿Has subido un paquete, pero no se muestra aquí? Ve a <a href="%[1]s">la configuración del paquete</a> y añade el link a este repositorio.
filter.type=Tipo
filter.type.all=Todo
filter.no_result=El filtro no produjo ningún resultado.
@ -3074,6 +3122,7 @@ container.details.platform=Plataforma
container.details.repository_site=Sitio del repositorio
container.details.documentation_site=Sitio de documentación
container.pull=Arrastra la imagen desde la línea de comandos:
container.digest=Resumen:
container.documentation=Para más información sobre el registro de Container, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/container/">la documentación</a>.
container.multi_arch=SO / Arquitectura
container.layers=Capas de imagen
@ -3103,6 +3152,10 @@ npm.dependencies.development=Dependencias de desarrollo
npm.dependencies.peer=Dependencias de pares
npm.dependencies.optional=Dependencias opcionales
npm.details.tag=Etiqueta
pub.install=Para instalar el paquete usando Dart, ejecute el siguiente comando:
pub.documentation=Para obtener más información sobre el registro de Pub, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">la documentación</a>.
pub.details.repository_site=Sitio del repositorio
pub.details.documentation_site=Sitio de documentación
pypi.requires=Requiere Python
pypi.install=Para instalar el paquete usando pip, ejecute el siguiente comando:
pypi.documentation=Para obtener más información sobre el registro PyPI, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">la documentación</a>.
@ -3113,6 +3166,8 @@ rubygems.dependencies.development=Dependencias de desarrollo
rubygems.required.ruby=Requiere versión Ruby
rubygems.required.rubygems=Requiere la versión de RubyGem
rubygems.documentation=Para obtener más información sobre el registro de RubyGems, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">la documentación</a>.
vagrant.install=Para añadir un paquete Vagrant, ejecuta el siguiente comando:
vagrant.documentation=Para más información sobre el registro de paquetes Vagrant, revisa la <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">documentación</a>.
settings.link=Vincular este paquete a un repositorio
settings.link.description=Si enlaza un paquete con un repositorio, el paquete se enumera en la lista de paquetes del repositorio.
settings.link.select=Seleccionar repositorio

View File

@ -8,7 +8,6 @@ sign_out=خروج
sign_up=ثبت نام
link_account=پیوند به حساب
register=ثبت نام
website=وب‌سایت
version=نسخه
powered_by=قدرت از %s
page=صفحه
@ -92,6 +91,8 @@ error404=صفحه موردنظر شما یا <strong>وجود ندارد</strong
never=هرگز
[filter]
[error]
missing_csrf=درخواست بد: بلیط CSRF ندارد
@ -158,7 +159,6 @@ log_root_path_helper=فایل‌های گزارش روی این مسیر ذخی
optional_title=تنظیمات اختیاری
email_title=تنظیمات ایمیل
smtp_host=میزبان SMTP
smtp_from=ارسال ایمیل به عنوان
smtp_from_helper=آدرس ایمیلی که گیتی استفاده میکند. یک ایمیل وارد کنید یا به "Name" <email@example.com> شکل استفاده کنید.
mailer_user=نام کاربری SMTP
@ -256,6 +256,7 @@ code_no_results=کد منبعی مطابق با جستجوی شما یافت ن
code_search_results=نتایج جستجو برای '%s '
code_last_indexed_at=آخرین به روزرسانی در %s
[auth]
create_new_account=نام‌نویسی حساب کاربری
register_helper_msg=قبلا ثبت نام کردید؟ از اینجا وارد شوید!
@ -380,6 +381,7 @@ repo.transfer.body=برای تایید یا رد آن %s را ببینید یا
repo.collaborator.added.subject=%s شما را به پروژه %s اضافه کرد
repo.collaborator.added.text=شما به عنوان مشارکت‌کننده در این مخزن اضافه شدید:
[modal]
yes=بله
no=خیر
@ -863,7 +865,6 @@ form.name_pattern_not_allowed=الگوی %s در نام مخزن مجاز نیس
need_auth=دسترسی
migrate_options=تنظیمات مهاجرت
migrate_service=سرویس مهاجرت
migrate_options_mirror_helper=این مخزن یک <span class="text blue">آینه</span> خواهد بود
migrate_options_lfs=مهاجرت فایلهای LFS
migrate_options_lfs_endpoint.label=نشانهای پایانی LFS
migrate_options_lfs_endpoint.description=Migration سعی خواهد کرد از کنترل از راه دور Git شما برای <a target="_blank" rel="noopener noreferrer" href="%s">تعیین سرور LFS</a> استفاده کند. همچنین اگر داده های LFS مخزن در جای دیگری ذخیره شده باشد، می توانید یک نقطه پایانی سفارشی را مشخص کنید.
@ -1310,7 +1311,6 @@ issues.due_date_form_remove=حذف/ساقط کردن
issues.due_date_not_writer=شما نیازمند دسترسی نوشتن به این مخزن را برای تغییر موعد مقرر این مسئله را دارید.
issues.due_date_not_set=هیچ موعد مقرری ثبت نشده.
issues.due_date_added=موعد مقرر اضافه شد %s %s
issues.due_date_modified=موعد مقرر از %s به %s %s تغییر کرد.
issues.due_date_remove=موعد مقرر %s %s حذف شد
issues.due_date_overdue=تاریخ گذشته
issues.due_date_invalid=موعد مقرر نامعتبر است یا خارج از محدوده. لطفاً از قالب 'yyy-mm-dd' استفاده کنید.
@ -1411,7 +1411,6 @@ pulls.remove_prefix=حذف پیشوند <strong>%s</strong>
pulls.data_broken=این تقاضای واکشی به دلیل از دست رفتن اطلاعات انشعاب با شکست مواجه شد.
pulls.files_conflicted=این تقاضای واکشی دارای تغییراتی است که با شاخه هدف تداخل دارد.
pulls.is_checking=در حال پردازش تداخل در ادغام می‌باشد. لطفاً لحظاتی بعد امتحان کنید.
pulls.is_empty=این شاخه با شاخه مقصد برابر است.
pulls.required_status_check_failed=برخی بررسی های ضروری موفقیت آمیز نبود.
pulls.required_status_check_missing=برخی بررسی های موردنیاز از قلم افتاده است.
pulls.required_status_check_administrator=مثل یک مدیر، ممکن است شما این تقاضای واکشی را مسکوت بگذارید.
@ -1478,6 +1477,7 @@ pulls.merge_instruction_step2_desc=تغییرات را ادغام کنید و د
milestones.new=نقطه عطف جدید
milestones.closed=%s بسته شد
milestones.update_ago=آخرین بروز رسانی %s قبل
@ -1644,10 +1644,6 @@ settings.mirror_settings.push_mirror.remote_url=Git Remote Repository URL
settings.mirror_settings.push_mirror.add=اضافه کردن Push Mirror
settings.sync_mirror=همگام سازی کن
settings.mirror_sync_in_progress=همگام سازی قرینه در حالت پردازش است. یک دقیقه دیگر مجددا بررسی کنید.
settings.email_notifications.enable=فعال‌سازی اعلان‌های ایمیل
settings.email_notifications.onmention=تنها یادوآری از طریق ایمیل
settings.email_notifications.disable=غیرفعال‌ کردن اعلان‌های ایمیل
settings.email_notifications.submit=ثبت اولویت ایمیل
settings.site=تارنما
settings.update_settings=به‌ روزرسانی تنظیمات
settings.branches.update_default_branch=بروزرسانی شاخه پیش فرض
@ -2582,11 +2578,8 @@ config.queue_length=طول صف
config.deliver_timeout=مهلت تحویل
config.skip_tls_verify=صرف نظر از اعتبارسنجی TLS
config.mailer_config=پیکربندی سامانه ایمیلی SMTP
config.mailer_enabled=فعال شده
config.mailer_disable_helo=غیر فعال کردن HELO
config.mailer_name=نام
config.mailer_host=میزبان
config.mailer_user=کاربر
config.mailer_use_sendmail=استفاده از ارسال رایانامه (ایمیل) مستقیم
config.mailer_sendmail_path=مسیر ارسال ایمیل مستقیم
@ -2644,6 +2637,7 @@ config.access_log_template=الگو
config.xorm_log_mode=شیوه ثبت رخداد XORM
config.xorm_log_sql=ثبت رخداد SQL
monitor.cron=وظایف Cron
monitor.name=نام
monitor.schedule=زمان بندی

File diff suppressed because it is too large Load Diff

View File

@ -2,13 +2,13 @@ home=Accueil
dashboard=Tableau de bord
explore=Explorateur
help=Aide
logo=Logo
sign_in=Connexion
sign_in_with=Se connecter avec
sign_out=Déconnexion
sign_up=S'inscrire
link_account=Lier un Compte
register=S'inscrire
website=Site web
version=Version
powered_by=Propulsé par %s
page=Page
@ -35,6 +35,18 @@ twofa_scratch=Code de secours pour l'authentification à deux facteurs
passcode=Code d'accès
webauthn_insert_key=Insérez votre clé de sécurité
webauthn_sign_in=Appuyez sur le bouton de votre clé de sécurité. Si votre clé de sécurité n'a pas de bouton, réinsérez-la.
webauthn_press_button=Veuillez appuyer sur le bouton de votre clé de sécurité…
webauthn_use_twofa=Utilisez l'authentification à deux facteurs avec votre téléphone
webauthn_error=Impossible de lire votre clé de sécurité.
webauthn_unsupported_browser=Votre navigateur ne prend actuellement pas en charge WebAuthn.
webauthn_error_unknown=Une erreur indéterminée s'est produite. Veuillez réessayer.
webauthn_error_insecure=WebAuthn ne prend en charge que les connexions sécurisées. Pour les tests via HTTP, vous pouvez utiliser l'origine "localhost" ou "127.0.0.1"
webauthn_error_unable_to_process=Le serveur n'a pas pu traiter votre demande.
webauthn_error_duplicated=La clé de sécurité n'est pas autorisée pour cette demande. Veuillez vous assurer que la clé n'est pas déjà enregistrée.
webauthn_error_empty=Vous devez définir un nom pour cette clé.
webauthn_error_timeout=Le délai d'attente imparti a été atteint avant que votre clé ne puisse être lue. Veuillez recharger la page pour réessayer.
webauthn_reload=Recharger
repository=Dépôt
organization=Organisation
@ -94,8 +106,15 @@ never=Jamais
rss_feed=Flux RSS
[filter]
[error]
occurred=Une erreur sest produite
report_message=Si vous êtes sûr qu'il s'agit d'un bug de Gitea, cherchez sil existe des tickets sur <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> ou ouvrez-en un nouveau si nécessaire.
missing_csrf=Requête incorrecte: aucun jeton CSRF présent
invalid_csrf=Requête incorrecte : jeton CSRF invalide
not_found=La cible n'a pu être trouvée.
network_error=Erreur réseau
[startpage]
app_desc=Un service Git auto-hébergé sans prise de tête
@ -156,12 +175,13 @@ http_port=Port d'écoute HTTP de Gitea
http_port_helper=Port sur lequel le serveur web Gitea attendra des requêtes.
app_url=URL de base de Gitea
app_url_helper=Adresse HTTP(S) de base pour les clones git et les notifications par e-mail.
log_root_path=Chemin des fichiers log
log_root_path=Chemin des journaux
log_root_path_helper=Les fichiers de journalisation seront écrits dans ce répertoire.
optional_title=Paramètres facultatifs
email_title=Paramètres E-mail
smtp_host=Hôte SMTP
smtp_addr=Hôte SMTP
smtp_port=Port SMTP
smtp_from=Envoyer les e-mails en tant que
smtp_from_helper=Adresse e-mail utilisée par Gitea. Veuillez entrer votre e-mail directement ou sous la forme <email@example.com>.
mailer_user=Utilisateur SMTP
@ -183,7 +203,7 @@ openid_signin_popup=Activer l'authentification via OpenID.
openid_signup=Activer l'inscription OpenID
openid_signup_popup=Activer l'inscription avec OpenID.
enable_captcha=Activer le CAPTCHA d'inscription
enable_captcha_popup=Demander un Captcha à l'inscription.
enable_captcha_popup=Demander un CAPTCHA à l'inscription.
require_sign_in_view=Exiger la connexion à un compte pour afficher les pages
require_sign_in_view_popup=Limiter l'accès aux pages aux utilisateurs connectés. Les visiteurs ne verront que les pages de connexion et d'inscription.
admin_setting_desc=La création d'un compte administrateur est facultative. Le premier utilisateur enregistré deviendra automatiquement un administrateur le cas échéant.
@ -250,14 +270,21 @@ users=Utilisateurs
organizations=Organisations
search=Rechercher
code=Code
search.type.tooltip=Type de recherche
search.fuzzy=Approximative
search.fuzzy.tooltip=Inclure également les résultats proches de la recherche
search.match=Exacte
search.match.tooltip=Inclure uniquement les résultats exacts
code_search_unavailable=Actuellement, la recherche de code n'est pas disponible. Veuillez contacter l'administrateur de votre site.
repo_no_results=Aucun dépôt correspondant n'a été trouvé.
user_no_results=Aucun utilisateur correspondant n'a été trouvé.
org_no_results=Aucune organisation correspondante n'a été trouvée.
code_no_results=Aucun code source correspondant à votre terme de recherche n'a été trouvé.
code_search_results=Résultats de recherche pour "%s"
code_last_indexed_at=Dernière indexation %s
relevant_repositories_tooltip=Les dépôts qui sont des forks ou qui n'ont aucun sujet, aucune icône et aucune description sont cachés.
relevant_repositories=Seuls les dépôts pertinents sont affichés, <a href="%s">afficher les résultats non filtrés</a>.
[auth]
create_new_account=Créer un compte
@ -265,6 +292,7 @@ register_helper_msg=Déjà enregistré ? Connectez-vous !
social_register_helper_msg=Déjà inscrit ? Connectez-vous !
disable_register_prompt=Les inscriptions sont désactivées. Veuillez contacter l'administrateur du site.
disable_register_mail=La confirmation par e-mail à l'inscription est désactivée.
manual_activation_only=Contactez l'administrateur de votre site pour terminer l'activation.
remember_me=Mémoriser cet appareil
forgot_password_title=Mot de passe oublié
forgot_password=Mot de passe oublié ?
@ -303,6 +331,9 @@ oauth_signup_submit=Finaliser la création du compte
oauth_signin_tab=Lier à un compte existant
oauth_signin_title=Connectez-vous pour autoriser le compte lié
oauth_signin_submit=Lier un compte
oauth.signin.error=Une erreur s'est produite lors du traitement de la demande d'autorisation. Si cette erreur persiste, veuillez contacter l'administrateur du site.
oauth.signin.error.access_denied=La demande d'autorisation a été refusée.
oauth.signin.error.temporarily_unavailable=L'autorisation a échoué car le serveur d'authentification est temporairement indisponible. Veuillez réessayer plus tard.
openid_connect_submit=Se connecter
openid_connect_title=Se connecter à un compte existant
openid_connect_desc=L'URI OpenID choisie est inconnue. Associez-le à un nouveau compte ici.
@ -349,14 +380,22 @@ reset_password.text=Veuillez cliquer sur le lien suivant pour récupérer votre
register_success=Inscription réussie
issue_assigned.pull=@%[1]s vous a assigné à la demande dajout %[2]s dans le dépôt %[3]s.
issue_assigned.issue=@%[1]s vous a assigné le ticket %[2]s dans le dépôt %[3]s.
issue.x_mentioned_you=<b>@%s</b> vous a mentionné:
issue.action.force_push=<b>%[1]s</b> a forcé la mise à jour de <b>%[2]s</b> depuis %[3]s vers %[4]s.
issue.action.push_1=<b>@%[1]s</b> a mis à jour le commit %[3]d vers %[2]s
issue.action.push_n=<b>@%[1]s</b> a poussé les révisions %[3]d vers %[2]s
issue.action.close=<b>@%[1]s</b> a fermé #%[2]d.
issue.action.reopen=<b>@%[1]s</b> a réouvert #%[2]d.
issue.action.merge=<b>@%[1]s</b> a fusionné de #%[2]d vers %[3]s.
issue.action.approve=<b>@%[1]s</b> a approuvé cette demande d'ajout.
issue.action.reject=<b>@%[1]s</b> a demandé des modifications sur cette demande d'ajout.
issue.action.review=<b>@%[1]s</b> a commenté sur cette demande d'ajout.
issue.action.review_dismissed=<b>@%[1]s</b> a rejeté la dernière révision de %[2]s pour cette demande d'ajout.
issue.action.ready_for_review=<b>@%[1]s</b> a marqué cette demande d'ajout prête à être revue.
issue.action.new=<b>@%[1]s</b> a créé #%[2]d.
issue.in_tree_path=Dans %s:
release.new.subject=%s publiée dans %s
@ -375,6 +414,7 @@ repo.transfer.body=Pour l'accepter ou le rejeter, visitez %s ou ignorez-le.
repo.collaborator.added.subject=%s vous a ajouté à %s
repo.collaborator.added.text=Vous avez été ajouté en tant que collaborateur du dépôt :
[modal]
yes=Oui
no=Non
@ -411,8 +451,10 @@ size_error=` doit être à la taille de %s.`
min_size_error=` %s caractères minimum `
max_size_error=` %s caractères maximum `
email_error=` adresse e-mail invalide `
url_error=`'%s' n'est pas une URL valide.`
include_error=`doit contenir la sous-chaîne '%s'.`
glob_pattern_error=` le motif de développement est invalide : %s.`
regex_pattern_error=` le motif regex est invalide : %s.`
unknown_error=Erreur inconnue :
captcha_incorrect=Le code CAPTCHA est incorrect.
password_not_match=Les mots de passe ne correspondent pas.
@ -421,6 +463,7 @@ lang_select_error=Sélectionnez une langue dans la liste.
username_been_taken=Le nom d'utilisateur est déjà pris.
username_change_not_local_user=Les utilisateurs non-locaux n'ont pas le droit de modifier leur nom d'utilisateur.
repo_name_been_taken=Ce nom de dépôt est déjà utilisé.
repository_force_private=Force Private est activé : les dépôts privés ne peuvent pas être rendus publics.
repository_files_already_exist=Les fichiers existent déjà pour ce dépôt. Contactez l'administrateur système.
repository_files_already_exist.adopt=Des fichiers existent déjà pour ce dépôt et peuvent seulement être adoptés.
repository_files_already_exist.delete=Des fichiers existent déjà pour ce dépôt. Vous devez les supprimer.
@ -456,7 +499,9 @@ auth_failed=Échec d'authentification : %v
still_own_repo=Ce compte possède toujours un ou plusieurs dépôts, vous devez d'abord les supprimer ou les transférer.
still_has_org=Votre compte est un membre dune ou plusieurs organisations, veuillez d'abord les quitter.
still_own_packages=Votre compte possède toujours un ou plusieurs paquets, vous devez d'abord les supprimer ou les transférer.
org_still_own_repo=Cette organisation possède encore un ou plusieurs dépôts. Vous devez d'abord les supprimer ou les transférer.
org_still_own_packages=Cette organisation possède encore un ou plusieurs paquets. Vous devez d'abord les supprimer.
target_branch_not_exist=La branche cible n'existe pas.
@ -468,6 +513,7 @@ activity=Activité publique
followers=abonnés
starred=Dépôts favoris
watched=Dépôts surveillés
code=Code
projects=Projets
following=Abonnements
follow=Suivre
@ -497,6 +543,7 @@ twofa=Authentification à deux facteurs
account_link=Comptes associés
organization=Organisations
uid=ID d'Utilisateur
webauthn=Clés de sécurité
public_profile=Profil public
biography_placeholder=Parlez-nous un peu de vous
@ -518,6 +565,7 @@ continue=Continuer
cancel=Annuler
language=Langues
ui=Thème
hidden_comment_types=Texte de commentaires caché
comment_type_group_reference=Référence
comment_type_group_label=Étiquette
comment_type_group_milestone=Jalon
@ -607,7 +655,12 @@ ssh_key_been_used=Cette clef SSH a déjà été ajoutée au serveur.
ssh_key_name_used=Une clé SSH avec le même nom existe déjà sur votre compte.
ssh_principal_been_used=Ce principal a déjà été ajouté au serveur.
gpg_key_id_used=Une clef GPG publique avec le même identifiant existe déjà.
gpg_no_key_email_found=Cette clé GPG ne correspond à aucune adresse e-mail activée et associée avec votre compte. Elle peut toujours être ajoutée si vous signez le jeton fourni.
gpg_key_matched_identities=Identités correspondantes :
gpg_key_matched_identities_long=Les identités embarquées dans cette clé correspondent à l'adresse courriel activée ci-après pour cet utilisateur. Les révisions correspondantes à cette adresse courriel peuvent être vérifiés avec cette clé.
gpg_key_verified=Clé vérifiée
gpg_key_verified_long=La clé a été vérifiée avec un jeton et peut être utilisée pour vérifier les commits correspondant à toutes les adresses courriel pour cet utilisateur en plus de toutes les identités pour cette clé.
gpg_key_verify=Vérifier
gpg_invalid_token_signature=La clé GPG fournie, la signature et le jeton ne correspondent pas ou le jeton n'est pas à jour.
gpg_token_required=Vous devez fournir une signature pour le jeton ci-dessous
gpg_token=Jeton
@ -615,10 +668,17 @@ gpg_token_help=Vous pouvez générer une signature en utilisant :
gpg_token_code=echo "%s" | gpg -a --default-key %s --detach-sig
gpg_token_signature=Signature GPG renforcée
key_signature_gpg_placeholder=Commence par '-----BEGIN PGP SIGNATURE-----'
verify_gpg_key_success=La clef GPG '%s' a été vérifiée.
ssh_key_verified=Clé vérifiée
ssh_key_verified_long=La clé a été vérifiée avec un jeton et peut être utilisée pour vérifier les commits correspondant à toutes les adresses courriel activées pour cet utilisateur.
ssh_key_verify=Vérifier
ssh_invalid_token_signature=La clé SSH, la signature ou le jeton fournis ne correspondent pas ou le jeton n'est pas à jour.
ssh_token_required=Vous devez fournir une signature pour le jeton ci-dessous
ssh_token=Jeton
ssh_token_help=Vous pouvez générer une signature en utilisant :
ssh_token_signature=Signature SSH renforcée
key_signature_ssh_placeholder=Commence par '-----BEGIN PGP SIGNATURE-----'
verify_ssh_key_success=La clef SSH '%s' a été vérifiée.
subkeys=Sous-clés
key_id=Clé ID
key_name=Nom de la Clé
@ -666,6 +726,9 @@ generate_token_success=Votre nouveau jeton a été généré. Copiez-le maintena
generate_token_name_duplicate=<strong>%s</strong> a déjà été utilisé comme nom d'application. Veuillez en utiliser un nouveau.
delete_token=Supprimer
access_token_deletion=Suppression de jetons d'accès
access_token_deletion_cancel_action=Annuler
access_token_deletion_confirm_action=Supprimer
access_token_deletion_desc=Supprimer un jeton révoquera l'accès à votre compte pour toutes les applications l'utilisant. Cette action est irréversible. Continuer ?
delete_token_success=Ce jeton a été supprimé. Les applications l'utilisant n'ont plus accès à votre compte.
manage_oauth2_applications=Gérer les applications OAuth2
@ -718,10 +781,16 @@ passcode_invalid=Le mot de passe est invalide. Réessayez.
twofa_enrolled=L'authentification à deux facteurs a été activée pour votre compte. Gardez votre jeton de secours (%s) en lieu sûr car il ne vous sera montré qu'une seule fois !
twofa_failed_get_secret=Impossible d'obtenir le secret.
webauthn_desc=Les clefs de sécurité sont des dispositifs matériels contenant des clefs cryptographiques. Elles peuvent être utilisées pour l'authentification à deux facteurs. La clef de sécurité doit supporter le standard <a rel="noreferrer" target="_blank" href="https://w3c.github.io/webauthn/#webauthn-authenticator">WebAuthn Authenticator</a>.
webauthn_register_key=Ajouter une clé de sécurité
webauthn_nickname=Pseudonyme
webauthn_delete_key=Supprimer la clé de sécurité
webauthn_delete_key_desc=Si vous retirez une clé de sécurité vous ne pourrez plus l'utiliser pour vous connecter. Continuer ?
manage_account_links=Gérer les comptes liés
manage_account_links_desc=Ces comptes externes sont liés à votre compte Gitea.
account_links_not_available=Il n'y a pour l'instant pas de compte externe connecté à votre compte Gitea.
link_account=Lier un Compte
remove_account_link=Supprimer un compte lié
remove_account_link_desc=Supprimer un compte lié révoquera son accès à votre compte Gitea. Continuer ?
remove_account_link_success=Le compte lié a été supprimé.
@ -740,7 +809,9 @@ email_notifications.enable=Activer les notifications par e-mail
email_notifications.onmention=N'envoyer un e-mail que si vous êtes mentionné
email_notifications.disable=Désactiver les notifications par email
email_notifications.submit=Définir la préférence e-mail
email_notifications.andyourown=Et vos propres notifications
visibility=Visibilité de l'utilisateur
visibility.public=Publique
visibility.public_tooltip=Visible par tous les utilisateurs
visibility.limited=Limitée
@ -767,6 +838,8 @@ visibility_fork_helper=(Changer ceci affectera toutes les bifurcations.)
clone_helper=Besoin d'aide pour dupliquer ? Visitez <a target="_blank" rel="noopener noreferrer" href="%s">l'aide</a>.
fork_repo=Créer une bifurcation du dépôt
fork_from=Bifurquer depuis
already_forked=Vous avez déjà forké %s
fork_to_different_account=Créer un embranchement vers un autre compte
fork_visibility_helper=La visibilité d'un dépôt bifurqué ne peut pas être modifiée.
use_template=Utiliser ce modèle
clone_in_vsc=Cloner dans VS Code
@ -799,7 +872,9 @@ default_branch=Branche par défaut
default_branch_helper=La branche par défaut est la branche de base pour les demandes d'ajout et les révisions de code.
mirror_prune=Purger
mirror_prune_desc=Supprimer les références externes obsolètes
mirror_interval=Intervalle de synchronisation (les unités de temps valides sont 'h', 'm' et 's'). 0 pour désactiver la synchronisation automatique. (Intervalle minimum : %s)
mirror_interval_invalid=L'intervalle de synchronisation est invalide.
mirror_sync_on_commit=Synchroniser quand les commits sont poussés
mirror_address=Cloner depuis une URL
mirror_address_desc=Insérez tous les identifiants requis dans la section Autorisation.
mirror_address_url_invalid=L'url fournie est invalide. Vous devez échapper tous les composants de l'url correctement.
@ -848,6 +923,7 @@ desc.archived=Archivé
template.items=Élément du modèle
template.git_content=Contenu Git (branche par défaut)
template.git_hooks=Déclencheurs Git
template.git_hooks_tooltip=Vous ne pouvez actuellement pas modifier ou supprimer les déclencheurs Git ajoutés. Sélectionnez cette option uniquement si vous faites confiance au modèle de dépôt.
template.webhooks=Déclencheurs Web
template.topics=Sujets
template.avatar=Avatar
@ -867,7 +943,7 @@ form.name_pattern_not_allowed="%s" n'est pas autorisé dans un nom de dépôt.
need_auth=Autorisation
migrate_options=Options de migration
migrate_service=Service de migration
migrate_options_mirror_helper=Ce dépôt sera un <span class="text blue">miroir</span>
migrate_options_mirror_helper=Ce dépôt sera un miroir
migrate_options_lfs=Migrer les fichiers LFS
migrate_options_lfs_endpoint.label=Point d'accès LFS
migrate_options_lfs_endpoint.description=La migration va tenter d'utiliser votre dépôt Git distant pour <a target="_blank" rel="noopener noreferrer" href="%s">déterminer le serveur LFS</a>. Vous pouvez également spécifier un point d'accès personnalisé si les données LFS du dépôt sont stockées ailleurs.
@ -884,8 +960,10 @@ migrate_items_releases=Versions
migrate_repo=Migrer le dépôt
migrate.clone_address=Migrer/Cloner depuis une URL
migrate.clone_address_desc=L'URL HTTP(S) ou Git "clone" d'un dépôt existant
migrate.github_token_desc=Vous pouvez mettre un ou plusieurs jetons séparés par des virgules ici pour rendre la migration plus rapide en raison de la limite de débit de l'API GitHub. ATTENTION : Abuser de cette fonctionnalité peut enfreindre la politique du fournisseur de services et entraîner un blocage de compte.
migrate.clone_local_path=ou un chemin serveur local
migrate.permission_denied=Vous n'êtes pas autorisé à importer des dépôts locaux.
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=Chemin local non valide, non existant ou n'étant pas un dossier.
migrate.invalid_lfs_endpoint=Le point d'accès LFS n'est pas valide.
migrate.failed=Echec de migration: %v
@ -896,11 +974,15 @@ migrate.migrate=Migrer depuis %s
migrate.migrating=Migration de <b>%s</b> ...
migrate.migrating_failed=La migration de <b>%s</b> a échoué.
migrate.migrating_failed.error=Erreur: %s
migrate.migrating_failed_no_addr=Échec de la migration.
migrate.github.description=Migrer les données depuis github.com ou dautres instances de GitHub.
migrate.git.description=Migrer uniquement un dépôt depuis nimporte quel service Git.
migrate.gitlab.description=Migrer les données depuis gitlab.com ou dautres instances de GitLab.
migrate.gitea.description=Migrer les données depuis gitea.com ou dautres instances de Gitea.
migrate.gogs.description=Migrer les données depuis notabug.org ou dautres instances de Gogs.
migrate.onedev.description=Migrer les données depuis code.onedev.io ou dautre instance de OneDev.
migrate.codebase.description=Migrer les données depuis codebasehq.com.
migrate.gitbucket.description=Migrer les données depuis des instances GitBucket.
migrate.migrating_git=Migration des données Git
migrate.migrating_topics=Migration des sujets
migrate.migrating_milestones=Migration des jalons
@ -929,6 +1011,7 @@ clone_this_repo=Cloner ce dépôt
create_new_repo_command=Création d'un nouveau dépôt en ligne de commande
push_exist_repo=Soumission d'un dépôt existant par ligne de commande
empty_message=Ce dépôt n'a pas de contenu.
broken_message=Les données git de ce dépôt ne peuvent pas être lues. Contactez l'administrateur de cette instance ou supprimez ce dépôt.
code=Code
code.desc=Accéder au code source, fichiers, révisions et branches.
@ -942,6 +1025,7 @@ tags=Tags
issues=Tickets
pulls=Demandes d'ajout
project_board=Projets
packages=Paquets
labels=Étiquettes
org_labels_desc=Les étiquettes de niveau d'une organisation peuvent être utilisés avec <strong>tous les dépôts</strong> de cette organisation
org_labels_desc_manage=gérer
@ -961,7 +1045,15 @@ file_view_rendered=Voir le rendu
file_view_raw=Voir le Raw
file_permalink=Lien permanent
file_too_large=Le fichier est trop gros pour être affiché.
invisible_runes_header=`Ce fichier contient des caractères Unicode invisibles !`
invisible_runes_description=`Ce fichier contient des caractères Unicode invisibles qui pourraient être affichés différemment de ce qui apparaît ci-dessous. Si votre cas d'utilisation est intentionnel et légitime, vous pouvez ignorer en toute sécurité cet avertissement. Utilisez le bouton Échapper pour mettre en évidence ces caractères invisbles.`
ambiguous_runes_header=`Ce fichier contient des caractères Unicode ambigus !`
invisible_runes_line=`Cette ligne contient des caractères Unicode invisibles`
ambiguous_runes_line=`Cette ligne contient des caractères Unicode ambigus`
ambiguous_character=`%[1]c [U+%04[1]X] peut être confondu avec %[2]c [U+%04[2]X]`
escape_control_characters=Échapper
unescape_control_characters=Annuler l'échappement
file_copy_permalink=Copier le lien permanent
video_not_supported_in_browser=Votre navigateur ne supporte pas le tag HTML5 "video".
audio_not_supported_in_browser=Votre navigateur ne supporte pas la balise « audio » HTML5.
@ -978,6 +1070,7 @@ normal_view=Vue normale
line=ligne
lines=lignes
editor.add_file=Ajouter un fichier
editor.new_file=Nouveau fichier
editor.upload_file=Téléverser un fichier
editor.edit_file=Modifier le fichier
@ -1001,6 +1094,10 @@ editor.add_tmpl=Ajouter '<filename>'
editor.add=Ajouter '%s'
editor.update=Mise à jour de '%s'
editor.delete=Supprimer '%s'
editor.patch=Appliquer le correctif
editor.patching=Correction:
editor.fail_to_apply_patch=Impossible d'appliquer le correctif '%s'
editor.new_patch=Nouveau correctif
editor.commit_message_desc=Ajouter une description détaillée facultative…
editor.signoff_desc=Ajout d'un trailer Signed-off-by par le committeur à la fin du message du journal de commit.
editor.commit_directly_to_this_branch=Soumettre directement dans la branche <strong class="branch-name">%s</strong>.
@ -1025,6 +1122,8 @@ editor.commit_empty_file_text=Le fichier que vous allez commiter est vide. Conti
editor.no_changes_to_show=Il ny a aucun changement à afficher.
editor.fail_to_update_file=Impossible de mettre à jour/créer le fichier '%s'.
editor.fail_to_update_file_summary=Message d'erreur :
editor.push_rejected_no_message=La modification a été rejetée par le serveur sans message. Veuillez vérifier les Git Hooks.
editor.push_rejected=La modification a été rejetée par le serveur. Veuillez vérifier vos Git Hooks.
editor.push_rejected_summary=Message de rejet complet :
editor.add_subdir=Ajouter un dossier…
editor.unable_to_upload_files=Échec lors de l'envoie du fichier '%s' avec lerreur : %v
@ -1034,6 +1133,8 @@ editor.cannot_commit_to_protected_branch=Impossible de créer une révision sur
editor.no_commit_to_branch=Impossible d'enregistrer la révisions directement sur la branche parce que :
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.cherry_pick=Picorer %s vers:
editor.revert=Rétablir %s sur:
commits.desc=Naviguer dans l'historique des modifications.
commits.commits=Révisions
@ -1052,7 +1153,15 @@ commits.signed_by=Signé par
commits.signed_by_untrusted_user=Signé par un utilisateur non approuvé
commits.signed_by_untrusted_user_unmatched=Signé par un utilisateur non fiable qui ne correspond pas au validateur
commits.gpg_key_id=ID de la clé GPG
commits.ssh_key_fingerprint=Empreinte numérique de la clé SSH
commit.actions=Actions
commit.revert=Rétablir
commit.revert-header=Rétablir : %s
commit.revert-content=Sélectionnez la branche sur laquelle revenir :
commit.cherry-pick=Picorer
commit.cherry-pick-header=Picorer : %s
commit.cherry-pick-content=Sélectionner la branche à picorer :
ext_issues.desc=Lien vers un gestionnaire de tickets externe.
@ -1120,12 +1229,12 @@ issues.new.assignees=Affecté à
issues.new.add_assignees_title=Assigner des utilisateurs
issues.new.clear_assignees=Supprimer les affectations
issues.new.no_assignees=Pas d'assignataires
issues.new.no_reviewers=Pas de relecteur
issues.new.no_reviewers=Aucune évaluation
issues.new.add_reviewer_title=Demander une revue
issues.choose.get_started=Démarrons
issues.choose.blank=Par défaut
issues.choose.blank_about=Créer un ticket à partir du modèle par défaut.
issues.no_ref=Aucune branche/tag spécifiés
issues.no_ref=Aucune branche/étiquette spécifiées
issues.create=Créer un ticket
issues.new_label=Nouvelle étiquette
issues.new_label_placeholder=Nom de l'étiquette
@ -1162,6 +1271,8 @@ issues.filter_milestone=Jalon
issues.filter_milestone_no_select=Tous les jalons
issues.filter_assignee=Assigné
issues.filter_assginee_no_select=Toutes les affectations
issues.filter_poster=Auteur
issues.filter_poster_no_select=Tous les auteurs
issues.filter_type=Type
issues.filter_type.all_issues=Tous les tickets
issues.filter_type.assigned_to_you=Qui vous sont assignés
@ -1220,7 +1331,7 @@ issues.ref_reopening_from=`<a href="%[3]s">a référencé une pull request %[4]s
issues.ref_closed_from=`<a href="%[3]s">a fermé ce ticket %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_reopened_from=`<a href="%[3]s">a réouvert ce ticket %[4]s</a> <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.ref_from=`de %[1]s`
issues.poster=Publier
issues.poster=Éditeur
issues.collaborator=Collaborateur
issues.owner=Propriétaire
issues.re_request_review=Redemander la revue
@ -1307,7 +1418,6 @@ issues.due_date_form_remove=Supprimer
issues.due_date_not_writer=Vous devez avoir accès au dépôt en écriture pour mettre à jour l'échéance d'un ticket.
issues.due_date_not_set=Aucune échéance n'a été définie.
issues.due_date_added=a ajouté l'échéance %s %s
issues.due_date_modified=a modifié l'échéance de %[2]s vers %[1]s %[3]s
issues.due_date_remove=a supprimé l'échéance %s %s
issues.due_date_overdue=En retard
issues.due_date_invalid=La date déchéance est invalide ou hors plage. Veuillez utiliser le format 'aaaa-mm-dd'.
@ -1373,6 +1483,7 @@ compare.compare_head=comparer
pulls.desc=Activer les demandes de fusion et la revue de code.
pulls.new=Nouvelle demande d'ajout
pulls.view=Voir la demande d'ajout
pulls.compare_changes=Nouvelle demande de fusion
pulls.compare_changes_desc=Sélectionnez la branche dans laquelle fusionner et la branche depuis laquelle tirer les modifications.
pulls.compare_base=fusionner dans
@ -1382,6 +1493,7 @@ pulls.filter_branch=Filtre de branche
pulls.no_results=Aucun résultat trouvé.
pulls.nothing_to_compare=Ces branches sont identiques. Il n'y a pas besoin de créer une demande de fusion.
pulls.nothing_to_compare_and_allow_empty_pr=Ces branches sont égales. Cette demande d'ajout sera vide.
pulls.has_pull_request='Il existe déjà une demande d'ajout entre ces deux branches : <a href="%[1]s">%[2]s#%[3]d</a>'
pulls.create=Créer une demande d'ajout
pulls.title_desc=veut fusionner %[1]d révision(s) depuis <code>%[2]s</code> vers <code id="branch_target">%[3]s</code>
pulls.merged_title_desc=a fusionné %[1]d révision(s) à partir de <code>%[2]s</code> vers <code>%[3]s</code> %[4]s
@ -1405,7 +1517,6 @@ pulls.remove_prefix=Enlever le préfixe <strong>%s</strong>
pulls.data_broken=Cette demande de fusion est impossible par manque d'informations de bifurcation.
pulls.files_conflicted=Cette demande d'ajout contient des modifications en conflit avec la branche ciblée.
pulls.is_checking=Vérification des conflits de fusion en cours. Réessayez dans quelques instants.
pulls.is_empty=Cette branche est identique à la branche cible.
pulls.required_status_check_failed=Certains contrôles requis n'ont pas réussi.
pulls.required_status_check_missing=Certains contrôles requis sont manquants.
pulls.required_status_check_administrator=En tant qu'administrateur, vous pouvez toujours fusionner cette requête de pull.
@ -1433,6 +1544,10 @@ pulls.no_merge_helper=Activez des options de fusion dans les paramètres du dép
pulls.no_merge_wip=Cette demande d'ajout ne peut pas être fusionnée car elle est marquée comme en cours de chantier.
pulls.no_merge_not_ready=Cette demande d'ajout n'est pas prête à être fusionnée, vérifiez l'état de la revue et les vérifications.
pulls.no_merge_access=Vous n'êtes pas autorisé⋅e à fusionner cette demande d'ajout.
pulls.merge_pull_request=Créer une révision de fusion
pulls.rebase_merge_pull_request=Rebaser puis avancer rapidement
pulls.rebase_merge_commit_pull_request=Rebaser puis créer une révision de fusion
pulls.squash_merge_pull_request=Créer une révision de concaténation
pulls.merge_manually=Fusionné manuellement
pulls.merge_commit_id=L'ID de la révision de fusion
pulls.require_signed_wont_sign=La branche nécessite des révisions signées mais cette fusion ne sera pas signée
@ -1446,6 +1561,7 @@ 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.merge_out_of_date=Échec de la fusion: La base a été mise à jour en cours de fusion. Indice : Réessayez.
pulls.push_rejected_summary=Message de rejet complet
pulls.push_rejected_no_message=Échec de la fusion : La poussée a été rejetée mais il n'y avait pas de message distant. <br>Revoyez les Git Hooks pour ce dépot
pulls.open_unmerged_pull_exists=`Vous ne pouvez pas ré-ouvrir cette demande de fusion car il y a une demande de fusion (#%d) en attente avec des propriétés identiques.`
pulls.status_checking=Certains contrôles sont en attente
pulls.status_checks_success=Tous les contrôles ont réussi
@ -1463,8 +1579,17 @@ pulls.merge_instruction_hint=`Vous pouvez également voir <a class="show-instruc
pulls.merge_instruction_step1_desc=Depuis le dépôt de votre projet, sélectionnez une nouvelle branche et testez les modifications.
pulls.merge_instruction_step2_desc=Fusionner les modifications et mettre à jour sur Gitea.
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_not_scheduled=Cette demande d'ajout n'est pas planifiée pour fusionner automatiquement.
pulls.auto_merge_canceled_schedule=La fusion automatique a été annulée pour cette demande d'ajout.
pulls.auto_merge_newly_scheduled_comment=`a programmé cette demande de fusion automatique lorsque toutes les vérifications réussissent %[1]s`
pulls.auto_merge_canceled_schedule_comment=`a annulé la fusion automatique de cette demande d'ajout lorsque toutes les vérifications réussissent %[1]s`
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é)
milestones.new=Nouveau jalon
milestones.closed=%s fermé
@ -1616,7 +1741,7 @@ settings.collaboration.write=Écriture
settings.collaboration.read=Lecture
settings.collaboration.owner=Propriétaire
settings.collaboration.undefined=Indéfini
settings.hooks=Déclencheurs Web
settings.hooks=Webhooks
settings.githooks=Déclencheurs Git
settings.basic_settings=Paramètres de base
settings.mirror_settings=Réglages Miroir
@ -1627,10 +1752,6 @@ settings.mirror_settings.last_update=Dernière mise à jour
settings.mirror_settings.push_mirror.remote_url=URL du dépôt distant Git
settings.sync_mirror=Synchroniser maintenant
settings.mirror_sync_in_progress=La synchronisation est en cours. Revenez dans une minute.
settings.email_notifications.enable=Activer les notifications par e-mail
settings.email_notifications.onmention=N'envoyer un e-mail que si vous êtes mentionné
settings.email_notifications.disable=Désactiver les notifications par e-mail
settings.email_notifications.submit=Définir la préférence e-mail
settings.site=Site Web
settings.update_settings=Valider
settings.branches.update_default_branch=Changer la Branche par Défaut
@ -1663,6 +1784,7 @@ settings.pulls.allow_rebase_merge_commit=Activer le rebasage avec un commit de f
settings.pulls.allow_squash_commits=Activer la concaténation de révisions
settings.pulls.allow_manual_merge=Activer le marquage des demandes d'ajout comme fusionnées manuellement
settings.pulls.enable_autodetect_manual_merge=Activer la détection automatique de la fusion manuelle (Remarque : dans certains cas particuliers, des erreurs de détection peuvent se produire)
settings.pulls.allow_rebase_update=Activer la mise à jour de demande d'ajout par rebase
settings.pulls.default_delete_branch_after_merge=Supprimer la branche après la fusion par default
settings.projects_desc=Activer les projets de dépôt
settings.admin_settings=Paramètres administrateur
@ -1742,13 +1864,13 @@ settings.search_team=Rechercher une équipe…
settings.change_team_permission_tip=La permission de l'équipe est définie sur la page de configuration de l'équipe et ne peut pas être modifiée par dépôt
settings.delete_team_tip=Cette équipe a accès à tous les dépôts et ne peut pas être supprimée
settings.remove_team_success=L'accès de l'équipe au dépôt a été supprimé.
settings.add_webhook=Ajouter un déclencheur Web
settings.add_webhook=Ajouter un Webhook
settings.add_webhook.invalid_channel_name=Le nom du canal Webhook ne peut pas être vide et ne peut pas contenir seulement un caractère #.
settings.hooks_desc=Les Webhooks font automatiquement des requêtes HTTP POST à un serveur lorsque certains événements Gitea se déclenchent. Lire la suite dans le <a target="_blank" rel="noopener noreferrer" href="%s">guide des Webhooks</a>.
settings.webhook_deletion=Retirer le Webhook
settings.webhook_deletion_desc=Supprimer un webhook supprime ses paramètres et son historique. Continuer ?
settings.webhook_deletion_success=Le webhook a été supprimé.
settings.webhook.test_delivery=Tester la version
settings.webhook.test_delivery=Tester l'envoi
settings.webhook.test_delivery_desc=Testez ce webhook avec un faux événement.
settings.webhook.request=Requête
settings.webhook.response=Réponse
@ -1763,7 +1885,7 @@ settings.add_webhook_desc=Gitea enverra à l'URL cible des requêtes <code>POST<
settings.payload_url=URL cible
settings.http_method=Méthode HTTP
settings.content_type=Type de contenu POST
settings.secret=Confidentiel
settings.secret=Secret
settings.slack_username=Nom d'utilisateur
settings.slack_icon_url=URL de l'icône
settings.discord_username=Nom d'utilisateur
@ -1773,19 +1895,19 @@ settings.event_push_only=Événements de poussée
settings.event_send_everything=Tous les événements
settings.event_choose=Événements personnalisés…
settings.event_header_repository=Événements du dépôt
settings.event_create=Créer
settings.event_create_desc=Branche ou Tag créé.
settings.event_delete=Supprimer
settings.event_delete_desc=Branche ou étiquette supprimé.
settings.event_create=Création
settings.event_create_desc=Branche ou étiquette créé.
settings.event_delete=Suppression
settings.event_delete_desc=Branche ou étiquette supprimée.
settings.event_fork=Bifurcation
settings.event_fork_desc=Dépôt bifurqué.
settings.event_release=Version
settings.event_release_desc=Version publiée, mise à jour ou supprimée dans un dépôt.
settings.event_push=Pousser
settings.event_push=Poussée
settings.event_push_desc=Git push vers un dépôt.
settings.event_repository=Dépôt
settings.event_repository_desc=Dépôt créé ou supprimé.
settings.event_header_issue=Événements du ticket
settings.event_header_issue=Événements des tickets
settings.event_issues=Tickets
settings.event_issues_desc=Ticket ouvert, fermé, ré-ouvert ou modifié.
settings.event_issue_assign=Ticket assigné
@ -1793,7 +1915,7 @@ settings.event_issue_assign_desc=Ticket assigné ou non assigné.
settings.event_issue_label=Étiquettes des tickets
settings.event_issue_label_desc=Étiquettes de ticket mises à jour ou effacées.
settings.event_issue_milestone=Ticket jalonnée
settings.event_issue_milestone_desc=Ticket jalonnée ou dé-jalonnée.
settings.event_issue_milestone_desc=Ticket jalonné ou dé-jalonné.
settings.event_issue_comment=Commentaire du ticket
settings.event_issue_comment_desc=Commentaire du ticket créé, modifié, ou supprimé.
settings.event_header_pull_request=Événements de demande d'ajout
@ -1999,7 +2121,7 @@ release.new_subheader=Les versions organisent les versions publiées du projet.
release.edit_subheader=Les versions organisent les versions publiées du projet.
release.tag_name=Nom du tag
release.target=Cible
release.tag_helper=Choisissez un tag existant ou créez un nouveau tag.
release.tag_helper=Choisissez une étiquette existante ou créez une nouvelle étiquette.
release.title=Titre
release.content=Contenu
release.prerelease_desc=Marquer comme pré-version
@ -2009,12 +2131,12 @@ release.publish=Publier
release.save_draft=Sauvegarder le Brouillon
release.edit_release=Modifier la version
release.delete_release=Supprimer cette version
release.delete_tag=Supprimer le tag
release.delete_tag=Supprimer l'étiquette
release.deletion=Supprimer cette version
release.deletion_success=Cette livraison a été supprimée.
release.deletion_tag_success=L'étiquette a été supprimée.
release.tag_name_already_exist=Une version avec ce nom de balise existe déjà.
release.tag_name_invalid=Le nom de balise est invalide.
release.tag_name_already_exist=Une version avec ce nom d'étiquette existe déjà.
release.tag_name_invalid=Le nom de l'étiquette est invalide.
release.tag_already_exist=Ce nom d'étiquette existe déjà.
release.downloads=Téléchargements
release.download_count=Télécharger: %s
@ -2034,7 +2156,7 @@ branch.create_from=de '%s'
branch.create_success=La branche "%s" a été crée.
branch.branch_already_exists=La branche '%s' existe déjà dans ce dépôt.
branch.branch_name_conflict=Le nom de la branche « %s » est en conflit avec une branche existante « %s ».
branch.tag_collision=La branche '%s' ne peut être créée comme une balise car un nom identique existe déjà dans le dépôt.
branch.tag_collision=La branche '%s' ne peut être créée comme une étiquette avec un nom identique existe déjà dans le dépôt.
branch.deleted_by=Supprimée par %s
branch.restore_success=La branche "%s" a été restaurée.
branch.restore_failed=La restauration de la branche '%s' a échoué.
@ -2109,7 +2231,7 @@ settings.delete_prompt=Cette organisation sera supprimée définitivement. Cette
settings.confirm_delete_account=Confirmez la suppression
settings.delete_org_title=Supprimer l'organisation
settings.delete_org_desc=Cette organisation sera supprimée définitivement. Voulez-vous continuer ?
settings.hooks_desc=Vous pouvez ajouter des déclencheurs qui seront activés pour <strong>tous les dépôts</strong> de cette organisation.
settings.hooks_desc=Vous pouvez ajouter des webhooks qui seront activés pour <strong>tous les dépôts</strong> de cette organisation.
settings.labels_desc=Ajouter des étiquettes qui peuvent être utilisées sur les tickets pour <strong>tous les dépôts</strong> dans cette organisation.
@ -2318,6 +2440,7 @@ repos.forks=Bifurcations
repos.issues=Tickets
repos.size=Taille
packages.published=Publiés
systemhooks=Rappels système
@ -2487,11 +2610,8 @@ config.queue_length=Longueur de la file d'attente
config.deliver_timeout=Expiration d'Envoi
config.skip_tls_verify=Passer la vérification TLS
config.mailer_config=Configuration du service SMTP
config.mailer_enabled=Activé
config.mailer_disable_helo=Désactiver HELO
config.mailer_name=Nom
config.mailer_host=Hôte
config.mailer_user=Utilisateur
config.mailer_use_sendmail=Utiliser Sendmail
config.mailer_sendmail_path=Chemin daccès à Sendmail
@ -2549,6 +2669,7 @@ config.access_log_template=Modèle
config.xorm_log_mode=Mode de journalisation de XORM
config.xorm_log_sql=Activer la journalisation SQL
monitor.cron=Tâches récurrentes
monitor.name=Nom
monitor.schedule=Planification
@ -2619,9 +2740,9 @@ notices.system_notice_list=Informations
notices.view_detail_header=Voir les détails de l'information système
notices.actions=Actions
notices.select_all=Tout Sélectionner
notices.deselect_all=Tous déselectionner
notices.deselect_all=Tout désélectionner
notices.inverse_selection=Inverser la sélection
notices.delete_selected=Supprimé les éléments sélectionnés
notices.delete_selected=Supprimer les éléments sélectionnés
notices.delete_all=Supprimer toutes les notifications
notices.type=Type
notices.type_1=Dépôt
@ -2633,6 +2754,11 @@ notices.delete_success=Les informations systèmes ont été supprimées.
[action]
create_repo=a créé le dépôt <a href="%s">%s</a>
rename_repo=a rebaptisé le dépôt de <code>%[1]s</code> vers <a href="%[2]s">%[3]s</a>
create_pull_request=`a créé la demande d'ajout <a href="%[1]s">%[3]s#%[2]s</a>`
close_pull_request=`a fermé la demande d'ajout <a href="%[1]s">%[3]s#%[2]s</a>`
reopen_pull_request=`a réouvert la demande d'ajout <a href="%[1]s">%[3]s#%[2]s</a>`
comment_pull=`a commenté la demande d'ajout <a href="%[1]s">%[3]s#%[2]s</a>`
merge_pull_request=`a fusionné la demande d'ajout <a href="%[1]s">%[3]s#%[2]s</a>`
transfer_repo=a transféré le dépôt <code>%s</code> à <a href="%s">%s</a>
delete_tag=étiquette supprimée %[2]s de <a href="%[1]s">%[3]s</a>
delete_branch=branche %[2]s supprimée de <a href="%[1]s">%[3]s</a>
@ -2640,6 +2766,9 @@ compare_branch=Comparer
compare_commits=Comparer %d révisions
compare_commits_general=Comparer les révisions
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>`
reject_pull_request=`a suggérés des changements pour <a href="%[1]s">%[3]s#%[2]s</a>`
publish_release=`a publié <a href="%[2]s"> "%[4]s" </a> à <a href="%[1]s">%[3]s</a>`
review_dismissed_reason=Raison :
[tool]
@ -2697,4 +2826,8 @@ error.no_unit_allowed_repo=Vous n'êtes pas autorisé à accéder à n'importe q
error.unit_not_allowed=Vous n'êtes pas autorisé à accéder à cette section du dépôt.
[packages]
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.
published_by_in=%[1]s publié par <a href="%[2]s">%[3]s</a> en <a href="%[4]s"><strong>%[5]s</strong></a>
rubygems.required.ruby=Nécessite la version de Ruby
rubygems.required.rubygems=Nécessite la version de RubyGem

View File

@ -8,7 +8,6 @@ sign_out=Kijelentkezés
sign_up=Regisztrálás
link_account=Fiók kapcsolása
register=Regisztráció
website=Webhely
version=Verzió
powered_by=Biztosítja: %s
page=Oldal
@ -81,6 +80,8 @@ error404=Az elérni kívánt oldal vagy <strong>nem létezik</strong>, vagy <str
[filter]
[error]
[startpage]
@ -135,7 +136,6 @@ log_root_path_helper=A naplófájlok ebbe a mappába fognak íródni.
optional_title=További beállítások
email_title=E-mail beállítások
smtp_host=SMTP kiszolgáló
smtp_from=E-mail küldése mint
smtp_from_helper=Az E-mail cím a mit a Gitea használni fog. Megadhatja sima email címként vagy "Név<email@példa.hu>" formátumban.
mailer_user=SMTP-felhasználónév
@ -218,6 +218,7 @@ code_no_results=Nincs találat a keresési kifejezésedre.
code_search_results=Keresési találatok "%s"
code_last_indexed_at=Utoljára indexelve: %s
[auth]
create_new_account=Regisztráció
register_helper_msg=Van már felhasználói fiókja? Jelentkezzen be!
@ -292,6 +293,7 @@ register_success=Sikeres regisztráció
[modal]
yes=Igen
no=Nem
@ -922,7 +924,6 @@ issues.due_date_form_add=Határidő hozzáadása
issues.due_date_form_edit=Szerkesztés
issues.due_date_form_remove=Eltávolítás
issues.due_date_not_set=Nincs beállítva határidő.
issues.due_date_modified=határidő módosítva %s-ről %s %s-re
issues.due_date_remove=%s %s-es határidő eltávolítva
issues.due_date_overdue=Lejárt
issues.dependency.title=Függőségek
@ -976,6 +977,7 @@ pulls.status_checks_success=Minden ellenőrzés sikeres volt
milestones.new=Új mérföldkő
milestones.closed=Lezárva: %s
milestones.no_due_date=Nincs határidő
@ -1104,10 +1106,6 @@ settings.basic_settings=Alap beállítások
settings.mirror_settings=Tükrözési beállítások
settings.sync_mirror=Szinkronizálás most
settings.mirror_sync_in_progress=Tükör szinkronizálása folyamatban. Kérem várjon.
settings.email_notifications.enable=Email értesítések engedélyezése
settings.email_notifications.onmention=Email küldése csak megjelölés esetén
settings.email_notifications.disable=Email értesítés kikapcsolása
settings.email_notifications.submit=E-mail beállítások megadása
settings.site=Weboldal
settings.update_settings=Beállítások frissítése
settings.advanced_settings=Haladó beállítások
@ -1629,11 +1627,8 @@ config.queue_length=Várakozási Sor Hossza
config.deliver_timeout=Kézbesítési Időtúllépés
config.skip_tls_verify=A TLS Hitelesítés Kihagyása
config.mailer_config=SMTP levelező Beállítások
config.mailer_enabled=Engedélyezett
config.mailer_disable_helo=HELO Letiltása
config.mailer_name=Név
config.mailer_host=Kiszolgáló
config.mailer_user=Felhasználó
config.mailer_use_sendmail=Sendmail Használata
config.mailer_sendmail_path=Sendmail Elérési Útja
@ -1680,6 +1675,7 @@ config.disabled_logger=Letiltva
config.access_log_template=Sablon
config.xorm_log_sql=SQL naplózása
monitor.cron=Ütemezett Feladatok
monitor.name=Név
monitor.schedule=Ütemezés

View File

@ -8,7 +8,6 @@ sign_out=Keluar
sign_up=Daftar
link_account=Tautan Akun
register=Daftar
website=Situs Web
version=Versi
powered_by=Diberdayakan oleh %s
page=Halaman
@ -74,6 +73,8 @@ loading=Memuat…
[filter]
[error]
[startpage]
@ -131,7 +132,6 @@ log_root_path_helper=Berkas log akan ditulis ke direktori ini.
optional_title=Pengaturan Opsional
email_title=Pengaturan Surel
smtp_host=Host SMTP
smtp_from=Kirim Surel sebagai
smtp_from_helper=Alamat surel Gitea akan digunakan. Masukkan alamat surel atau gunakan fomat "Nama" <email@example.com>.
mailer_user=Nama Pengguna SMTP
@ -208,6 +208,7 @@ org_no_results=Tidak ada organisasi yang cocok ditemukan.
code_no_results=Tidak ada kode sumber yang cocok dengan istilah yang anda cari.
code_search_results=Hasil pencarian untuk '%s'
[auth]
create_new_account=Daftar Akun
register_helper_msg=Sudah memiliki akun? Masuk sekarang!
@ -283,6 +284,7 @@ register_success=Pendaftaran berhasil
[modal]
yes=Ya
no=Tidak
@ -841,6 +843,7 @@ pulls.can_auto_merge_desc=Permintaan tarik ini dapat digabung secara otomatis.
milestones.new=Milestone Baru
milestones.closed=Tertutup %s
milestones.no_due_date=Tidak ada jatuh tempo
@ -1234,11 +1237,8 @@ config.queue_length=Panjang antrian
config.deliver_timeout=Berikan waktu habis
config.skip_tls_verify=Melewatkan verifikasi TLS
config.mailer_config=Pengaturan SMTP Mailer
config.mailer_enabled=Diaktifkan
config.mailer_disable_helo=Nonaktifkan HELO
config.mailer_name=Nama
config.mailer_host=Host
config.mailer_user=Pengguna
config.mailer_use_sendmail=Menggunakan Sendmail
config.mailer_sendmail_path=Jalur Sendmail
@ -1286,6 +1286,7 @@ config.log_mode=Mode catat
config.disabled_logger=Nonaktif
config.xorm_log_sql=Catatan SQL
monitor.cron=Tugas Cron
monitor.name=Nama
monitor.schedule=Jadwal

View File

@ -8,7 +8,6 @@ sign_out=Skrá Út
sign_up=Nýskráning
link_account=Tengja Notanda
register=Nýskráning
website=Vefsíða
version=Útgáfa
powered_by=Keyrt af %s
page=Síða
@ -46,7 +45,6 @@ webauthn_error_unable_to_process=Netþjónninn gat ekki ráðið við beiðni þ
webauthn_error_duplicated=Öryggislykillinn er ekki leyfður fyrir þessa beiðni. Gakktu úr skugga um að lykillinn sé ekki þegar skráður.
webauthn_error_empty=Þú verður að setja nafn fyrir þennan lykil.
webauthn_error_timeout=Tímamörk náð áður en hægt var að lesa lykilinn þinn. Vinsamlegast endurhlaðið þessa síðu og reyndu aftur.
webauthn_u2f_deprecated=Lykillinn: „%s“ auðkennir með því að nota úrelta U2F aðferð. Þú ættir að endurskrá þennan lykil og fjarlægja gömlu skráninguna.
webauthn_reload=Endurhlaða
repository=Hugbúnaðarsafn
@ -106,6 +104,8 @@ error404=Síðan sem þú ert að reyna að fá annað hvort <strong>er ekki til
never=Aldrei
[filter]
[error]
occurred=Villa kom upp
report_message=Ef þú ert viss um að þetta sé villa í Gitea þá skaltu leita að vandamálum á <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> eða opna nýtt vandamál ef þörf krefst.
@ -178,7 +178,6 @@ log_root_path_helper=Annálaskrár verða skrifaðar í þessa möppu.
optional_title=Valfrjálsar Stillingar
email_title=Tölvupóstsstillingar
smtp_host=SMTP Hýsill
smtp_from=Senda Tölvupóst Sem
smtp_from_helper=Netfang sem Gitea mun nota. Sláðu inn venjulegt netfang eða notaðu „Nafn“ <email@example.com> sniðið.
mailer_user=SMTP Notandanafn
@ -241,6 +240,7 @@ org_no_results=Engar samsvarandi stofnanir fundust.
code_no_results=Enginn samsvarandi frumkóði fannst eftur þínum leitarorðum.
code_search_results=Leitarniðurstöður fyrir „%s“
[auth]
create_new_account=Skrá Notanda
register_helper_msg=Ertu nú þegar með notanda? Skráðu þig inn núna!
@ -341,6 +341,7 @@ repo.transfer.body=Til að samþykkja eða hafna því skaltu fara á %s eða hu
repo.collaborator.added.subject=%s bætti þér við í %s
repo.collaborator.added.text=Þér hefur verið bætt við sem aðila hugbúnaðarsafns:
[modal]
yes=
no=Nei
@ -930,6 +931,7 @@ pulls.status_checks_details=Nánar
milestones.new=Nýtt tímamót
milestones.closed=Lokaði %s
milestones.update_ago=Uppfært fyrir %s
@ -1026,10 +1028,6 @@ settings.mirror_settings.direction.pull=Pull
settings.mirror_settings.direction.push=Push
settings.mirror_settings.last_update=Síðasta uppfærsla
settings.mirror_settings.push_mirror.remote_url=Vefslóð Git Fjarhugbúnaðarsafns
settings.email_notifications.enable=Virkja Tölvupósttilkynningar
settings.email_notifications.onmention=Aðeins Tölvupóst Þegar Minnst Er á Mig
settings.email_notifications.disable=Óvirkja Tölvupósttilkynningar
settings.email_notifications.submit=Stilla Val á Tölvupósti
settings.site=Vefsíða
settings.update_settings=Uppfæra Stillingar
settings.branches.update_default_branch=Uppfæra Sjálfgefna Grein
@ -1269,7 +1267,6 @@ config.db_path=Slóð
config.mailer_name=Heiti
config.mailer_host=Hýsill
config.mailer_user=Notandi
@ -1279,6 +1276,7 @@ config.https_only=Aðeins HTTPS
monitor.name=Heiti
monitor.goroutines=%d Górútínur
monitor.desc=Lýsing

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,6 @@ sign_out=サインアウト
sign_up=登録
link_account=アカウント連携
register=登録
website=Webサイト
version=バージョン
powered_by=Powered by %s
page=ページ
@ -47,7 +46,6 @@ webauthn_error_unable_to_process=サーバーがリクエストを処理でき
webauthn_error_duplicated=このリクエストに対しては、許可されていないセキュリティキーです。 キーが未登録であることを確認してください。
webauthn_error_empty=このキーに名前を設定する必要があります。
webauthn_error_timeout=キーを読み取る前にタイムアウトになりました。 このページをリロードしてもう一度やり直してください。
webauthn_u2f_deprecated=キー: '%s' は非推奨のU2Fプロセスを使用して認証しています。このキーを再登録して古い登録を削除したほうが良いでしょう。
webauthn_reload=リロード
repository=リポジトリ
@ -108,6 +106,8 @@ never=無し
rss_feed=RSSフィード
[filter]
[error]
occurred=エラーが発生しました.
report_message=Gitea のバグが疑われる場合は、<a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a>でIssueを検索して、見つからなければ新しいIssueを作成してください。
@ -180,7 +180,8 @@ log_root_path_helper=ログファイルがこのディレクトリに書き込
optional_title=オプション設定
email_title=メール設定
smtp_host=SMTPホスト
smtp_addr=SMTPホスト
smtp_port=SMTPポート
smtp_from=メール送信者
smtp_from_helper=Giteaが使用するメールアドレス。 メールアドレスのみ、または、 "名前" <email@example.com> の形式で入力してください。
mailer_user=SMTPユーザー名
@ -269,8 +270,11 @@ users=ユーザー
organizations=組織
search=検索
code=コード
search.type.tooltip=検索タイプ
search.fuzzy=あいまい
search.fuzzy.tooltip=検索ワードにおおよそ一致している結果も含めます
search.match=一致
search.match.tooltip=検索ワードに一致する結果だけを含めます
code_search_unavailable=現在コード検索は利用できません。 サイト管理者にお問い合わせください。
repo_no_results=一致するリポジトリが見つかりません。
user_no_results=一致するユーザーが見つかりません。
@ -278,6 +282,9 @@ org_no_results=一致する組織が見つかりません。
code_no_results=検索ワードに一致するソースコードが見つかりません。
code_search_results='%s' の検索結果
code_last_indexed_at=最終取得 %s
relevant_repositories_tooltip=フォークリポジトリや、トピック、アイコン、説明のいずれも無いリポジトリは表示されません。
relevant_repositories=妥当と思われるリポジトリのみを表示しています。 <a href="%s">フィルタリングしない結果を表示</a>。
[auth]
create_new_account=アカウントを登録
@ -407,6 +414,7 @@ repo.transfer.body=承認または拒否するには %s を開きます。 も
repo.collaborator.added.subject=%s が %s にあなたを追加しました
repo.collaborator.added.text=あなたは次のリポジトリの共同作業者に追加されました:
[modal]
yes=はい
no=いいえ
@ -443,6 +451,7 @@ size_error=は%s文字である必要があります。
min_size_error=`は%s文字以上である必要があります。`
max_size_error=`は%s文字以下である必要があります。`
email_error=`は有効なメールアドレスではありません。`
url_error=`'%s' は有効なURLではありません。`
include_error=`は文字列 '%s' を含んでいる必要があります。`
glob_pattern_error=`のglobパターンが不正です: %s.`
regex_pattern_error=`の正規表現パターンが不正です: %s.`
@ -504,6 +513,7 @@ activity=公開アクティビティ
followers=フォロワー
starred=スター付きリポジトリ
watched=ウォッチ中リポジトリ
code=コード
projects=プロジェクト
following=フォロー中
follow=フォロー
@ -799,6 +809,7 @@ email_notifications.enable=メール通知有効
email_notifications.onmention=メンションのみメール通知
email_notifications.disable=メール通知無効
email_notifications.submit=メール設定を保存
email_notifications.andyourown=自分に関する通知も含める
visibility=ユーザーの公開範囲
visibility.public=パブリック
@ -861,8 +872,9 @@ default_branch=デフォルトブランチ
default_branch_helper=デフォルトブランチはプルリクエストとコードコミットのベースブランチとなります。
mirror_prune=Prune
mirror_prune_desc=不要になった古いリモートトラッキング参照を削除
mirror_interval=ミラー間隔 (有効な時間の単位は'h'、'm'、's')。 自動的な同期を無効にする場合は0。(最小間隔: %s)
mirror_interval=ミラー間隔 (有効な時間の単位は'h'、'm'、's')。 定期的な同期を無効にする場合は0。(最小間隔: %s)
mirror_interval_invalid=ミラー間隔が不正です。
mirror_sync_on_commit=コミットがプッシュされたときに同期
mirror_address=クローンするURL
mirror_address_desc=必要な資格情報は「認証」セクションに設定してください。
mirror_address_url_invalid=入力したURLは無効です。 URLの構成要素はすべて正しくエスケープする必要があります。
@ -931,7 +943,7 @@ form.name_pattern_not_allowed='%s' の形式はリポジトリ名に使用でき
need_auth=認証
migrate_options=移行オプション
migrate_service=移行するサービス
migrate_options_mirror_helper=このリポジトリを<span class="text blue">ミラー</span>にする
migrate_options_mirror_helper=このリポジトリをミラーにする
migrate_options_lfs=LFS ファイルのマイグレート
migrate_options_lfs_endpoint.label=LFS エンドポイント
migrate_options_lfs_endpoint.description=マイグレーションでは、リモート側のGitをもとに<a target="_blank" rel="noopener noreferrer" href="%s">LFSサーバーを決定</a>しようとします。 リポジトリのLFSデータがほかの場所に保存されている場合は、独自のエンドポイントを指定することができます。
@ -1033,13 +1045,13 @@ file_view_rendered=レンダリング表示
file_view_raw=Rawデータを見る
file_permalink=パーマリンク
file_too_large=このファイルは大きすぎるため、表示できません。
bidi_bad_header=`このファイルには予期しない双方向Unicode文字が含まれています`
bidi_bad_description=`このファイルには予期しない双方向Unicode文字が含まれており、下に見えているものとは異なる処理が行われる可能性があります。 あなたのユースケースが意図的かつ正当な場合はこの警告を無視して構いません。 不可視文字を表示するにはエスケープボタンを使用します。`
bidi_bad_description_escaped=`このファイルには予期しない双方向Unicode文字が含まれています。 下の表示では、不可視Unicode文字はエスケープされています。 どのようにレンダリングされるかを表示するにはエスケープ解除ボタンを使用します。`
unicode_header=`このファイルには不可視Unicode文字が含まれています`
unicode_description=`このファイルには不可視Unicode文字が含まれており、下に見えているものとは異なる処理が行われる可能性があります。 あなたのユースケースが意図的かつ正当な場合はこの警告を無視して構いません。 不可視文字を表示するにはエスケープボタンを使用します。`
unicode_description_escaped=`このファイルには不可視Unicode文字が含まれています。 下の表示では、不可視Unicode文字はエスケープされています。 どのようにレンダリングされるかを表示するにはエスケープ解除ボタンを使用します。`
line_unicode=`この行には不可視Unicode文字があります`
invisible_runes_header=`このファイルには不可視のUnicode文字が含まれています`
invisible_runes_description=`このファイルには不可視Unicode文字が含まれており、下に見えているものとは異なる処理が行われる可能性があります。 あなたのユースケースが意図的かつ正当な場合はこの警告を無視して構いません。 不可視文字を表示するにはエスケープボタンを使用します。`
ambiguous_runes_header=`このファイルには曖昧(ambiguous)なUnicode文字が含まれています`
ambiguous_runes_description=`このファイルには曖昧(ambiguous)なUnicode文字が含まれており、あなたが使用しているロケールにおいて他の文字と混同する可能性があります。 あなたのユースケースが意図的かつ正当な場合はこの警告を無視して構いません。 それらの文字をハイライトするにはエスケープボタンを使用します。`
invisible_runes_line=`この行には不可視のUnicode文字があります`
ambiguous_runes_line=`この行には曖昧(ambiguous)なUnicode文字があります`
ambiguous_character=`%[1]c [U+%04[1]X] は %[2]c [U+%04[2]X] と混同するおそれがあります`
escape_control_characters=エスケープ
unescape_control_characters=エスケープ解除
@ -1060,6 +1072,7 @@ normal_view=通常表示
line=
lines=
editor.add_file=ファイル追加
editor.new_file=新規ファイル
editor.upload_file=ファイルをアップロード
editor.edit_file=ファイルを編集
@ -1225,6 +1238,8 @@ issues.new.add_reviewer_title=レビュー依頼
issues.choose.get_started=始める
issues.choose.blank=デフォルト
issues.choose.blank_about=デフォルトのテンプレートからイシューを作成。
issues.choose.ignore_invalid_templates=無効なテンプレートが無視されました
issues.choose.invalid_templates=無効なテンプレートが%v 件見つかりました
issues.no_ref=ブランチ/タグ指定なし
issues.create=イシューを作成
issues.new_label=新しいラベル
@ -1265,6 +1280,8 @@ issues.filter_milestone=マイルストーン
issues.filter_milestone_no_select=すべてのマイルストーン
issues.filter_assignee=担当者
issues.filter_assginee_no_select=すべての担当者
issues.filter_poster=作成者
issues.filter_poster_no_select=すべての作成者
issues.filter_type=タイプ
issues.filter_type.all_issues=すべてのイシュー
issues.filter_type.assigned_to_you=自分が担当
@ -1302,6 +1319,7 @@ issues.previous=前ページ
issues.next=次ページ
issues.open_title=オープン
issues.closed_title=クローズ
issues.draft_title=ドラフト
issues.num_comments=%d件のコメント
issues.commented_at=`が <a href="#%s">%s</a> にコメント`
issues.delete_comment_confirm=このコメントを削除してよろしいですか?
@ -1530,7 +1548,8 @@ pulls.remove_prefix=先頭の <strong>%s</strong> を除去
pulls.data_broken=このプルリクエストは、フォークの情報が見つからないため壊れています。
pulls.files_conflicted=このプルリクエストは、ターゲットブランチと競合する変更を含んでいます。
pulls.is_checking=マージのコンフリクトを確認中です。 少し待ってからもう一度実行してください。
pulls.is_empty=このブランチの内容はターゲットブランチと同じです。
pulls.is_ancestor=このブランチは既にターゲットブランチに含まれています。マージするものはありません。
pulls.is_empty=このブランチの変更は既にターゲットブランチにあります。これは空のコミットになります。
pulls.required_status_check_failed=いくつかの必要なステータスチェックが成功していません。
pulls.required_status_check_missing=必要なステータスチェックが見つかりません。
pulls.required_status_check_administrator=管理者であるため、このプルリクエストをマージすることは可能です。
@ -1597,8 +1616,20 @@ pulls.merge_instruction_hint=`<a class="show-instruction">コマンドライン
pulls.merge_instruction_step1_desc=あなたのプロジェクトリポジトリで新しいブランチをチェックアウトし、変更内容をテストします。
pulls.merge_instruction_step2_desc=変更内容をマージして、Giteaに反映します。
pulls.auto_merge_button_when_succeed=(チェックがすべて成功した場合)
pulls.auto_merge_when_succeed=すべてのチェックが成功したら自動マージ
pulls.auto_merge_newly_scheduled=このプルリクエストは、すべてのチェックが成功したときにマージされるようにスケジュールされました。
pulls.auto_merge_has_pending_schedule=すべてのチェックが成功したら自動マージを行うよう、%[1]s が%[2]sこのプルリクエストを設定しました。
pulls.auto_merge_cancel_schedule=自動マージをキャンセル
pulls.auto_merge_not_scheduled=このプルリクエストは自動マージがスケジュールされていません。
pulls.auto_merge_canceled_schedule=このプルリクエストの自動マージはキャンセルされました。
pulls.auto_merge_newly_scheduled_comment=`が、すべてのチェックが成功すると自動マージを行うよう、このプルリクエストをスケジュール %[1]s`
pulls.auto_merge_canceled_schedule_comment=`が、すべてのチェックが成功したときのプルリクエストの自動マージをキャンセル %[1]s`
pulls.delete.title=このプルリクエストを削除しますか?
pulls.delete.text=本当にこのプルリクエストを削除しますか? (これはすべてのコンテンツを完全に削除します。 保存しておきたい場合は、代わりにクローズすることを検討してください)
milestones.new=新しいマイルストーン
milestones.closed=%s にクローズ
@ -1739,8 +1770,11 @@ activity.git_stats_deletion_n=%d行削除
search=検索
search.search_repo=リポジトリを検索
search.type.tooltip=検索タイプ
search.fuzzy=あいまい
search.fuzzy.tooltip=検索ワードにおおよそ一致している結果も含めます
search.match=一致
search.match.tooltip=検索ワードに一致する結果だけを含めます
search.results=<a href="%[2]s">%[3]s</a> 内での "%[1]s" の検索結果
search.code_no_results=検索ワードに一致するソースコードが見つかりません。
search.code_search_unavailable=現在コード検索は利用できません。 サイト管理者にお問い合わせください。
@ -1769,10 +1803,6 @@ settings.mirror_settings.push_mirror.remote_url=リモートGitリポジトリ
settings.mirror_settings.push_mirror.add=プッシュミラーを追加
settings.sync_mirror=今すぐ同期
settings.mirror_sync_in_progress=ミラー同期を実行しています。 しばらくあとでまた確認してください。
settings.email_notifications.enable=メール通知有効
settings.email_notifications.onmention=メンションのみメール通知
settings.email_notifications.disable=メール通知無効
settings.email_notifications.submit=メール設定を保存
settings.site=Webサイト
settings.update_settings=設定を更新
settings.branches.update_default_branch=デフォルトブランチを更新
@ -1878,6 +1908,7 @@ settings.confirm_delete=リポジトリを削除
settings.add_collaborator=共同作業者を追加
settings.add_collaborator_success=共同作業者を追加しました。
settings.add_collaborator_inactive_user=アクティベートされていないユーザーを共同作業者として追加することはできません。
settings.add_collaborator_owner=共同作業者としてオーナーを追加することはできません。
settings.add_collaborator_duplicate=共同作業者として既にこのリポジトリに追加されています。
settings.delete_collaborator=削除
settings.collaborator_deletion=共同作業者の削除
@ -1936,6 +1967,8 @@ settings.event_delete=削除
settings.event_delete_desc=ブランチやタグが削除されたとき。
settings.event_fork=フォーク
settings.event_fork_desc=リポジトリがフォークされたとき。
settings.event_wiki=Wiki
settings.event_wiki_desc=Wikiページが作成・名前変更・編集・削除されたとき。
settings.event_release=リリース
settings.event_release_desc=リポジトリでリリースが作成・更新・削除されたとき。
settings.event_push=プッシュ
@ -2287,6 +2320,7 @@ create_org=組織を作成
repo_updated=最終更新
people=メンバー
teams=チーム
code=コード
lower_members=メンバー
lower_repositories=リポジトリ
create_new_team=新しいチーム
@ -2525,6 +2559,8 @@ users.delete_account=ユーザーアカウントを削除
users.cannot_delete_self=自分自身を削除することはできません
users.still_own_repo=このユーザーはまだ1つ以上のリポジトリを所有しています。 先にそれらのリポジトリを削除するか移転してください。
users.still_has_org=このユーザーは組織のメンバーになっています。 先に組織からこのユーザーを削除してください。
users.purge=ユーザーを抹消
users.purge_help=強制的にユーザーとそのユーザーが所有していたリポジトリ、組織、パッケージを削除します。コメントもすべて削除します。
users.still_own_packages=このユーザーはまだ1つ以上のパッケージを所有しています。最初にそれらのパッケージを削除してください。
users.deletion_success=ユーザーアカウントを削除しました。
users.reset_2fa=2要素認証をリセット
@ -2781,16 +2817,19 @@ config.queue_length=キューの長さ
config.deliver_timeout=送信タイムアウト
config.skip_tls_verify=TLS検証を省略
config.mailer_config=SMTPメーラー設定
config.mailer_config=メーラー設定
config.mailer_enabled=有効
config.mailer_disable_helo=HELOコマンド無
config.mailer_enable_helo=HELO有
config.mailer_name=名称
config.mailer_host=ホスト
config.mailer_protocol=プロトコル
config.mailer_smtp_addr=SMTPアドレス
config.mailer_smtp_port=SMTPポート
config.mailer_user=ユーザー
config.mailer_use_sendmail=Sendmailを使う
config.mailer_sendmail_path=Sendmailのパス
config.mailer_sendmail_args=Sendmailの追加引数
config.mailer_sendmail_timeout=Sendmail のタイムアウト
config.mailer_use_dummy=Dummy
config.test_email_placeholder=Email (例 test@example.com)
config.send_test_mail=テストメールを送信
config.test_mail_failed='%s' へのテストメール送信に失敗しました: %v
@ -2843,6 +2882,7 @@ config.access_log_template=テンプレート
config.xorm_log_mode=XORMログのモード
config.xorm_log_sql=SQLのログ出力
monitor.cron=Cronタスク
monitor.name=名称
monitor.schedule=スケジュール
@ -2875,6 +2915,7 @@ monitor.queue.nopool.title=ワーカープールはありません
monitor.queue.nopool.desc=このキューは他のキューをラップし、これ自体にはワーカープールがありません。
monitor.queue.wrapped.desc=wrappedキューは、すぐに開始されないキューをラップし、入ってきたリクエストをチャンネルにバッファリングします。 これ自体にはワーカープールがありません。
monitor.queue.persistable-channel.desc=persistable-channelキューは二つのキューをラップします。 一つはchannelキューで、自分のワーカープールを持ちます。もう一つはlevelキューで、前回のシャットダウンからリクエストを引き継ぐためのものです。 これ自体にはワーカープールがありません。
monitor.queue.flush=掃き出しワーカー
monitor.queue.pool.timeout=タイムアウト
monitor.queue.pool.addworkers.title=ワーカーの追加
monitor.queue.pool.addworkers.submit=ワーカーを追加
@ -3005,6 +3046,9 @@ pin=通知をピン留め
mark_as_read=既読にする
mark_as_unread=未読にする
mark_all_as_read=すべて既読にする
subscriptions=購読
watching=ウォッチ中
no_subscriptions=購読しているものはありません
[gpg]
default_key=デフォルト鍵で署名
@ -3027,6 +3071,7 @@ title=パッケージ
desc=リポジトリ パッケージを管理します。
empty=パッケージはまだありません。
empty.documentation=パッケージレジストリの詳細については、 <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/overview">ドキュメント</a> を参照してください。
empty.repo=パッケージはアップロードしたけども、ここに表示されない? <a href="%[1]s">パッケージ設定</a>を開いて、パッケージをこのリポジトリにリンクしてください。
filter.type=タイプ
filter.type.all=すべて
filter.no_result=フィルタの結果、空になりました。
@ -3063,6 +3108,7 @@ container.details.platform=プラットフォーム
container.details.repository_site=リポジトリサイト
container.details.documentation_site=ドキュメントサイト
container.pull=コマンドラインでイメージを取得します:
container.digest=ダイジェスト:
container.documentation=Container レジストリの詳細については、 <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/container/">ドキュメント</a> を参照してください。
container.multi_arch=OS / アーキテクチャ
container.layers=イメージレイヤー
@ -3092,6 +3138,10 @@ npm.dependencies.development=開発用依存関係
npm.dependencies.peer=Peer依存関係
npm.dependencies.optional=オプションの依存関係
npm.details.tag=タグ
pub.install=Dart を使用してパッケージをインストールするには、次のコマンドを実行します:
pub.documentation=Pub レジストリの詳細については、<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">ドキュメント</a> を参照してください。
pub.details.repository_site=リポジトリサイト
pub.details.documentation_site=ドキュメントサイト
pypi.requires=必要なPython
pypi.install=pip を使用してパッケージをインストールするには、次のコマンドを実行します:
pypi.documentation=PyPI レジストリの詳細については、<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">ドキュメント</a> を参照してください。
@ -3102,6 +3152,8 @@ rubygems.dependencies.development=開発用依存関係
rubygems.required.ruby=必要なRubyバージョン
rubygems.required.rubygems=必要なRubyGemバージョン
rubygems.documentation=RubyGemsレジストリの詳細については、<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">ドキュメント</a> を参照してください。
vagrant.install=Vagrant ボックスを追加するには、次のコマンドを実行します。
vagrant.documentation=Vagrantレジストリの詳細については <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">ドキュメント</a>を参照してください。
settings.link=このパッケージをリポジトリにリンク
settings.link.description=パッケージをリポジトリにリンクすると、リポジトリのパッケージリストに表示されるようになります。
settings.link.select=リポジトリを選択

View File

@ -8,7 +8,6 @@ sign_out=로그아웃
sign_up=가입하기
link_account=계정 연결
register=가입하기
website=웹 사이트
version=버전
powered_by=%s 제공
page=페이지
@ -75,6 +74,8 @@ loading=불러오는 중...
[filter]
[error]
[startpage]
@ -126,7 +127,6 @@ log_root_path_helper=로그파일은 이 디렉토리에 저장됩니다.
optional_title=추가설정
email_title=이메일 설정
smtp_host=SMTP 호스트
smtp_from=이메일 발신인
smtp_from_helper=Gitea 가 사용할 이메일 주소. 이메일 주소 또는 "이름" <email@example.com> 형식으로 입력하세요.
mailer_user=SMTP 사용자이름
@ -203,6 +203,7 @@ org_no_results=일치하는 조직이 없습니다.
code_no_results=검색어와 일치하는 소스코드가 없습니다.
code_search_results='%s'에 대한 검색결과
[auth]
create_new_account=계정 등록
register_helper_msg=이미 계정을 가지고 계신가요? 로그인하세요!
@ -274,6 +275,7 @@ register_success=등록 완료
[modal]
yes=
no=아니오
@ -807,7 +809,6 @@ issues.due_date_form_remove=삭제
issues.due_date_not_writer=이슈의 마감일을 갱신하려면 저장소 쓰기 권한이 필요합니다.
issues.due_date_not_set=마감일이 설정되지 않았습니다.
issues.due_date_added=마감일 %s 를 추가 %s
issues.due_date_modified=%s 마감일이 %s %s 로 변경되었습니다
issues.due_date_remove=%s %s 마감일이 삭제되었습니다.
issues.due_date_overdue=기한 초과
issues.due_date_invalid=기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.
@ -863,6 +864,7 @@ pulls.invalid_merge_option=이 풀 리퀘스트에서 설정한 머지 옵션을
milestones.new=새로운 마일스톤
milestones.closed=닫힘 %s
milestones.no_due_date=기한 없음
@ -970,8 +972,6 @@ settings.basic_settings=기본 설정
settings.mirror_settings=미러 설정
settings.sync_mirror=지금 동기화
settings.mirror_sync_in_progress=미러 동기화 진행중입니다. 잠시 후 다시 확인해주십시오.
settings.email_notifications.enable=이메일 알림 켜기
settings.email_notifications.disable=이메일 알림 끄기
settings.site=웹 사이트
settings.update_settings=설정 저장
settings.advanced_settings=고급 설정
@ -1452,11 +1452,8 @@ config.queue_length=큐 길이
config.deliver_timeout=시간 제한 사용
config.skip_tls_verify=TLS 검증 건너뛰기
config.mailer_config=SMTP 메일러 설정
config.mailer_enabled=활성화됨
config.mailer_disable_helo=HELO 비활성화
config.mailer_name=이름
config.mailer_host=호스트
config.mailer_user=사용자
config.mailer_use_sendmail=Sendmail 사용
config.mailer_sendmail_path=Sendmail 경로
@ -1502,6 +1499,7 @@ config.git_gc_timeout=가비지 콜렉션 작업 시간 제한
config.log_config=로그 설정
config.log_mode=로그 모드
monitor.cron=Cron 작업
monitor.name=이름
monitor.schedule=스케줄

View File

@ -9,7 +9,6 @@ sign_out=Izrakstīties
sign_up=Reģistrēties
link_account=Saistītie konti
register=Reģistrēties
website=Mājas lapa
version=Versija
powered_by=Darbina %s
page=Lapa
@ -47,7 +46,6 @@ webauthn_error_unable_to_process=Serveris nevar apstrādāt Jūsu pieprasījumu.
webauthn_error_duplicated=Drošības atslēga nav atļauta šim pieprasījumam. Pārliecinieties, ka šī atslēga jau nav reģistrēta.
webauthn_error_empty=Norādiet atslēgas nosaukumu.
webauthn_error_timeout=Iestājusies noildze, mēģinot, nolasīt atslēgu. Pārlādējiet lapu un mēģiniet vēlreiz.
webauthn_u2f_deprecated=Atslēga '%s' izmanto novecojušu U2F procesu. Noņemiet iepriekšējo reģistrāciju un veiciet reģistrācijas procesu no jauna.
webauthn_reload=Pārlādēt
repository=Repozitorijs
@ -108,6 +106,8 @@ never=Nekad
rss_feed=RSS barotne
[filter]
[error]
occurred=Radusies kļūda
report_message=Ja esat pārliecināts, ka šī ir Gitea kļūda, pārbaudiet, ka tā jau nav zināma meklējot <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> vai ziņojiet par jaunu kļūdu, ja nepieciešams.
@ -180,7 +180,8 @@ log_root_path_helper=Žurnalizēšanas faili tiks rakstīti šajā direktorijā.
optional_title=Neobligātie iestatījumi
email_title=E-pastu iestatījumi
smtp_host=SMTP resursdators
smtp_addr=SMTP resursdators
smtp_port=SMTP ports
smtp_from=Nosūtīt e-pastu kā
smtp_from_helper=E-pasta adrese, ko Gitea izmantos. Ievadiet tika e-pasta adrese vai izmantojiet "Vārds" <epasts@domens.lv> formātu.
mailer_user=SMTP lietotāja vārds
@ -279,6 +280,7 @@ code_no_results=Netika atrasts pirmkods, kas atbilstu kritērijiem.
code_search_results=Meklēšanas rezultāti '%s'
code_last_indexed_at=Pēdējo reizi indeksēts %s
[auth]
create_new_account=Reģistrēt kontu
register_helper_msg=Jau ir konts? Pieraksties tagad!
@ -407,6 +409,7 @@ repo.transfer.body=Ja vēlaties to noraidīt vai apstiprināt, tad apmeklējiet
repo.collaborator.added.subject=%s pievienoja Jūs repozitorijam %s
repo.collaborator.added.text=Jūs tikāt pievienots kā līdzstrādnieks repozitorijam:
[modal]
yes=
no=
@ -800,6 +803,7 @@ email_notifications.enable=Iespējot e-pasta paziņojumus
email_notifications.onmention=Tikai, ja esmu pieminēts
email_notifications.disable=Nesūtīt paziņojumus
email_notifications.submit=Saglabāt sūtīšanas iestatījumus
email_notifications.andyourown=Iekļaut savus paziņojumus
visibility=Lietotāja redzamība
visibility.public=Publisks
@ -862,8 +866,9 @@ default_branch=Noklusējuma atzars
default_branch_helper=Noklusētais atzars nosaka pamata atzaru uz kuru tiks veidoti izmaiņu pieprasījumi un koda revīziju iesūtīšana.
mirror_prune=Izmest
mirror_prune_desc=Izdzēst visas ārējās atsauces, kas ārējā repozitorijā vairs neeksistē
mirror_interval=Spoguļošanas intervāls (derīgas laika vienības ir 'h', 'm', 's'). Norādiet 0, lai atslēgtu automātisku spoguļošanu. (Minimālais intervāls: %s)
mirror_interval=Spoguļošanas intervāls (derīgas laika vienības ir 'h', 'm', 's'). Norādiet 0, lai atslēgtu periodisku spoguļošanu. (Minimālais intervāls: %s)
mirror_interval_invalid=Nekorekts spoguļošanas intervāls.
mirror_sync_on_commit=Sinhronizēt, kad revīzijas tiek iesūtītas
mirror_address=Spoguļa adrese
mirror_address_desc=Pieslēgšanās rekvizītus norādiet autorizācijas sadaļā.
mirror_address_url_invalid=Norādītais URL nav korekts. Norādiet visas URL daļas korekti.
@ -932,7 +937,7 @@ form.name_pattern_not_allowed=Repozitorija nosaukums '%s' nav atļauts.
need_auth=Autorizācija
migrate_options=Migrācijas opcijas
migrate_service=Migrācijas serviss
migrate_options_mirror_helper=Šis repozitorijs būs <span class="text blue">spogulis</span>
migrate_options_mirror_helper=Šis repozitorijs būs spogulis
migrate_options_lfs=Migrēt LFS failus
migrate_options_lfs_endpoint.label=LFS galapunkts
migrate_options_lfs_endpoint.description=Migrācija mēģinās izmantot attālināto URL, lai <a target="_blank" rel="noopener noreferrer" href="%s">noteiktu LFS serveri</a>. Var norādīt arī citu galapunktu, ja repozitorija LFS dati ir izvietoti citā vietā.
@ -1034,13 +1039,6 @@ file_view_rendered=Skatīt rezultātu
file_view_raw=Rādīt neapstrādātu
file_permalink=Patstāvīgā saite
file_too_large=Šis fails ir par lielu, lai to parādītu.
bidi_bad_header=`Šis fails satur neparedzētus virzienmaiņas unikoda simbolus!`
bidi_bad_description=`Šis fails satur neparedzētus virzienmaiņas unikoda simbolus, kas var mainīt kā saturs tiek attēlots. Ja tie ir izmantoti ar pamatotu nodumu, tad varat ignorēt šo brīdinājumu. Izmantojiet Kodēt pogu, lai parādītu šos neredzamos simbolus.`
bidi_bad_description_escaped=`Šis fails satur neparedzētus virzienmaiņas unikoda simbolus. Neredzamie unikoda simboli ir kodēti, lai būtu redzami. Izmantojiet Atkodēt pogu, lai redzētu kā tie tiek attēloti.`
unicode_header=`Šis fails satur neredzamus unikoda simbolus!`
unicode_description=`Šis fails satur neredzamus unikoda simbolus, kas var mainīt kā saturs tiek attēlots. Ja tie ir izmantoti ar pamatotu nodumu, tad varat ignorēt šo brīdinājumu. Izmantojiet Kodēt pogu, lai parādītu šos neredzamos simbolus.`
unicode_description_escaped=`Šis fails satur neredzamus unikoda simbolus. Neredzamie unikoda simboli ir kodēti, lai būtu redzami. Izmantojiet Atkodēt pogu, lai redzētu kā tie tiek attēloti.`
line_unicode=`Šajā līnijā ir paslēpti unikoda simboli`
escape_control_characters=Kodēt
unescape_control_characters=Atkodēt
@ -1304,6 +1302,7 @@ issues.previous=Iepriekšējā
issues.next=Nākamā
issues.open_title=Atvērta
issues.closed_title=Slēgta
issues.draft_title=Melnraksts
issues.num_comments=%d komentāri
issues.commented_at=` komentēja <a href="#%s">%s</a>`
issues.delete_comment_confirm=Vai patiešām vēlaties dzēst šo komentāru?
@ -1420,7 +1419,7 @@ issues.due_date_form_remove=Noņemt
issues.due_date_not_writer=Jums ir nepieciešamas rakstīšanas tiesības uz šo repozitoriju, lai mainītu izpildes termiņu.
issues.due_date_not_set=Izpildes termiņš nav uzstādīts.
issues.due_date_added=pievienoja izpildes termiņu %s %s
issues.due_date_modified=mainīja izpildes termiņu uz %s no %s %s
issues.due_date_modified=mainīja termiņa datumu no %[2]s uz %[1]s %[3]s
issues.due_date_remove=noņēma izpildes termiņu %s %s
issues.due_date_overdue=Nokavēts
issues.due_date_invalid=Datums līdz nav korekts. Izmantojiet formātu 'gggg-mm-dd'.
@ -1532,7 +1531,8 @@ pulls.remove_prefix=Noņemt <strong>%s</strong> prefiksu
pulls.data_broken=Izmaiņu pieprasījums ir bojāts, jo dzēsta informācija no atdalītā repozitorija.
pulls.files_conflicted=Šīs izmaiņu pieprasījuma izmaiņas konfliktē ar mērķa atzaru.
pulls.is_checking=Notiek konfliktu pārbaude, mirkli uzgaidiet un atjaunojiet lapu.
pulls.is_empty=Šis atzars ir vienāds ar mērķa atzaru.
pulls.is_ancestor=Atzars jau ir pilnībā iekļauts mērķā atzarā. Nav izmaiņu, ko sapludināt.
pulls.is_empty=Mērķa atzars jau satur šī atzara izmaiņas. Šī revīzija būs tukša.
pulls.required_status_check_failed=Dažas no pārbaudēm nebija veiksmīgas.
pulls.required_status_check_missing=Trūkst dažu obligāto pārbaužu.
pulls.required_status_check_administrator=Kā administrators Jūs varat sapludināt šo izmaiņu pieprasījumu.
@ -1611,6 +1611,9 @@ pulls.auto_merge_canceled_schedule=Automātiskā sapludināšana šim izmaiņu p
pulls.auto_merge_newly_scheduled_comment=`ieplānoja automātisko sapludināšanu šim izmaiņu pieprasījumam, kad visas pārbaudes būs veiksmīgas %[1]s`
pulls.auto_merge_canceled_schedule_comment=`atcēla automātisko sapludināšanu šim izmaiņu pieprasījumam %[1]s`
pulls.delete.title=Dzēst šo izmaiņu pieprasījumu?
pulls.delete.text=Vai patiešām vēlaties dzēst šo izmaiņu pieprasījumu? (Neatgriezeniski tiks izdzēsts viss saturs. Apsveriet iespēju to aizvērt, ja vēlaties informāciju saglabāt vēsturei)
milestones.new=Jauns atskaites punkts
milestones.closed=Aizvērts %s
milestones.update_ago=Atjaunots pirms %s
@ -1780,10 +1783,6 @@ settings.mirror_settings.push_mirror.remote_url=Git attālinātā repozitorija U
settings.mirror_settings.push_mirror.add=Pievienot iesūtīšanas spoguli
settings.sync_mirror=Sinhronizēt tagad
settings.mirror_sync_in_progress=Notiek spoguļa sinhronizācija. Atjaunojiet lapu, lai pārbaudītu atkārtoti, pēc brīža.
settings.email_notifications.enable=Iespējot e-pasta paziņojumus
settings.email_notifications.onmention=Tikai, ja esmu pieminēts
settings.email_notifications.disable=Nesūtīt paziņojumus
settings.email_notifications.submit=Saglabāt sūtīšanas iestatījumus
settings.site=Mājas lapa
settings.update_settings=Mainīt iestatījumus
settings.branches.update_default_branch=Atjaunot noklusēto atzaru
@ -2536,6 +2535,8 @@ users.delete_account=Dzēst lietotāja kontu
users.cannot_delete_self=Nevar izdzēst sevi
users.still_own_repo=Lietotājam pieder repozitoriji, tos sākumā ir nepieciešams izdzēst vai mainīt to īpašnieku.
users.still_has_org=Šis lietotājs ir vienas vai vairāku organizāciju biedrs, lietotāju sākumā ir nepieciešams pamest šīs organizācijas vai viņu no tām ir jāizdzēš.
users.purge=Attīrīt lietotu
users.purge_help=Piespiedu dzēst lietotāju un visus tā repozitorijus, organizācijas un pakotnes. Arī visi lietotāja komentāri tiks dzēsti.
users.still_own_packages=Šim lietotājam pieder viena vai vairākas pakotnes. Tās nepieciešams izdzēst.
users.deletion_success=Lietotāja konts veiksmīgi izdzēsts.
users.reset_2fa=Noņemt 2FA
@ -2792,16 +2793,19 @@ config.queue_length=Rindas garums
config.deliver_timeout=Piegādes noildze
config.skip_tls_verify=Izlaist TLS pārbaudi
config.mailer_config=SMTP sūtītāja konfigurācija
config.mailer_config=Pasta sūtītāja konfigurācija
config.mailer_enabled=Iespējota
config.mailer_disable_helo=Atspējot HELO
config.mailer_enable_helo=Iespējot HELO
config.mailer_name=Nosaukums
config.mailer_host=Resursdators
config.mailer_protocol=Protokols
config.mailer_smtp_addr=SMTP adrese
config.mailer_smtp_port=SMTP ports
config.mailer_user=Lietotājs
config.mailer_use_sendmail=Izmantot Sendmail
config.mailer_sendmail_path=Ceļš līdz sendmail programmai
config.mailer_sendmail_args=Papildus Sendmail komandrindas argumenti
config.mailer_sendmail_timeout=Sendmail noildze
config.mailer_use_dummy=Tukšs
config.test_email_placeholder=E-pasts (piemēram, test@example.com)
config.send_test_mail=Nosūtīt pārbaudes e-pastu
config.test_mail_failed=Neizdevās nosūtīt pārbaudes e-pastu uz '%s': %v
@ -2854,6 +2858,7 @@ config.access_log_template=Šablons
config.xorm_log_mode=XORM žurnalizēšanas veids
config.xorm_log_sql=SQL žurnalizēšana
monitor.cron=Cron uzdevumi
monitor.name=Nosaukums
monitor.schedule=Grafiks
@ -3038,6 +3043,7 @@ title=Pakotnes
desc=Pārvaldīt repozitorija pakotnes.
empty=Pašlaik šeit nav nevienas pakotnes.
empty.documentation=Papildus informācija par pakotņu reģistru pieejama <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/overview">dokumentācijā</a>.
empty.repo=Neparādās augšupielādēta pakotne? Apmeklējiet <a href="%[1]s">pakotņu iestatījumus</a>, lai sasaistītu ar repozitoriju.
filter.type=Veids
filter.type.all=Visas
filter.no_result=Pēc norādītajiem kritērijiem nekas netika atrasts.
@ -3103,6 +3109,10 @@ npm.dependencies.development=Izstrādes atkarības
npm.dependencies.peer=Netiešās atkarības
npm.dependencies.optional=Neobligātās atkarības
npm.details.tag=Tags
pub.install=Lai instalētu Dart pakotni, izpildiet sekojošu komandu:
pub.documentation=Papildus informācija par Pub reģistru pieejama <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">dokumentācijā</a>.
pub.details.repository_site=Repozitorija izmērs
pub.details.documentation_site=Dokumentācijas lapa
pypi.requires=Nepieciešams Python
pypi.install=Lai instalētu pip pakotni, izpildiet sekojošu komandu:
pypi.documentation=Papildus informācija par PyPI reģistru pieejama <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">dokumentācijā</a>.

View File

@ -8,7 +8,6 @@ sign_out=പുറത്തുകടക്കുക
sign_up=രജിസ്റ്റർ
link_account=അക്കൌണ്ട് ബന്ധിപ്പിയ്ക്കുക
register=രജിസ്റ്റർ
website=വെബ് സൈറ്റ്
version=പതിപ്പ്
page=പേജ്
template=ടെംപ്ലേറ്റ്
@ -66,6 +65,8 @@ loading=ലഭ്യമാക്കുന്നു…
[filter]
[error]
[startpage]
@ -112,7 +113,6 @@ log_root_path_helper=ലോഗ് ഫയലുകൾ ഈ ഡയറക്ടറ
optional_title=ഐച്ഛികമായ ക്രമീകരണങ്ങൾ
email_title=ഇമെയിൽ ക്രമീകരണങ്ങൾ
smtp_host=SMTP ഹോസ്റ്റ്
smtp_from=ഈ വിലാസത്തില്‍ ഇമെയിൽ അയയ്‌ക്കുക
smtp_from_helper=ഗിറ്റീ ഉപയോഗിയ്ക്കുന്ന ഇമെയില്‍ വിലാസം. ഒരു സാധാ ഇമെയിൽ വിലാസം നൽകുക അല്ലെങ്കിൽ "പേര്"<email@example.com> എന്ന ഘടന ഉപയോഗിക്കുക.
mailer_user=SMTP ഉപയോക്തൃനാമം
@ -189,6 +189,7 @@ org_no_results=പൊരുത്തപ്പെടുന്ന സംഘടന
code_no_results=നിങ്ങളുടെ തിരയൽ പദവുമായി പൊരുത്തപ്പെടുന്ന സോഴ്സ് കോഡുകളൊന്നും കണ്ടെത്താനായില്ല.
code_search_results=%s എന്നതിനായുള്ള തിരയൽ ഫലങ്ങൾ
[auth]
create_new_account=അക്കൗണ്ട് രജിസ്റ്റർ ചെയ്യുക
register_helper_msg=ഇതിനകം ഒരു അക്കൗണ്ട് ഉണ്ടോ? ഇപ്പോൾ പ്രവേശിക്കുക!
@ -262,6 +263,7 @@ register_success=രജിസ്ട്രേഷൻ വിജയകരം
[modal]
yes=അതെ
no=ഇല്ല
@ -728,6 +730,7 @@ issues.dependency.add_error_dep_not_same_repo=രണ്ട് പ്രശ്ന
milestones.filter_sort.most_issues=മിക്ക ഇഷ്യൂകളും
milestones.filter_sort.least_issues=കുറഞ്ഞ ഇഷ്യൂകളെങ്കിലും
@ -785,6 +788,7 @@ repos.issues=ഇഷ്യൂകള്‍
[action]

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,6 @@ sign_out=Wyloguj
sign_up=Zarejestruj
link_account=Powiąż konto
register=Zarejestruj się
website=Strona
version=Wersja
powered_by=Wspierane przez %s
page=Strona
@ -46,7 +45,6 @@ webauthn_error_unable_to_process=Serwer nie mógł obsłużyć Twojego żądania
webauthn_error_duplicated=Klucz bezpieczeństwa nie jest dozwolony dla tego żądania. Upewnij się, że klucz nie jest już zarejestrowany.
webauthn_error_empty=Musisz ustawić nazwę dla tego klucza.
webauthn_error_timeout=Osiągnięto limit czasu zanim Twój klucz może zostać odczytany. Odśwież stronę i spróbuj ponownie.
webauthn_u2f_deprecated=Klucz '%s' uwierzytelnia przy użyciu przestarzałego procesu U2F. Powinieneś ponownie zarejestrować ten klucz i usunąć starą rejestrację.
webauthn_reload=Odśwież
repository=Repozytorium
@ -106,6 +104,8 @@ error404=Strona, do której próbujesz dotrzeć <strong>nie istnieje</strong> lu
never=Nigdy
[filter]
[error]
occurred=Wystąpił błąd
report_message=Jeśli jesteś pewien, że jest to błąd Gitea, poszukaj już istniejącego zgłoszenia na <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> lub w razie potrzeby otwórz nowy problem.
@ -178,7 +178,6 @@ log_root_path_helper=Pliki logów będą zapisywane w tym katalogu.
optional_title=Ustawienia opcjonalne
email_title=Ustawienia e-mail
smtp_host=Serwer SMTP
smtp_from=Wyślij e-mail jako
smtp_from_helper=Adres e-mail, z którego Gitea będzie korzystać. Wpisz prosty adres e-mail, lub użyj formatu "Nazwa" <email@example.com>.
mailer_user=Nazwa użytkownika SMTP
@ -276,6 +275,7 @@ code_no_results=Nie znaleziono kodu źródłowego odpowiadającego Twojej frazie
code_search_results=Wyniki wyszukiwania dla '%s'
code_last_indexed_at=Ostatnio indeksowane %s
[auth]
create_new_account=Zarejestruj konto
register_helper_msg=Masz już konto? Zaloguj się teraz!
@ -394,6 +394,7 @@ repo.transfer.body=Aby zaakceptować lub odrzucić go, odwiedź %s lub po prostu
repo.collaborator.added.subject=%s dodał Cię do %s
repo.collaborator.added.text=Zostałeś dodany jako współtwórca repozytorium:
[modal]
yes=Tak
no=Nie
@ -871,7 +872,6 @@ form.name_pattern_not_allowed=Wzór "%s" nie jest dozwolony w nazwie repozytoriu
need_auth=Autoryzacja
migrate_options=Opcje migracji
migrate_service=Usługa migracji
migrate_options_mirror_helper=To repozytorium będzie <span class="text blue">kopią lustrzaną</span>
migrate_options_lfs=Migruj pliki LFS
migrate_options_lfs_endpoint.label=Punkt końcowy LFS
migrate_options_lfs_endpoint.description=Migracja spróbuje użyć Git remote, aby <a target="_blank" rel="noopener noreferrer" href="%s">określić serwer LFS</a>. Możesz również określić niestandardowy punkt końcowy, jeśli dane repozytorium LFS są przechowywane gdzieś indziej.
@ -1301,7 +1301,6 @@ issues.due_date_form_remove=Usuń
issues.due_date_not_writer=Potrzebujesz uprawnień zapisu w tym repozytorium, aby zaktualizować termin realizacji zgłoszenia.
issues.due_date_not_set=Brak ustawionego terminu realizacji.
issues.due_date_added=dodaje termin realizacji %s %s
issues.due_date_modified=zmienia termin realizacji na %s z %s %s
issues.due_date_remove=usuwa termin realizacji %s %s
issues.due_date_overdue=Zaległe
issues.due_date_invalid=Data realizacji jest niewłaściwa lub spoza zakresu. Użyj formatu 'yyyy-mm-dd'.
@ -1390,7 +1389,6 @@ pulls.remove_prefix=Usuń <strong>%s</strong> prefiks
pulls.data_broken=Ten Pull Request jest uszkodzony ze względu na brakujące informacje o forku.
pulls.files_conflicted=Ten Pull Request zawiera zmiany konfliktujące z docelową gałęzią.
pulls.is_checking=Sprawdzanie konfliktów ze scalaniem w toku. Spróbuj ponownie za chwilę.
pulls.is_empty=Ten branch jest równy z docelowym branch'em.
pulls.required_status_check_failed=Niektóre kontrole stanów nie były pomyślne.
pulls.required_status_check_missing=Brakuje pewnych wymaganych etapów.
pulls.required_status_check_administrator=Jako administrator, możesz wciąż scalić ten Pull Request.
@ -1450,6 +1448,7 @@ pulls.merge_instruction_step2_desc=Połącz zmiany i zaktualizuj na Gitea.
milestones.new=Nowy kamień milowy
milestones.closed=Zamknięto %s
milestones.update_ago=Zaktualizowano %s temu
@ -1613,10 +1612,6 @@ settings.mirror_settings.push_mirror.none=Brak skonfigurowanych kopii zapasowych
settings.mirror_settings.push_mirror.remote_url=Adres URL zdalnego repozytorium Git
settings.sync_mirror=Synchronizuj teraz
settings.mirror_sync_in_progress=Synchronizacja kopii lustrzanych jest w toku. Sprawdź ponownie za minutę.
settings.email_notifications.enable=Włącz powiadomienia e-mail
settings.email_notifications.onmention=Wyślij wiadomość e-mail wyłącznie przy wzmiankach
settings.email_notifications.disable=Wyłącz powiadomienia e-mail
settings.email_notifications.submit=Ustaw preferencje wiadomości e-mail
settings.site=Strona
settings.update_settings=Aktualizuj ustawienia
settings.branches.update_default_branch=Aktualizuj domyślną gałąź
@ -2501,11 +2496,8 @@ config.queue_length=Długość kolejki
config.deliver_timeout=Limit czasu doręczenia
config.skip_tls_verify=Pomiń weryfikację TLS
config.mailer_config=Konfiguracja dostawcy SMTP
config.mailer_enabled=Włączona
config.mailer_disable_helo=Wyłącz HELO
config.mailer_name=Nazwa
config.mailer_host=Serwer
config.mailer_user=Użytkownik
config.mailer_use_sendmail=Używaj Sendmail
config.mailer_sendmail_path=Ścieżka Sendmail
@ -2563,6 +2555,7 @@ config.access_log_template=Szablon
config.xorm_log_mode=Tryb dziennika XORM
config.xorm_log_sql=Dziennik SQL
monitor.cron=Zadania cron
monitor.name=Nazwa
monitor.schedule=Harmonogram

View File

@ -2,13 +2,13 @@ home=Inicio
dashboard=Painel
explore=Explorar
help=Ajuda
logo=Logotipo
sign_in=Acessar
sign_in_with=Acessar com
sign_out=Sair
sign_up=Cadastrar
link_account=Vincular conta
register=Cadastrar
website=Site
version=Versão
powered_by=Desenvolvido por %s
page=Página
@ -46,7 +46,6 @@ webauthn_error_unable_to_process=O servidor não pôde processar sua solicitaç
webauthn_error_duplicated=A chave de segurança não é permitida para esta solicitação. Por favor, certifique-se que a chave já não está registrada.
webauthn_error_empty=Você deve definir um nome para esta chave.
webauthn_error_timeout=Tempo limite atingido antes de sua chave poder ser lida. Por favor, recarregue esta página e tente novamente.
webauthn_u2f_deprecated=A chave: '%s' autentica utilizando o processo U2F descontinuado. Você deve registrar novamente esta chave e remover o registro antigo.
webauthn_reload=Recarregar
repository=Repositório
@ -107,6 +106,8 @@ never=Nunca
rss_feed=Feed RSS
[filter]
[error]
occurred=Ocorreu um erro
report_message=Se você tem certeza de que é um bug do Gitea, procure por issues no <a href="https://github.com/go-gitea/gitea/issues" target="_blank">GitHub</a> ou abra uma nova issue, se necessário.
@ -179,7 +180,8 @@ log_root_path_helper=Arquivos de log serão gravados neste diretório.
optional_title=Configurações opcionais
email_title=Configurações de e-mail
smtp_host=Host SMTP
smtp_addr=Host SMTP
smtp_port=Porta SMTP
smtp_from=Enviar e-mail como
smtp_from_helper=Endereço de e-mail que o Gitea irá usar. Digite um endereço de e-mail simples ou use o formato "Nome" <email@example.com>.
mailer_user=Nome de usuário do SMTP
@ -277,6 +279,9 @@ org_no_results=Nenhuma organização correspondente foi encontrada.
code_no_results=Nenhum código-fonte correspondente ao seu termo de pesquisa foi encontrado.
code_search_results=Resultados da pesquisa por: '%s'
code_last_indexed_at=Última indexação %s
relevant_repositories_tooltip=Repositórios que são forks ou que não possuem tópico, nem ícone e nem descrição estão ocultos.
relevant_repositories=Apenas repositórios relevantes estão sendo mostrados, <a href="%s">mostrar resultados não filtrados</a>.
[auth]
create_new_account=Cadastrar conta
@ -406,6 +411,7 @@ repo.transfer.body=Para o aceitar ou rejeitar visite %s, ou simplesmente o ignor
repo.collaborator.added.subject=%s adicionou você a %s
repo.collaborator.added.text=Você foi adicionado como um colaborador do repositório:
[modal]
yes=Sim
no=Não
@ -442,6 +448,7 @@ size_error=`deve ser do tamanho %s.`
min_size_error=` deve conter pelo menos %s caracteres.`
max_size_error=` deve conter no máximo %s caracteres.`
email_error=` não é um endereço de e-mail válido.`
url_error=`'%s' não é uma URL válida.`
include_error=` deve conter '%s'.`
glob_pattern_error=` padrão glob é inválido: %s.`
regex_pattern_error=` o regex é inválido: %s.`
@ -715,6 +722,9 @@ generate_token_success=Seu novo token foi gerado. Copie-o agora, pois ele não s
generate_token_name_duplicate=<strong>%s</strong> já foi usado como um nome de aplicativo. Por favor, use outro.
delete_token=Excluir
access_token_deletion=Excluir token de acesso
access_token_deletion_cancel_action=Cancelar
access_token_deletion_confirm_action=Excluir
access_token_deletion_desc=A exclusão de um token revoga o acesso à sua conta para aplicativos que o usam. Continuar?
delete_token_success=O token foi excluído. Os aplicativos que o utilizam já não têm acesso à sua conta.
manage_oauth2_applications=Gerenciar aplicativos OAuth2
@ -795,6 +805,7 @@ email_notifications.enable=Habilitar notificações de e-mail
email_notifications.onmention=Somente e-mail com menção
email_notifications.disable=Desabilitar notificações de e-mail
email_notifications.submit=Atualizar preferências de e-mail
email_notifications.andyourown=E Suas Próprias Notificações
visibility=Visibilidade do usuário
visibility.public=Pública
@ -857,7 +868,9 @@ default_branch=Branch Padrão
default_branch_helper=O branch padrão é o branch base para pull requests e commits de código.
mirror_prune=Varrer
mirror_prune_desc=Remover referências obsoletas de controle remoto
mirror_interval=Intervalo de espelhamento (unidades válidas são 'h', 'm', ou 's'). O desabilita a sincronização automática. (Intervalo mínimo: %s)
mirror_interval_invalid=O intervalo do espelhamento não é válido.
mirror_sync_on_commit=Sincronizar quando commits forem enviados
mirror_address=Clonar de URL
mirror_address_desc=Coloque todas as credenciais necessárias na seção de autorização.
mirror_address_url_invalid=A url fornecida é inválida. Você deve escapar todos os componentes da url corretamente.
@ -926,7 +939,7 @@ form.name_pattern_not_allowed=O padrão de '%s' não é permitido em um nome de
need_auth=Autorização
migrate_options=Opções de Migração
migrate_service=Serviço de Migração
migrate_options_mirror_helper=Este repositório será um <span class="text blue">espelho</span>
migrate_options_mirror_helper=Este repositório será um espelho
migrate_options_lfs=Migrar arquivos LFS
migrate_options_lfs_endpoint.label=Destino LFS
migrate_options_lfs_endpoint.description=A migração tentará usar seu controle remoto Git para <a target="_blank" rel="noopener noreferrer" href="%s">determinar o servidor LFS</a>. Você também pode especificar um destino personalizado se os dados do repositório LFS forem armazenados em outro lugar.
@ -1028,13 +1041,13 @@ file_view_rendered=Ver Renderizado
file_view_raw=Ver original
file_permalink=Link permanente
file_too_large=O arquivo é muito grande para ser mostrado.
bidi_bad_header=`Este arquivo contém caracteres Unicode Bidirecionais inesperados!`
bidi_bad_description=`Este arquivo contém caracteres Unicode bidirecionais inesperados que podem ser processados de forma diferente do que aparece abaixo. Se seu caso de uso for intencional e legítimo, você pode ignorar com segurança esse aviso. Use o botão Escapar para revelar caracteres ocultos.`
bidi_bad_description_escaped=`Este arquivo contém caracteres Unicode Bidirecionais inesperados. Caracteres unicode ocultos estão escapados abaixo. Use o botão Desescapar para mostrar como eles são mostrados.`
unicode_header=`Este arquivo contém caracteres Unicode ocultos!`
unicode_description=`Este arquivo contém caracteres Unicode ocultos que podem ser processados de forma diferente do que aparece abaixo. Se seu caso de uso for intencional e legítimo, você pode ignorar com segurança esse aviso. Use o botão Escapar para revelar caracteres ocultos.`
unicode_description_escaped=`Este arquivo contém caracteres Unicode ocultos. Caracteres unicode ocultos estão escapados abaixo. Utilize o botão Desescapar para mostrar como eles são mostrados.`
line_unicode=`Esta linha possui caracteres unicode ocultos`
invisible_runes_header=`Este arquivo contém caracteres Unicode invisíveis!`
invisible_runes_description=`Este arquivo contém caracteres Unicode invisíveis que podem ser processados de forma diferente do que aparece abaixo. Se seu caso de uso for intencional e legítimo, você pode ignorar com segurança esse aviso. Use o botão Escapar para revelar caracteres ocultos.`
ambiguous_runes_header=`Esse arquivo contém caracteres Unicode ambíguos!`
ambiguous_runes_description=`Este arquivo contém caracteres ambíguos Unicode que podem ser confundidos com outros no seu idioma atual. Se o seu caso de uso for intencional e legítimo, você pode ignorar com segurança este aviso. Use o botão Escapar para destacar esses caracteres.`
invisible_runes_line=`Esta linha tem caracteres unicode invisíveis`
ambiguous_runes_line=`Esta linha tem caracteres unicode ambíguos`
ambiguous_character=`%[1]c [U+%04[1]X] é confundível com o %[2]c [U+%04[2]X]`
escape_control_characters=Escapar
unescape_control_characters=Desescapar
@ -1055,6 +1068,7 @@ normal_view=Visão normal
line=linha
lines=linhas
editor.add_file=Adicionar Arquivo
editor.new_file=Novo arquivo
editor.upload_file=Enviar arquivo
editor.edit_file=Editar arquivo
@ -1220,6 +1234,8 @@ issues.new.add_reviewer_title=Solicitar revisão
issues.choose.get_started=Primeiros passos
issues.choose.blank=Padrão
issues.choose.blank_about=Criar uma issue a partir do modelo padrão.
issues.choose.ignore_invalid_templates=Modelos inválidos foram ignorados
issues.choose.invalid_templates=%v modelo(s) inválido(s) encontrado(s)
issues.no_ref=Nenhum branch/tag especificado
issues.create=Criar issue
issues.new_label=Nova etiqueta
@ -1260,6 +1276,8 @@ issues.filter_milestone=Marco
issues.filter_milestone_no_select=Todos os marcos
issues.filter_assignee=Atribuído
issues.filter_assginee_no_select=Todos os responsáveis
issues.filter_poster=Autor
issues.filter_poster_no_select=Todos os autores
issues.filter_type=Tipo
issues.filter_type.all_issues=Todas as issues
issues.filter_type.assigned_to_you=Atribuídos a você
@ -1297,6 +1315,7 @@ issues.previous=Anterior
issues.next=Próximo
issues.open_title=Aberto
issues.closed_title=Fechado
issues.draft_title=Rascunho
issues.num_comments=%d comentários
issues.commented_at=`comentou <a href="#%s">%s</a>`
issues.delete_comment_confirm=Tem certeza que deseja excluir este comentário?
@ -1413,7 +1432,7 @@ issues.due_date_form_remove=Remover
issues.due_date_not_writer=Você deve ter permissão de escrita no repositório para atualizar a data limite de uma issue.
issues.due_date_not_set=Data limite não informada.
issues.due_date_added=adicionou a data limite %s %s
issues.due_date_modified=modificou a data limite para %s ao invés de %s %s
issues.due_date_modified=modificou a data limite de %[2]para %[1]s %[3]s
issues.due_date_remove=removeu a data limite %s %s
issues.due_date_overdue=Em atraso
issues.due_date_invalid=A data limite é inválida ou está fora do intervalo. Por favor, use o formato 'dd/mm/aaaa'.
@ -1487,6 +1506,8 @@ pulls.new=Novo pull request
pulls.view=Ver Pull Request
pulls.compare_changes=Novo pull request
pulls.allow_edits_from_maintainers=Permitir edições de mantenedores
pulls.allow_edits_from_maintainers_desc=Usuários com acesso de gravação para o branch base também podem fazer push para este branch
pulls.allow_edits_from_maintainers_err=Falha na atualização
pulls.compare_changes_desc=Selecione o branch de destino (push) e o branch de origem (pull) para o merge.
pulls.has_viewed_file=Visto
pulls.has_changed_since_last_review=Alterado desde a última revisão
@ -1523,7 +1544,8 @@ pulls.remove_prefix=Remover o prefixo <strong>%s</strong>
pulls.data_broken=Este pull request está quebrado devido a falta de informação do fork.
pulls.files_conflicted=Este pull request tem alterações conflitantes com o branch de destino.
pulls.is_checking=Verificação de conflitos do merge está em andamento. Tente novamente em alguns momentos.
pulls.is_empty=Este branch é igual ao branch de destino.
pulls.is_ancestor=Este branch já está incluído no branch de destino. Não há nada para mesclar.
pulls.is_empty=As alterações neste branch já estão na branch de destino. Este será um commit vazio.
pulls.required_status_check_failed=Algumas verificações necessárias não foram bem sucedidas.
pulls.required_status_check_missing=Estão faltando algumas verificações necessárias.
pulls.required_status_check_administrator=Como administrador, você ainda pode aplicar o merge deste pull request.
@ -1590,8 +1612,20 @@ pulls.merge_instruction_hint=`Você também pode ver as <a class="show-instructi
pulls.merge_instruction_step1_desc=No repositório do seu projeto, crie um novo branch e teste as alterações.
pulls.merge_instruction_step2_desc=Faça merge das alterações e atualize no Gitea.
pulls.auto_merge_button_when_succeed=(Quando a verificação for bem-sucedida)
pulls.auto_merge_when_succeed=Mesclar automaticamente quando todas as verificações forem bem sucedidas
pulls.auto_merge_newly_scheduled=O merge do pull request foi agendado para quando todas as verificações forem bem-sucedidas.
pulls.auto_merge_has_pending_schedule=%[1]s agendou este pull request para merge automático quando todas as verificações tiverem sucesso %[2]s.
pulls.auto_merge_cancel_schedule=Cancelar merge automático
pulls.auto_merge_not_scheduled=Este pull request não está programado para ser automaticamente mesclado.
pulls.auto_merge_canceled_schedule=O merge automático foi cancelado para este pull request.
pulls.auto_merge_newly_scheduled_comment=`agendou este pull request para merge automático quando todas as verificações tiverem sucesso %[1]s`
pulls.auto_merge_canceled_schedule_comment=`cancelou o merge automático deste pull request quando todos as verificações tiverem sucesso %[1]s`
pulls.delete.title=Excluir este pull request?
pulls.delete.text=Você realmente deseja excluir este pull request? (Isto irá remover permanentemente todo o conteúdo. Considere fechá-la em vez disso, se você pretende mantê-la arquivado)
milestones.new=Novo marco
milestones.closed=Fechado %s
@ -1762,10 +1796,6 @@ settings.mirror_settings.push_mirror.remote_url=URL do repositório do Git remot
settings.mirror_settings.push_mirror.add=Adicionar Espelho de Push
settings.sync_mirror=Sincronizar agora
settings.mirror_sync_in_progress=Sincronização do espelhamento está em andamento. Verifique novamente em um minuto.
settings.email_notifications.enable=Habilitar notificações de e-mail
settings.email_notifications.onmention=Somente e-mail com menção
settings.email_notifications.disable=Desabilitar notificações de e-mail
settings.email_notifications.submit=Atualizar preferências de e-mail
settings.site=Site
settings.update_settings=Atualizar configurações
settings.branches.update_default_branch=Atualizar Branch Padrão
@ -1787,6 +1817,9 @@ settings.tracker_url_format_error=O formato da URL do issue tracker externo não
settings.tracker_issue_style=Formato de número do issue tracker externo
settings.tracker_issue_style.numeric=Numérico
settings.tracker_issue_style.alphanumeric=Alfanumérico
settings.tracker_issue_style.regexp=Expressão Regular
settings.tracker_issue_style.regexp_pattern=Padrão de expressão regular
settings.tracker_issue_style.regexp_pattern_desc=O primeiro grupo capturado será usado no lugar de <code>{index}</code>.
settings.tracker_url_format_desc=Use os espaços reservados <code>{user}</code>, <code>{repo}</code> e <code>{index}</code> para o nome de usuário, nome do repositório e o índice de problemas.
settings.enable_timetracker=Habilitar Cronômetro
settings.allow_only_contributors_to_track_time=Permitir que apenas os colaboradores acompanhem o contador de tempo
@ -1868,6 +1901,7 @@ settings.confirm_delete=Excluir repositório
settings.add_collaborator=Adicionar colaborador
settings.add_collaborator_success=O colaborador foi adicionado.
settings.add_collaborator_inactive_user=Não é possível adicionar um usuário inativo como colaborador.
settings.add_collaborator_owner=Não é possível adicionar um proprietário como um colaborador.
settings.add_collaborator_duplicate=O colaborador já está adicionado a este repositório.
settings.delete_collaborator=Remover
settings.collaborator_deletion=Remover colaborador
@ -1926,6 +1960,8 @@ settings.event_delete=Excluir
settings.event_delete_desc=Branch ou tag deletado.
settings.event_fork=Fork
settings.event_fork_desc=Feito fork do repositório.
settings.event_wiki=Wiki
settings.event_wiki_desc=Página da wiki criada, renomeada, editada ou excluída.
settings.event_release=Versão
settings.event_release_desc=Versão publicada, atualizada ou excluída em um repositório.
settings.event_push=Push
@ -2262,6 +2298,8 @@ topic.done=Feito
topic.count_prompt=Você não pode selecionar mais de 25 tópicos
topic.format_prompt=Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
find_file.go_to_file=Ir para arquivo
find_file.no_matching=Nenhum arquivo correspondente encontrado
error.csv.too_large=Não é possível renderizar este arquivo porque ele é muito grande.
error.csv.unexpected=Não é possível renderizar este arquivo porque ele contém um caractere inesperado na linha %d e coluna %d.
@ -2403,6 +2441,7 @@ dashboard.new_version_hint=Gitea %s está disponível, você está executando %s
dashboard.statistic=Resumo
dashboard.operations=Operações de manutenção
dashboard.system_status=Status do sistema
dashboard.statistic_info=O banco de dados do Gitea contém <b>%d</b> usuários, <b>%d</b> organizações, <b>%d</b> chaves públicas, <b>%d</b> repositórios, <b>%d</b> observadores, <b>%d</b> favoritos, ~<b>%d</b> ações, <b>%d</b> acessos, <b>%d</b> issues, <b>%d</b> comentários, <b>%d</b> contas sociais, <b>%d</b> seguidores, <b>%d</b> espelhos, <b>%d</b> versões, <b>%d</b> fontes de autenticação, <b>%d</b> webhooks, <b>%d</b> marcos, <b>%d</b> etiquetas, <b>%d</b> tarefas hook, <b>%d</b> equipes, <b>%d</b> tarefas de atualização, <b>%d</b> anexos.
dashboard.operation_name=Nome da operação
dashboard.operation_switch=Trocar
dashboard.operation_run=Executar
@ -2511,6 +2550,8 @@ users.delete_account=Excluir conta de usuário
users.cannot_delete_self=Você não pode excluir você mesmo
users.still_own_repo=Este usuário ainda possui um ou mais repositórios. Exclua ou transfira esses repositórios primeiro.
users.still_has_org=Este usuário é membro de uma organização. Remova o usuário de qualquer organização primeiro.
users.purge=Eliminar usuário
users.purge_help=Exclua forçosamente o usuário e quaisquer repositórios, organizações e pacotes pertencentes ao usuário. Todos os comentários também serão excluídos.
users.still_own_packages=Este usuário ainda possui um ou mais pacotes. Exclua esses pacotes primeiro.
users.deletion_success=A conta de usuário foi excluída.
users.reset_2fa=Reinicializar 2FA
@ -2609,6 +2650,8 @@ auths.use_paged_search=Use a pesquisa paginada
auths.search_page_size=Tamanho da página
auths.filter=Filtro de usuário
auths.admin_filter=Filtro de administrador
auths.restricted_filter=Filtro de restrição
auths.restricted_filter_helper=Deixe em branco para não definir nenhum usuário como restrito. Use um asterisco ('*') para definir todos os usuários que não correspondem ao Filtro de administrador como restritos.
auths.group_attribute_list_users=Atributo do Grupo que Contém a Lista de Usuários
auths.enable_ldap_groups=Habilitar grupos do LDAP
auths.ms_ad_sa=Atributos de pesquisa do MS AD
@ -2753,11 +2796,13 @@ config.queue_length=Tamanho da fila
config.deliver_timeout=Intervalo de entrega
config.skip_tls_verify=Ignorar verificação de TLS
config.mailer_config=Configuração SMTP para envio de e-mail
config.mailer_config=Configuração de Envio de E-mail
config.mailer_enabled=Habilitado
config.mailer_disable_helo=Desabilitar HELO
config.mailer_enable_helo=Ativar HELO
config.mailer_name=Nome
config.mailer_host=Servidor
config.mailer_protocol=Protocolo
config.mailer_smtp_addr=Addr SMTP
config.mailer_smtp_port=Porta SMTP
config.mailer_user=Usuário
config.mailer_use_sendmail=Usar o Sendmail
config.mailer_sendmail_path=Caminho do Sendmail
@ -2815,6 +2860,7 @@ config.access_log_template=Modelo
config.xorm_log_mode=Modo log XORM
config.xorm_log_sql=Log SQL
monitor.cron=Tarefas cron
monitor.name=Nome
monitor.schedule=Cronograma
@ -2847,6 +2893,7 @@ monitor.queue.nopool.title=Nenhum conjunto de executores
monitor.queue.nopool.desc=Essa fila agrupa outras filas e não possui um conjunto de executores.
monitor.queue.wrapped.desc=Uma fila agrupada envolve uma fila inicial lenta, armazenando as solicitações da fila em um canal. Ela não possui um conjunto de executores em si.
monitor.queue.persistable-channel.desc=Um canal persistente envolve duas filas, uma fila de canais que tem seu próprio conjunto de executores e uma fila de nível para solicitações persistentes de encerramentos anteriores. Ela não tem um conjunto de executores em si.
monitor.queue.flush=Liberar executor
monitor.queue.pool.timeout=Tempo de espera
monitor.queue.pool.addworkers.title=Adicionar executores
monitor.queue.pool.addworkers.submit=Adicionar executores
@ -2977,6 +3024,9 @@ pin=Fixar notificação
mark_as_read=Marcar como lida
mark_as_unread=Marcar como não lida
mark_all_as_read=Marcar todas como lidas
subscriptions=Inscrições
watching=Observando
no_subscriptions=Nenhuma inscrição
[gpg]
default_key=Assinado com a chave padrão
@ -2999,6 +3049,7 @@ title=Pacotes
desc=Gerenciar pacotes do repositório.
empty=Não há pacotes ainda.
empty.documentation=Para obter mais informações sobre o registro de pacote, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/overview">a documentação</a>.
empty.repo=Você enviou um pacote, mas ele não está aqui? Vá para <a href="%[1]s">configurações do pacote</a> e vincule-o a este repositório.
filter.type=Tipo
filter.type.all=Todos
filter.no_result=Seu filtro não produziu resultados.
@ -3035,6 +3086,7 @@ container.details.platform=Plataforma
container.details.repository_site=Site do Repositório
container.details.documentation_site=Site da Documentação
container.pull=Puxe a imagem pela linha de comando:
container.digest=Digest:
container.documentation=Para obter mais informações sobre o registro de Container, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/container/">a documentação</a>.
container.multi_arch=S.O. / Arquitetura
container.layers=Camadas da Imagem
@ -3064,6 +3116,10 @@ npm.dependencies.development=Dependências de Desenvolvimento
npm.dependencies.peer=Dependências Peer
npm.dependencies.optional=Dependências Opcionais
npm.details.tag=Tag
pub.install=Para instalar o pacote usando Dart, execute o seguinte comando:
pub.documentation=Para obter mais informações sobre o registro Pub, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">a documentação</a>.
pub.details.repository_site=Site do Repositório
pub.details.documentation_site=Site da Documentação
pypi.requires=Requer Python
pypi.install=Para instalar o pacote usando pip, execute o seguinte comando:
pypi.documentation=Para obter mais informações sobre o registro PyPI, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">a documentação</a>.
@ -3074,6 +3130,8 @@ rubygems.dependencies.development=Dependências de Desenvolvimento
rubygems.required.ruby=Requer o Ruby versão
rubygems.required.rubygems=Requer o RubyGem versão
rubygems.documentation=Para obter mais informações sobre o registro do RubyGems, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">a documentação</a>.
vagrant.install=Para adicionar uma Vagrant box, execute o seguinte comando:
vagrant.documentation=Para obter mais informações sobre o registro do Vagrant, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">a documentação</a>.
settings.link=Vincular este pacote a um repositório
settings.link.description=Se você vincular um pacote a um repositório, o pacote será listado na lista de pacotes do repositório.
settings.link.select=Selecionar Repositório

View File

@ -9,7 +9,6 @@ sign_out=Terminar sessão
sign_up=Fazer inscrição
link_account=Vincular conta
register=Inscrição
website=Sítio web
version=Versão
powered_by=Implementado com %s
page=Página
@ -47,7 +46,6 @@ webauthn_error_unable_to_process=O servidor não conseguiu processar o seu pedid
webauthn_error_duplicated=A chave de segurança não é permitida neste pedido. Certifique-se de que a chave não está já registada.
webauthn_error_empty=Você tem que definir um nome para esta chave.
webauthn_error_timeout=O tempo limite foi atingido antes que a sua chave pudesse ser lida. Recarregue esta página e tente novamente.
webauthn_u2f_deprecated=A chave: '%s' autentica usando o processo U2F, mas este foi descontinuado. Você deveria registar novamente esta chave e remover o registo antigo.
webauthn_reload=Recarregar
repository=Repositório
@ -108,6 +106,10 @@ never=Nunca
rss_feed=Fonte RSS
[filter]
string.asc=A - Z
string.desc=Z - A
[error]
occurred=Ocorreu um erro
report_message=Se tiver certeza de que se trata de um erro do Gitea, procure, por favor, questões relacionadas no <a href="https://github.com/go-gitea/gitea/issues">GitHub</a> ou abra uma nova questão, se necessário.
@ -148,7 +150,7 @@ sqlite_helper=Localização do ficheiro da base de dados em SQLite3.<br>Insira u
reinstall_error=Está a tentar instalar numa base de dados do Gitea já existente
reinstall_confirm_message=Reinstalar com uma base de dados do Gitea já existente pode causar múltiplos problemas. Na maioria dos casos deve usar o seu "app.ini" existente para correr o Gitea. Se souber o que está a fazer, confirme o seguinte:
reinstall_confirm_check_1=Os dados encriptados pela chave secreta (SECRET_KEY) no ficheiro app.ini poderão ser perdidos: utilizadores poderão não ser capazes de iniciar a sessão com autenticação em dois passos (2FA) ou com chaves de utilização única (OTP) e as réplicas poderão deixar de funcionar em condições. Ao marcar esta opção estará a confirmar que o ficheiro app.ini vigente contém a SECRET_KEY certa.
reinstall_confirm_check_2=Os repositórios e as configurações poderão ter de voltar a ser sincronizados. Ao marcar esta opção estará a confirmar que vai voltar a sincronizar os automatismos para os repositórios e o ficheiro authorized_keys manualmente. Estará também a confirmar que vai assegurar que as configurações do repositório e das réplicas estão em condições.
reinstall_confirm_check_2=Os repositórios e as configurações poderão ter de voltar a ser sincronizados. Ao marcar esta opção estará a confirmar que vai voltar a sincronizar manualmente os automatismos para os repositórios e o ficheiro authorized_keys. Estará também a confirmar que vai assegurar que as configurações do repositório e das réplicas estão em condições.
reinstall_confirm_check_3=Você confirma que tem a certeza absoluta de que este Gitea está a correr com a localização certa do ficheiro app.ini e que tem a certeza de que tem de voltar a instalar. Você confirma que tomou conhecimento dos riscos acima descritos.
err_empty_db_path=A localização da base de dados SQLite3 não pode estar vazia.
no_admin_and_disable_registration=Não pode desabilitar a auto-inscrição de utilizadores sem criar uma conta de administrador.
@ -180,7 +182,8 @@ log_root_path_helper=Os ficheiros de registo serão escritos nesta pasta.
optional_title=Configurações opcionais
email_title=Configurações de email
smtp_host=Servidor SMTP
smtp_addr=Servidor SMTP
smtp_port=Porto do SMTP
smtp_from=Email do remetente
smtp_from_helper=Endereço de email que o Gitea vai usar. Insira um endereço de email simples ou use o formato "Nome" <email@exemplo.com>.
mailer_user=Nome de utilizador do SMTP
@ -269,8 +272,11 @@ users=Utilizadores
organizations=Organizações
search=Procurar
code=Código
search.type.tooltip=Tipo de pesquisa
search.fuzzy=Aproximada
search.fuzzy.tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
search.match=Fiel
search.match.tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
code_search_unavailable=A pesquisa por código-fonte não está disponível, neste momento. Entre em contacto com o administrador.
repo_no_results=Não foram encontrados quaisquer repositórios correspondentes.
user_no_results=Não foram encontrados quaisquer utilizadores correspondentes.
@ -278,6 +284,9 @@ org_no_results=Não foram encontradas quaisquer organizações correspondentes.
code_no_results=Não foi encontrado qualquer código-fonte correspondente à sua pesquisa.
code_search_results=Resultados da pesquisa para '%s'
code_last_indexed_at=Última indexação %s
relevant_repositories_tooltip=Repositórios que são derivações ou que não têm tópico, nem ícone, nem descrição, estão escondidos.
relevant_repositories=Apenas estão a ser mostrados os repositórios relevantes. <a href="%s">Mostrar resultados não filtrados</a>.
[auth]
create_new_account=Fazer inscrição
@ -407,6 +416,11 @@ repo.transfer.body=Para o aceitar ou rejeitar visite %s, ou ignore-o, simplesmen
repo.collaborator.added.subject=%s adicionou você a %s
repo.collaborator.added.text=Foi adicionado(a) como colaborador(a) do repositório:
team_invite.subject=%[1]s fez-lhe um convite para se juntar à organização %[2]s
team_invite.text_1=%[1]s fez-lhe um convite para se juntar à equipa %[2]s na organização %[3]s.
team_invite.text_2=Clique na ligação seguinte para se juntar à equipa:
team_invite.text_3=Nota: Este convite é dirigido a %[1]s. Se não estava à espera deste convite, pode ignorar este email.
[modal]
yes=Sim
no=Não
@ -482,6 +496,7 @@ user_not_exist=O utilizador não existe.
team_not_exist=A equipa não existe.
last_org_owner=Não pode remover o último utilizador da equipa 'proprietários'. Tem que haver pelo menos um proprietário numa organização.
cannot_add_org_to_team=Uma organização não pode ser adicionada como membro de uma equipa.
duplicate_invite_to_team=O(A) utilizador(a) já tinha sido convidado(a) para ser membro da equipa.
invalid_ssh_key=Não é possível validar a sua chave SSH: %s
invalid_gpg_key=Não é possível validar a sua chave GPG: %s
@ -505,6 +520,7 @@ activity=Trabalho público
followers=Seguidores
starred=Repositórios favoritos
watched=Repositórios sob vigilância
code=Código
projects=Planeamentos
following=Que segue
follow=Seguir
@ -800,6 +816,7 @@ email_notifications.enable=Habilitar notificações por email
email_notifications.onmention=Enviar email somente quando mencionado(a)
email_notifications.disable=Desabilitar notificações por email
email_notifications.submit=Definir preferência do email
email_notifications.andyourown=e as suas próprias notificações
visibility=Visibilidade do utilizador
visibility.public=Pública
@ -862,8 +879,9 @@ default_branch=Ramo principal
default_branch_helper=O ramo principal é o ramo base para pedidos de integração e cometimentos.
mirror_prune=Podar
mirror_prune_desc=Remover referências obsoletas de seguimento remoto
mirror_interval=Intervalo entre sincronizações (as unidades de tempo válidas são 'h', 'm' e 's'). O valor zero desabilita a sincronização automática. (Intervalo mínimo: %s)
mirror_interval=Intervalo entre sincronizações (as unidades de tempo válidas são 'h', 'm' e 's'). O valor zero desabilita a sincronização periódica. (Intervalo mínimo: %s)
mirror_interval_invalid=O intervalo entre sincronizações não é válido.
mirror_sync_on_commit=Sincronizar quando forem enviados cometimentos
mirror_address=Clonar a partir do URL
mirror_address_desc=Coloque, na secção de Autorização, as credenciais que, eventualmente, sejam necessárias.
mirror_address_url_invalid=O URL fornecido é inválido. Tem que codificar adequadamente todos os componentes do URL.
@ -932,7 +950,7 @@ form.name_pattern_not_allowed=O padrão '%s' não é permitido no nome de um rep
need_auth=Autorização
migrate_options=Opções de migração
migrate_service=Serviço de migração
migrate_options_mirror_helper=Este repositório irá ser uma <span class="text blue">réplica</span>
migrate_options_mirror_helper=Este repositório irá ser uma réplica
migrate_options_lfs=Migrar ficheiros LFS
migrate_options_lfs_endpoint.label=Destino LFS
migrate_options_lfs_endpoint.description=A migração irá tentar usar o seu controlo remoto do Git para <a target="_blank" rel="noopener noreferrer" href="%s">determinar o servidor LFS</a>. Também pode especificar um destino personalizado se os dados do repositório LFS forem armazenados noutro lugar.
@ -1034,13 +1052,13 @@ file_view_rendered=Ver resultado processado
file_view_raw=Ver em bruto
file_permalink=Ligação permanente
file_too_large=O ficheiro é demasiado grande para ser apresentado.
bidi_bad_header=`Este ficheiro contém caracteres Unicode Bidireccionais inesperados!`
bidi_bad_description=`Este ficheiro contém caracteres Unicode Bidireccionais inesperados que podem ser processados de forma diferente do que aparece abaixo. Se o uso é intencional e legítimo, pode ignorar este aviso com segurança. Use o botão Revelar para mostrar os caracteres escondidos.`
bidi_bad_description_escaped=`Este ficheiro contém caracteres Unicode Bidireccionais inesperados. Os caracteres escondidos unicode estão revelados abaixo. Use o botão Esconder para mostrar como é que eles são apresentados.`
unicode_header=`Este ficheiro contém caracteres Unicode escondidos!`
unicode_description=`Este ficheiro contém caracteres Unicode escondidos que podem ser processados de forma diferente do que aparece abaixo. Se o uso é intencional e legítimo, pode ignorar este aviso com segurança. Use o botão Revelar para mostrar os caracteres escondidos.`
unicode_description_escaped=`Este ficheiro contém caracteres Unicode escondidos. Os caracteres unicode escondidos estão revelados abaixo. Use o botão Esconder para mostrar como é que eles são apresentados.`
line_unicode=`Esta linha tem caracteres unicode escondidos`
invisible_runes_header=`Este ficheiro contém caracteres Unicode invisíveis!`
invisible_runes_description=`Este ficheiro contém caracteres Unicode invisíveis que podem ser processados de forma diferente do que aparece abaixo. Se o uso é intencional e legítimo, pode ignorar este aviso com segurança. Use o botão Revelar para mostrar os caracteres invisíveis.`
ambiguous_runes_header=`Este ficheiro contém caracteres Unicode ambíguos!`
ambiguous_runes_description=`Este ficheiro contém caracteres Unicode ambíguos que podem ser confundidos com outros da sua configuração regional vigente. Se o uso é intencional e legítimo, pode ignorar este aviso com segurança. Use o botão Revelar para realçar esses caracteres.`
invisible_runes_line=`Esta linha tem caracteres unicode invisíveis`
ambiguous_runes_line=`Esta linha tem caracteres unicode ambíguos`
ambiguous_character=`%[1]c [U+%04[1]X] pode confundir-se com %[2]c [U+%04[2]X]`
escape_control_characters=Revelar
unescape_control_characters=Esconder
@ -1227,6 +1245,8 @@ issues.new.add_reviewer_title=Solicitar revisão
issues.choose.get_started=Começar
issues.choose.blank=Padrão
issues.choose.blank_about=Cria uma questão a partir do modelo padrão.
issues.choose.ignore_invalid_templates=Modelos inválidos foram ignorados
issues.choose.invalid_templates=Foram encontrados %v modelos inválidos
issues.no_ref=Sem ramo ou etiqueta especificados
issues.create=Criar questão
issues.new_label=Novo rótulo
@ -1267,6 +1287,8 @@ issues.filter_milestone=Etapa
issues.filter_milestone_no_select=Todas as etapas
issues.filter_assignee=Encarregado
issues.filter_assginee_no_select=Todos os encarregados
issues.filter_poster=Autor(a)
issues.filter_poster_no_select=Todos os autores
issues.filter_type=Tipo
issues.filter_type.all_issues=Todas as questões
issues.filter_type.assigned_to_you=Atribuídas a si
@ -1304,6 +1326,7 @@ issues.previous=Anterior
issues.next=Seguinte
issues.open_title=Aberta
issues.closed_title=Fechada
issues.draft_title=Rascunho
issues.num_comments=%d comentários
issues.commented_at=`comentou <a href="#%s">%s</a>`
issues.delete_comment_confirm=Tem a certeza que quer eliminar este comentário?
@ -1532,7 +1555,8 @@ pulls.remove_prefix=Remover o prefixo <strong>%s</strong>
pulls.data_broken=Este pedido de integração está danificado devido à falta de informação da derivação.
pulls.files_conflicted=Este pedido de integração contém modificações que entram em conflito com o ramo de destino.
pulls.is_checking=Está em andamento uma verificação de conflitos na integração. Tente novamente daqui a alguns momentos.
pulls.is_empty=Este ramo é igual ao ramo de destino.
pulls.is_ancestor=Este ramo já está incluído no ramo de destino. Não há nada a integrar.
pulls.is_empty=As modificações feitas neste ramo já existem no ramo de destino. Este cometimento ficará vazio.
pulls.required_status_check_failed=Algumas das verificações obrigatórias não foram bem sucedidas.
pulls.required_status_check_missing=Estão faltando algumas verificações necessárias.
pulls.required_status_check_administrator=Uma vez que é administrador, ainda pode realizar a integração deste pedido.
@ -1611,6 +1635,9 @@ pulls.auto_merge_canceled_schedule=A integração automática foi cancelada para
pulls.auto_merge_newly_scheduled_comment=`agendou este pedido de integração para ser executado automaticamente quando todas as verificações forem bem-sucedidas %[1]s`
pulls.auto_merge_canceled_schedule_comment=`cancelou a execução automática deste pedido de integração que iria ocorrer quando todas as verificações fossem bem-sucedidas %[1]s`
pulls.delete.title=Eliminar este pedido de integração?
pulls.delete.text=Tem a certeza que quer eliminar este pedido de integração? Isso irá remover todo o conteúdo permanentemente. Como alternativa considere fechá-lo, se pretender mantê-lo em arquivo.
milestones.new=Nova etapa
milestones.closed=Encerrada %s
milestones.update_ago=Modificada há %s
@ -1750,8 +1777,11 @@ activity.git_stats_deletion_n=%d eliminações
search=Procurar
search.search_repo=Procurar repositório
search.type.tooltip=Tipo de pesquisa
search.fuzzy=Aproximada
search.fuzzy.tooltip=Incluir também os resultados que estejam próximos do termo de pesquisa
search.match=Fiel
search.match.tooltip=Incluir somente os resultados que correspondam rigorosamente ao termo de pesquisa
search.results=Resultados da procura de "%s" em <a href="%s">%s</a>
search.code_no_results=Não foi encontrado qualquer código-fonte correspondente à sua pesquisa.
search.code_search_unavailable=A pesquisa por código-fonte não está disponível, neste momento. Entre em contacto com o administrador.
@ -1768,22 +1798,18 @@ settings.collaboration.undefined=Não definido
settings.hooks=Automatismos web
settings.githooks=Automatismos do Git
settings.basic_settings=Configurações básicas
settings.mirror_settings=Configurações da réplica
settings.mirror_settings=Configuração de réplicas
settings.mirror_settings.docs=Configure o seu repositório para puxar e/ou enviar automaticamente as modificações de/para outro repositório. Ramos, etiquetas e cometimentos serão sincronizados automaticamente. <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/repo-mirror/">Como é que eu faço uma réplica de outro repositório?</a>
settings.mirror_settings.mirrored_repository=Repositório replicado
settings.mirror_settings.direction=Sentido
settings.mirror_settings.direction.pull=Puxada
settings.mirror_settings.direction.push=Envio
settings.mirror_settings.last_update=Última modificação
settings.mirror_settings.push_mirror.none=Não foram configuradas quaisquer réplicas de envio
settings.mirror_settings.push_mirror.none=Não foram configuradas quaiquer réplicas deste repositório
settings.mirror_settings.push_mirror.remote_url=URL do repositório remoto Git
settings.mirror_settings.push_mirror.add=Adicionar réplica de envio
settings.mirror_settings.push_mirror.add=Adicionar réplica deste repositório
settings.sync_mirror=Sincronizar agora
settings.mirror_sync_in_progress=A sincronização da réplica está em andamento. Volte a verificar daqui a um minuto.
settings.email_notifications.enable=Habilitar notificações por email
settings.email_notifications.onmention=Enviar email somente quando mencionado(a)
settings.email_notifications.disable=Desabilitar notificações por email
settings.email_notifications.submit=Definir preferência do email
settings.site=Sítio web
settings.update_settings=Modificar configurações
settings.branches.update_default_branch=Definir o ramo principal
@ -1889,6 +1915,7 @@ settings.confirm_delete=Eliminar repositório
settings.add_collaborator=Adicionar colaborador
settings.add_collaborator_success=O colaborador foi adicionado.
settings.add_collaborator_inactive_user=Não é possível adicionar um utilizador desabilitado como colaborador.
settings.add_collaborator_owner=Não é possível adicionar um proprietário como um colaborador.
settings.add_collaborator_duplicate=O colaborador já tinha sido adicionado a este repositório.
settings.delete_collaborator=Remover
settings.collaborator_deletion=Remover colaborador
@ -1947,6 +1974,8 @@ settings.event_delete=Eliminar
settings.event_delete_desc=Ramo ou etiqueta eliminados.
settings.event_fork=Derivar
settings.event_fork_desc=Feita a derivação do repositório.
settings.event_wiki=Wiki
settings.event_wiki_desc=Página do wiki criada, renomeada, editada ou eliminada.
settings.event_release=Lançamento
settings.event_release_desc=Lançamento publicado, modificado ou eliminado num repositório.
settings.event_push=Enviar
@ -2298,6 +2327,7 @@ create_org=Criar organização
repo_updated=Modificado
people=Pessoas
teams=Equipas
code=Código
lower_members=membros
lower_repositories=repositórios
create_new_team=Nova equipa
@ -2382,6 +2412,8 @@ teams.members=Membros da equipa
teams.update_settings=Modificar configurações
teams.delete_team=Eliminar equipa
teams.add_team_member=Adicionar membro da equipa
teams.invite_team_member=Convidar para %s
teams.invite_team_member.list=Convites pendentes
teams.delete_team_title=Eliminar equipa
teams.delete_team_desc=Eliminar uma equipa revoga o acesso dos seus membros ao repositório. Quer continuar?
teams.delete_team_success=A equipa foi eliminada.
@ -2406,6 +2438,9 @@ teams.all_repositories_helper=A equipa tem acesso a todos os repositórios. Esco
teams.all_repositories_read_permission_desc=Esta equipa atribui o acesso de <strong>leitura</strong> a <strong>todos os repositórios</strong>: os seus membros podem ver e clonar os repositórios.
teams.all_repositories_write_permission_desc=Esta equipa atribui o acesso de <strong>escrita</strong> a <strong>todos os repositórios</strong>: os seus membros podem ler de, e enviar para os repositórios.
teams.all_repositories_admin_permission_desc=Esta equipa atribui o acesso de <strong>administração</strong> a <strong>todos os repositórios</strong>: os seus membros podem ler de, enviar para, e adicionar colaboradores aos repositórios.
teams.invite.title=Foi-lhe feito um convite para se juntar à equipa <strong>%s</strong> na organização<strong>%s</strong>.
teams.invite.by=Convidado(a) por %s
teams.invite.description=Clique no botão abaixo para se juntar à equipa.
[admin]
dashboard=Painel de controlo
@ -2536,6 +2571,8 @@ users.delete_account=Eliminar conta de utilizador
users.cannot_delete_self=Não se pode eliminar a si próprio
users.still_own_repo=Este utilizador ainda possui um ou mais repositórios. Elimine ou transfira esses repositórios primeiro.
users.still_has_org=Este utilizador é membro de uma organização. Remova, primeiro, o utilizador de todas as organizações.
users.purge=Eliminar utilizador
users.purge_help=Eliminar o utilizador à força, juntamente com todos os seus repositórios, organizações e pacotes. Também serão eliminados todos os seus comentários.
users.still_own_packages=Este utilizador ainda possui um ou mais pacotes. Elimine esses pacotes primeiro.
users.deletion_success=A conta de utilizador foi eliminada.
users.reset_2fa=Reinicializar a autenticação em dois passos
@ -2792,16 +2829,19 @@ config.queue_length=Tamanho da fila
config.deliver_timeout=Prazo da entrega
config.skip_tls_verify=Ignorar validação TLS
config.mailer_config=Configuração da aplicação SMTP
config.mailer_config=Configuração de envio de email
config.mailer_enabled=Habilitado
config.mailer_disable_helo=Desabilitar HELO
config.mailer_enable_helo=Habilitar HELO
config.mailer_name=Nome
config.mailer_host=Servidor
config.mailer_protocol=Protocolo
config.mailer_smtp_addr=Endereço SMTP
config.mailer_smtp_port=Porto do SMTP
config.mailer_user=Utilizador
config.mailer_use_sendmail=Usar o sendmail
config.mailer_sendmail_path=Caminho do sendmail
config.mailer_sendmail_args=Argumentos extras para o sendmail
config.mailer_sendmail_timeout=Tempo limite do Sendmail
config.mailer_use_dummy=Fictício
config.test_email_placeholder=Email (ex.: teste@exemplo.com)
config.send_test_mail=Enviar email de teste
config.test_mail_failed=Falhou o envio de um email de teste para '%s': %v
@ -2837,7 +2877,7 @@ config.git_max_diff_line_characters=Número máximos de caracteres diff (por lin
config.git_max_diff_files=Número máximo de ficheiros diff a serem apresentados
config.git_gc_args=Argumentos da recolha de lixo
config.git_migrate_timeout=Prazo da migração
config.git_mirror_timeout=Tempo limite da réplica
config.git_mirror_timeout=Prazo para sincronização da réplica
config.git_clone_timeout=Prazo da operação de clonagem
config.git_pull_timeout=Prazo da operação de puxar
config.git_gc_timeout=Prazo da operação de recolha de lixo
@ -2854,6 +2894,9 @@ config.access_log_template=Modelo
config.xorm_log_mode=Modo de registo XORM
config.xorm_log_sql=Registo do SQL
config.get_setting_failed=Falha ao obter a configuração %s
config.set_setting_failed=Falha ao definir a configuração %s
monitor.cron=Tarefas Cron
monitor.name=Nome
monitor.schedule=Programação
@ -2884,20 +2927,21 @@ monitor.queue.review_add=Rever/Adicionar trabalhadores
monitor.queue.configuration=Configuração inicial
monitor.queue.nopool.title=Sem agregado de trabalhadores
monitor.queue.nopool.desc=Esta fila engloba outras filas e ela própria não tem um agregado de trabalhadores.
monitor.queue.wrapped.desc=Uma fila envolvente envolve uma fila de início lento, armazenando pedidos em fila num canal. Ela própria não tem um conjunto de tarefas.
monitor.queue.wrapped.desc=Uma fila envolvente envolve uma fila de início lento, armazenando pedidos em fila num canal. Ela própria não tem um agregado de trabalhadores.
monitor.queue.persistable-channel.desc=Um canal persistente engloba duas filas, uma fila de canal que tem o seu próprio agregado de trabalhadores e uma fila de nível para pedidos persistentes de encerramentos anteriores. Ele próprio não tem um agregado de trabalhadores.
monitor.queue.flush=Trabalhador descartável
monitor.queue.pool.timeout=Prazo
monitor.queue.pool.addworkers.title=Adicionar trabalhadores
monitor.queue.pool.addworkers.submit=Adicionar trabalhadores
monitor.queue.pool.addworkers.desc=Adicione trabalhadores a este agregado com, ou sem, prazo. Se definir um prazo, estes trabalhadores serão removidos do agregado, após o fim do prazo.
monitor.queue.pool.addworkers.desc=Adicione trabalhadores a este agregado com, ou sem, um prazo. Se definir um prazo, estes trabalhadores serão removidos do agregado, quando terminar esse prazo.
monitor.queue.pool.addworkers.numberworkers.placeholder=Número de trabalhadores
monitor.queue.pool.addworkers.timeout.placeholder=Insira 0 para indicar que não tem prazo
monitor.queue.pool.addworkers.mustnumbergreaterzero=O número de trabalhadores a adicionar deve ser maior que zero
monitor.queue.pool.addworkers.mustnumbergreaterzero=O número de trabalhadores a adicionar deve ser maior do que zero
monitor.queue.pool.addworkers.musttimeoutduration=O prazo tem que ser uma duração no formato golang (ex.: 5m) ou 0
monitor.queue.pool.flush.title=Despejar fila
monitor.queue.pool.flush.desc=O despejo irá adicionar um trabalhador que termina assim que a fila esteja vazia ou o prazo acabe.
monitor.queue.pool.flush.submit=Adicionar trabalhador de despejo
monitor.queue.pool.flush.added=Foi adicionado um trabalhador de despejo para %[1]s
monitor.queue.pool.flush.desc='Descartável' irá adicionar um trabalhador que termina assim que a fila esteja vazia ou o prazo acabe.
monitor.queue.pool.flush.submit=Adicionar trabalhador descartável
monitor.queue.pool.flush.added=Foi adicionado um trabalhador descartável para %[1]s
monitor.queue.pool.pause.title=Pausar fila
monitor.queue.pool.pause.desc=Pausar uma fila impede que ela processe dados
monitor.queue.pool.pause.submit=Pausar fila
@ -2906,11 +2950,11 @@ monitor.queue.pool.resume.desc=Definir esta fila para continuar o trabalho
monitor.queue.pool.resume.submit=Retomar fila
monitor.queue.settings.title=Configurações do agregado
monitor.queue.settings.desc=Os agregados crescem dinamicamente com um impulso em resposta à ocorrência de bloqueios na sua fila de trabalhadores. Essas mudanças não irão influenciar os grupos de trabalhadores correntes.
monitor.queue.settings.desc=Os agregados crescem dinamicamente com um aumento em resposta à ocorrência de bloqueios na sua fila de trabalhadores. Essas mudanças não irão influenciar os grupos de trabalhadores correntes.
monitor.queue.settings.timeout=Prazo do impulso
monitor.queue.settings.timeout.placeholder=De momento %[1]v
monitor.queue.settings.timeout.error=O prazo tem que ser uma duração no formato golang (ex: 5m) ou 0
monitor.queue.settings.numberworkers=Número de trabalhadores do impulso
monitor.queue.settings.numberworkers=Aumentar o número de trabalhadores
monitor.queue.settings.numberworkers.placeholder=De momento %[1]d
monitor.queue.settings.numberworkers.error=O número de trabalhadores a adicionar tem que ser maior ou igual a zero
monitor.queue.settings.maxnumberworkers=Número máximo de trabalhadores
@ -2922,14 +2966,14 @@ monitor.queue.settings.blocktimeout=Prazo do bloco corrente
monitor.queue.settings.blocktimeout.value=%[1]v
monitor.queue.pool.none=Esta fila não tem um agregado
monitor.queue.pool.added=Foi adicionado um agregado de trabalhadores
monitor.queue.pool.added=Foi adicionado um grupo de trabalhadores
monitor.queue.pool.max_changed=O número máximo de trabalhadores mudou
monitor.queue.pool.workers.title=Grupos de trabalhadores operantes
monitor.queue.pool.workers.none=Não há agregados de trabalhadores.
monitor.queue.pool.cancel=Desligar agregado de trabalhadores
monitor.queue.pool.cancelling=O agregado de trabalhadores está a encerrar
monitor.queue.pool.cancel_notices=Desligar este agregado de %s trabalhadores?
monitor.queue.pool.cancel_desc=Deixar uma fila sem quaisquer agregados de trabalhadores pode fazer com que os pedidos bloqueiem indefinidamente.
monitor.queue.pool.workers.none=Não há grupos de trabalhadores.
monitor.queue.pool.cancel=Desligar o grupo de trabalhadores
monitor.queue.pool.cancelling=O grupo de trabalhadores está a encerrar
monitor.queue.pool.cancel_notices=Desligar este grupo de %s trabalhadores?
monitor.queue.pool.cancel_desc=Deixar uma fila sem quaisquer grupos de trabalhadores pode fazer com que os pedidos sejam bloqueados indefinidamente.
notices.system_notice_list=Notificações do sistema
notices.view_detail_header=Ver os detalhes da notificação
@ -3016,6 +3060,9 @@ pin=Fixar notificação
mark_as_read=Marcar como lida
mark_as_unread=Marcar como não lida
mark_all_as_read=Marcar todas como lidas
subscriptions=Subscrições
watching=Vigiando
no_subscriptions=Sem subscrições
[gpg]
default_key=Assinado com a chave padrão
@ -3038,6 +3085,7 @@ title=Pacotes
desc=Gerir pacotes do repositório.
empty=Ainda não há pacotes.
empty.documentation=Para obter mais informação sobre o registo de pacotes, veja <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/overview">a documentação</a>.
empty.repo=Carregou um pacote mas este não é apresentado aqui? Vá às <a href="%[1]s">configurações do pacote</a> e ligue-o a este repositório.
filter.type=Tipo
filter.type.all=Todos
filter.no_result=O seu filtro não produziu quaisquer resultados.
@ -3074,6 +3122,7 @@ container.details.platform=Plataforma
container.details.repository_site=Página web do repositório
container.details.documentation_site=Página web da documentação
container.pull=Puxar a imagem usando a linha de comandos:
container.digest=Resumo:
container.documentation=Para obter mais informações sobre o registo do Container, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/container/">a documentação</a>.
container.multi_arch=S.O. / Arquit.
container.layers=Camadas de imagem
@ -3103,6 +3152,10 @@ npm.dependencies.development=Dependências de desenvolvimento
npm.dependencies.peer=Dependências de pares
npm.dependencies.optional=Dependências opcionais
npm.details.tag=Etiqueta
pub.install=Para instalar o pacote usando o Dart, execute o seguinte comando:
pub.documentation=Para obter mais informações sobre o registo Pub, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pub/">a documentação</a>.
pub.details.repository_site=Página web do repositório
pub.details.documentation_site=Página web da documentação
pypi.requires=Requer Python
pypi.install=Para instalar o pacote usando o pip, execute o seguinte comando:
pypi.documentation=Para obter mais informações sobre o registo do PyPI, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">a documentação</a>.
@ -3110,7 +3163,11 @@ rubygems.install=Para instalar o pacote usando o gem, execute o seguinte comando
rubygems.install2=ou adicione-o ao ficheiro <code>Gemfile</code>:
rubygems.dependencies.runtime=Dependências do tempo de execução (runtime)
rubygems.dependencies.development=Dependências de desenvolvimento
rubygems.required.ruby=Requer a versão do Ruby
rubygems.required.rubygems=Requer a versão do RubyGem
rubygems.documentation=Para obter mais informações sobre o registo do RubyGems, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">a documentação</a>.
vagrant.install=Para adicionar uma máquina virtual Vagrant, execute o seguinte comando:
vagrant.documentation=Para obter mais informações sobre o registo do Vagrant, consulte <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">a documentação</a>.
settings.link=Vincular este pacote a um repositório
settings.link.description=Se você vincular um pacote a um repositório, o pacote será listado na lista de pacotes do repositório.
settings.link.select=Escolha o repositório

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